我有一个相关表的结构,如下所示:
给定 WorkReleaseDetail.WorkReleaseHeaderId,我想使用 Linq 扩展获取按 WorkOrderDetail.ItemId 分组的 WorkOrderDetail.EstimatedQty 的总和。
因为我需要对最低的表进行分组,所以我想我可以。像这样的地方:
WorkOrderDetail.WorkOrderHeader.WorkReleaseDetail.WorkReleaseHeaderId == id
但是没有骰子,因为您在 OrderGroupDetails 处停下来,因为它是一个聚合,您过去的唯一选择是 .Sum 等,这是有道理的。
然后我想这样做(应该可以):
var woDtlRepos = new Repository<WorkOrderDetail>();
var workOrdDtl = woDtlRepos.SearchFor(
x => x.WorkOrderHeader.FacilityId == intFacilityId
&& x.WorkOrderHeader.WorkReleaseDetails.WorkOrderHeaderId == intWorkReleaseId);
var workRlsNeeds = workOrdDtl
.GroupBy(group => new
{
group.ItemId
}
)
.Select(result => new
{
ItemId = result.Key.ItemId,
TotalQty = result.Sum(a => a.EstimatedQuantity)
}
);
我怎样才能做到这一点?