LINQ多属性分组求和我有一个项目集合,这里是:AgencyIDVendorIDStateIDAmountFee11120.005.0011110.002.0011130.008.0022120.005.00215.005.001220.005.002220.005.0022240.009.001235.006.02.00.0222240.006.000.02我希望根据Agency、Vendorid和StateidGroup这些项目并根据金额和费用(金额+费用)计算总计所以使用上面的数据,我想得到这些结果:AgencyIDVendorIDStateIDTotal11175.0022135.0011225.0022274.0012256.00这就是我现在拥有的,它只是获取数据库中的每一行:.AgencyContractID,AgencyId=ac.AgencyID,VendorId=ac.VendorID,RegionId=ac.RegionID,Amount=ac.Amount,Fee=ac.Fee});有谁知道如何使用LINQ进行过滤和分组?在分组后使用.Select():varagencyContracts=_agencyContractsRepository.AgencyContracts.GroupBy(ac=>new{ac.AgencyContractID,//你的视图模型需要。在大多数情况下应该被省略//因为groupbypri玛丽键//没有意义。ac.AgencyID,ac.VendorID,ac.RegionID}).Select(ac=>newAgencyContractViewModel{AgencyContractID=ac.Key.AgencyContractID,AgencyId=ac.Key.AgencyID,VendorId=ac.Key.VendorID,RegionId=ac.Key.RegionID,Amount=ac.Sum(acs=>acs.Amount),Fee=ac.Sum(acs=>acs.Fee)});Linus在这种方法中很流行,但是有些属性被关闭它看起来像'AgencyContractId'是你的主键,它与你想要给用户的输出无关。我认为这就是您想要的(假设您更改ViewModel以匹配视图中所需的数据)。以上就是C#学习教程:使用LINQ对多个属性进行分组并总结分享所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注——}).Select(ac=>newAgencyContractViewModel{AgencyId=ac.Key.AgencyID,VendorId=ac.Key.VendorID,RegionId=ac.Key.RegionID,Total=ac.Sum(acs=>acs.Amount)+ac.Sum(acs=>acs.Fee)});本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
