次のような関連テーブルの構造があります。
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)
}
);
どうすればこれを達成できますか?