次のような関連テーブルの構造があります。

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)
    }
);
どうすればこれを達成できますか?