2011-08-24 4 views
3

엔티티 (EF4) xxxx Linq to Entities 하위 쿼리

select Header.Id, 
(select count(*) 
    from Detail 
    where Header.Id = Detail.headerId) detailcount 
from Header 

linq이 쿼리를 할 노력하고있어. EF 허용되지 않기 때문에 작동하지 않습니다.
(헤더 및 세부 EntityObjects)

from h in context.Header 
select new Header 
    { 
     Id = h.Id, 
     DetailCount = (from d in context.Detail 
         where d.headerId = p.Id select d).Count() 
    } 

DetailCount는 디테일 엔티티 (부분 클래스)에 추가 한 새 속성입니다.

위의 Linq 쿼리는 매핑 된 엔티티에 투영 할 수 없기 때문에 작동하지 않습니다.
The entity cannot be constructed in a LINQ to Entities query

다른 방법이 있습니까? 이러는거야?

+0

이 (가) 듣고 deatil은 (는) 1 대 1과 어떤 관계가 있습니까? –

+0

예, 1 대 다수 (하나의 헤더, 여러 세부 정보) – r03

+0

@ Roeland 이것을 알아 낸 적이 있습니까? –

답변

0

관련되어 있기 때문에

3

은 아래 작업을 할 것입니다.

+1

이것은 사실 linq 쿼리의 짧은 버전이지만, 매핑 된 엔티티에 프로젝트를 투영 할 수 없다는 문제가 있습니다. – r03

관련 문제