
public partial class MemberTank{ public int ID { get; set; } public int AccountID { get; set; } public int TIEr { get; set; } public string Class { get; set; } public string Tankname { get; set; } public int Battles { get; set; } public int VictorIEs { get; set; } public System.DateTime LastUpdated { get; set; }} 数据的一个小样本:
ID AccountID TIEr Class Tankname Battles VictorIEs --- --------- ---- ----- --------- ------- ---------- 1 432423 5 Heavy KV 105 58 2 432423 6 Heavy IS 70 39 3 544327 5 Heavy KV 200 102 4 325432 7 Medium KV-13 154 110 5 432423 7 Medium KV-13 191 101
最终我试图得到一个层次列表的结果,层级是类的列表,在班级内是Tankname与战斗和胜利之和的独特组合.
在单个liNQ语句中可以做到这一切吗?还是有另一种方式轻松获得结果? (我知道我可以轻松地循环遍历DbSet几次,以产生我想要的列表;我希望有一个更有效的方式获得与liNQ相同的结果.)
解决方法 这应该做到:var output = from mt in MemberTanks group by {mt.TIEr,mt.Class,mt.Tankname} into g select new { g.Key.TIEr,g.Key.Class,g.Key.Tankname,fights = g.Sum(mt => mt.Battles),Wins = g.Sum(mt=> mt.VictorIEs }; 总结 以上是内存溢出为你收集整理的c# – 如何使用多个GroupBys构建LINQ?全部内容,希望文章能够帮你解决c# – 如何使用多个GroupBys构建LINQ?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)