여러 열로 그룹화 한 다음 모든 레코드의 금액 필드를 하나의 레코드로 합산하려고합니다.EntityFramework IQueryable Group 여러 열 및 캡처 합계를 사용하십시오.
예를 들어 동일한 위치, 유형 및 제품이있는 세 개의 인벤토리 레코드가 있습니다. 나는 하나의 재고 레코드 (EFModel.Inventory의 인스턴스) 만 리턴하려고하지만 3 개의 레코드 모두에서 금액의 합계를 가져야합니다. 그러나 아직 쿼리를 실행하고 싶지 않습니다! 몇 가지 설명을 보려면 아래 코드를 확인하십시오. 쉽게 할 수있는 방법이 있습니까?
IQueryable<EFModel.Inventory> query = GetInventoryView();
if (searchParameters.GroupByLocation)
{
query = from inv in query
group inv by new { inv.LocationID, inv.LocationType, inv.ProductID }
into groupedInv
select groupedInv.First();
}
// Now, perform filtering, sorting, paging and etc. on the query
미리 감사드립니다.
하지만 .First() 호출은 쿼리를 실행하고 if 문 끝까지 쿼리 엔티티 (있을 경우)가 포함됩니다. 그렇지 않으면 예외가 throw됩니다 . –
예, 당신 말이 맞아요. 좋은 캐치! – Amir