1
엔티티의 중첩/하위 컬렉션을 EF에 포함시킬 때이를 필터링하는 방법은 무엇입니까?Entity Framework (버전 1 또는 4)에서 필터링 된 중첩/하위 컬렉션
예 : 표준 고객 주문 연합을 갖자. 모든 고객을로드하고 마지막 세 주문 만 주문 컬렉션에 포함하는 방법은 무엇입니까?
EF 용 L2S의 AssociateWith 기능이 있습니까?
엔티티의 중첩/하위 컬렉션을 EF에 포함시킬 때이를 필터링하는 방법은 무엇입니까?Entity Framework (버전 1 또는 4)에서 필터링 된 중첩/하위 컬렉션
예 : 표준 고객 주문 연합을 갖자. 모든 고객을로드하고 마지막 세 주문 만 주문 컬렉션에 포함하는 방법은 무엇입니까?
EF 용 L2S의 AssociateWith 기능이 있습니까?
아니요, 아쉽게도 Entity Framework의 개체 서비스 API는 조건에 따라 연결된 엔터티를 선택적으로로드하는 방법을 제공하지 않습니다.
context.Customers.Select(c => new
{
Customer = c,
LastOrders = c.Orders
.OrderByDescending(o => o.CreatedDate)
.Take(3)
.ToArray()
}
관련 리소스 :이 문제를 해결하기
한 가지 방법은 쿼리의 결과를 투사 할 때 관련 개체를 필터링하는 것입니다
추가'.ToList() .Select (c => c.Customer)'그리고 원하는 것을 얻었습니다. 모든 고객은 'Orders' 엔티티 컬렉션에서 마지막 주문을 3 번만 갖게됩니다. 단, 동일한 컨텍스트에서 이전에 주문을로드하지 않은 경우에만 가능합니다. 추가적인 유형을 정의하고 익명의 클래스를 사용할 필요가 없습니다. – LukLed