C# LINQ Lambda按多列分组,然后选择多列
假设表中有一些数据: Id OrderNr名称日期 1约翰2011-01-01 约翰2012-01-01 3.2保罗2011-02-02 我想使用linq(lambda表达式)按OrderNr和Name进行分组,并选择OrderNr、Name和首次出现日期。因此,结果应该是: 订单编号名称日期 约翰一世2011-01-01 2保罗2011-02-02 这应该如何写?这应该可以:C# LINQ Lambda按多列分组,然后选择多列,c#,linq,lambda,C#,Linq,Lambda,假设表中有一些数据: Id OrderNr名称日期 1约翰2011-01-01 约翰2012-01-01 3.2保罗2011-02-02 我想使用linq(lambda表达式)按OrderNr和Name进行分组,并选择OrderNr、Name和首次出现日期。因此,结果应该是: 订单编号名称日期 约翰一世2011-01-01 2保罗2011-02-02 这应该如何写?这应该可以: var results1 = (from t in DB.Table group t
var results1 = (from t in DB.Table
group t by new { t.OrderN, t.Name } into grp
select new
{
OrderN = grp.Key.OrderN,
Name = grp.Key.Name,
FirstDate = grp.FirstOrDefault().Date
}).ToList();
执行了几乎相同的操作,但使用了.First(),这两种方法都不起作用。Sql事件探查器显示与项目中使用的ORM相关的错误。谢谢你的回答,这个问题一定与其他话题有关。