2012-06-28 2 views
0

"Item", "ItemType"및 "ItemPart"의 세 엔티티가있는 엔티티 모델이 있다고 가정 해 보겠습니다. 각 항목 유형에 대해 가장 최근 항목 (item.date 기준)을 가져 오는 쿼리를 작성하려고하며 결과를 얻은 후에 사용할 수 있도록 쿼리에 해당 부분을 포함시킵니다. I는 다음과 같다 쿼리를 썼다 :LINQ 람다 선택 속보 포함

IQueryable<Item> results = context.Items 
    .Include("ItemTypes") 
    .Include("ItemParts") 
    .Where(x => x.CurrentItem == true) 
    .GroupBy(x => x.ItemType).Select(group => group.OrderByDescending(item => item.date).FirstOrDefault()); 

나는 GROUPBY 라인의 모든 작업없이 실행하고 나는 포함 된 항목을 얻을 수 있다면. GroupBy 행을 추가하면 포함 된 객체가 null입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

EDIT : 테스트를 한 번 더 해보았습니다. 그것은 실제로 포함을 깨는 선택입니다. 나는 그들이 선택을 통해 수행되지 않는 것 같아요. 이제 작동하는 쿼리를 작성하는 방법을 찾으십시오.

+0

마지막에 Includes를 넣을 수는 없습니까? – usr

+0

끝나거나 select 절 안에 넣어 봤는데 유효한 구문이 아닙니다. – William

+1

왜 그렇지 않은지 알아보십시오. Include는 ObjectQuery 에 정의되어 있으므로 사용할 수 있어야합니다. – usr

답변

0

나는 여전히 어떤 일이 있었는지에 대해 긍정적이지 못하지만, 어떻게 든 선택이나 그룹이 내가 갖고있는 포함을 깨뜨리고있었습니다. 어쨌든 나는 그룹에 의한 수동 선택을하고 가장 최근의 것을 하나 얻은 다음 그것을 새로운 목록으로 선택했다.