using (DataContext dc = new DataContext())
{
var q = from t in dc.TableTests
group t by t.SerialNumber
into g
select new
{
SerialNumber = g.Key,
uid = (from t2 in g select t2.uid).Max()
};
}
var bests = from x in origRecords
group x by x.EventDescriptionGenderView into g
orderby g.Key
select g.OrderByDescending(z => z.AgeGrade)
.FirstOrDefault();
List<MasterRecordResultClaim> records = new
List<MasterRecordResultClaim>();
foreach (var bestresult in bests)
{
records.Add(bestresult);
}
7条答案
按热度按时间wwodge7n1#
hgqdbh6s2#
zengzsys3#
在方法链形式中:
nnvyjq4y4#
我在LinqPad里查了DamienG的答案
应该是
谢谢你,谢谢你
x3naxklr5#
如果您只需要这两个字段,答案是可以的,但是对于更复杂的对象,这种方法可能会很有用:
...这将避免“选择新的”
k5hmc34c6#
这可以在LINQ lambda表达式中使用GroupBy和SelectMany来完成
zaqlnxep7#
基于以上所述,我希望将每组中的最佳结果放入与原始列表类型相同的列表中:
EventDescriptionGenderView是将几个字段合并为一个字符串。它为每个事件挑选最佳AgeGrade。