B
간단한 탐색 속성이있는 엔티티가 A
입니다. 주어진 인스턴스 인 A
에 대해 B
과 관련된 몇 천 개의 인스턴스가 예상됩니다. , 나는 그런EF는 EntityCollection을 빌드하지만 IQueryable을 원한다고 생각합니다.
var statY = A.B.Where(o => o.Property == "Y");
var statZ = A.B.Where(o => o.CreateDate > DateTime.Now.AddDays(-1));
로 집계 작업을하고있는 만 관심, 대신
foreach(var x in A.B) { ... }
:
내가 뭔가를 호출 사례는 없다 EF는 B에 대한 수천 개의 참조를 인스턴스화하고 이러한 연산을 메모리에서 수행합니다. 탐색 속성에서 EntityCollection을 사용하기 때문입니다. 대신 가능하면 SQL 수준에서 이러한 쿼리를 수행하고 싶습니다.
내 현재는 내비게이션 속성이 올바른 방법이 아닐 수 있습니다. 나는 EF에 붙어 있지 않기 때문에 다른 접근법에 대해서 열려 있습니다. 그러나 가능하다면 EF 하에서 이것을 할 올바른 방법을 아는 것이 매우 흥미로울 것입니다.
(내가 EF4을 사용하고 있습니다.)
이 작업을 수행 할 때 A.Where (a => a.B.CreateSourceQuery(). Any (o => o.Property == "Y")); 또는이 경우 linq JOIN 권장입니까? –