私はアイテムのコレクションを持っています、ここにあります:
AgencyID VendorID StateID Amount Fee
1 1 1 20.00 5.00
1 1 1 10.00 2.00
1 1 1 30.00 8.00
2 2 1 20.00 5.00
2 2 1 5.00 5.00
1 1 2 20.00 5.00
2 2 2 20.00 5.00
2 2 2 40.00 9.00
1 2 2 35.00 6.00
1 2 2 12.00 3.00
これらのアイテムは、AgencyID、VendorID、StateIDに基づいてグループ化され、合計は金額と料金(金額+料金)から計算されます。
したがって、上記のデータを使用して、次の結果を取得したいと思います。
AgencyID VendorID StateID Total
1 1 1 75.00
2 2 1 35.00
1 1 2 25.00
2 2 2 74.00
1 2 2 56.00
これが私が今持っているすべてで、データベースのすべての行を取得します。
var agencyContracts = _agencyContractsRepository.AgencyContracts.
Select(ac => new AgencyContractViewModel
{
AgencyContractId = ac.AgencyContractID,
AgencyId = ac.AgencyID,
VendorId = ac.VendorID,
RegionId = ac.RegionID,
Amount = ac.Amount,
Fee = ac.Fee
});
これをLINQでフィルタリングしてグループ化する方法を知っている人はいますか?