엔티티 프레임 워크와 POCO 객체로 작업 중이므로 LazyLoading이 켜져 있습니다.엔티티 프레임 워크 4 지연로드 엔티티 세트
개체와 관련된 모음으로 작업하고있는 경우 모음이 완전히로드 된시기와 상황은 언제입니까?
나는이
Order.OrderItems.Count()
Order.OrderItems.Any(x => x.StatusId = aValue)
Order.OrderItems.All(x => x.StatusId = aValue)
의 각을 호출 할 경우 이들의이 OrderItems에 모음의 전체로드를 보장합니까?
를 조회 한 후
context.LoadProperty(order, “OrderItems”)
를 조회하거나 코드의 점에서 우리는
Order.Include(“OrderItems”)
를 호출하지만 때로는이 항상 발생하지 않습니다 깨달았다 - 나는 알고 싶다 이 결과는 발생하지 않습니다. 나는 일반적으로 당신이 그들의 결과를 통해, 또는 추가
foreach
ToList
이
ToArray
이 등이이에 어떻게 Linq에있다 할 때까지 데이터를로드하지 마십시오
감사합니다. @Merlyn Morgan-Graham. 'Linq가 부울 값이나 정수를 반환해야하는 경우 즉시 쿼리를 실행할 가능성이 있음을 명확히 할 수 있습니까?' http://msmvps.com/blogs/jon_skeet/archive/2010/12/28/reimplementing-linq-to-objects-part-10-any-and-all.aspx를 살펴본 결과 Any 및 모두 실제로는 커버 아래의 결과를 반복하므로 컬렉션을 자동으로 실현합니다. 따라서 Any/All이 외부 쿼리에서 컬렉션을로드하는 것처럼 보입니다. –
@TimBrown : "Any 및 All이 실제로 커버 아래의 결과를 반복하므로 컬렉션을 자동으로 인식합니다." 나는 이것이 정확히 내가 말한 것, 바로 weasel-speak ("아마도"= ** 항상 **, LOL)라고 생각합니다. 나는 단지 그 문장을 정리했으면 좋겠다. –
또한, 중첩 된 쿼리에 의해, 나는'Order.OrderItems.Where (i => i.Rebates.Any())'와 같은 것을 의미한다 - Rebates.Any()는 외부 쿼리가 평가. –