Entity Framework Core Tutorial 투사
소개
프로젝션은 전체 엔터티를 해당 속성의 하위 집합과 함께 C # 클래스로 변환하는 방법입니다. 모델의 엔티티 집합에서 선택하지만 다른 유형의 결과를 반환하는 쿼리를 만드는 데 사용됩니다.
- 프로젝션 쿼리는 특정 필드 만 데이터베이스에서 검색되기 때문에 응용 프로그램의 효율성을 향상시킵니다.
- 데이터가 있으면 출력하기 전에 데이터를 원하는대로 프로젝트 또는 필터 할 수 있습니다.
- 투영을 위해
Select()
LINQ 문을 사용할 수 있습니다.
익명 유형
익명 형식을 사용하면 새 형식을 초기화하지 않고도 쉽게 만들 수 있습니다. 투영 쿼리는 데이터를이 익명 유형으로로드합니다.
var customer = context.Customers .Select(cust => new { Id = cust.CustomerId, FullName = cust.FirstName + cust.LastName, InvoiceList = cust.Invoices }).ToList();
이 예제에서 고객 데이터는 Id
, FullName
및 InvoiceList
가 포함 된 익명 형식으로 투영됩니다.
콘크리트 형
투영 쿼리를 작성하여 구체적인 유형을 반환 할 수도 있습니다. 이렇게하려면 먼저 사용자 정의 클래스를 만들어야하며 테이블에서 반환하려는 모든 속성이 있어야합니다.
public class CustomerData { public int Id { get; set; } public string FullName { get; set; } public List<Invoice> InvoiceList { get; set; } }
이제 쿼리에서 select 절을 변경하여 결과를 CustomerData에 매핑합니다.
List<CustomerData> customers = context.Customers
.Select(cust => new CustomerData
{
Id = cust.CustomerId,
FullName = cust.FirstName + cust.LastName,
InvoiceList = cust.Invoices
}).ToList();