我需要显示来自跟踪日志和group的ClientId和Last Activity日期的最后一个活动。我的代码工作正常。Linq GroupBy Max和add列
我现在需要添加另一列到结果这是“备忘录”字段。
结束查询将由ClientId的上次跟踪日期和该行中的“备忘录”字段。
工作守则(无备注字段)
var q =(
from t in Trackings
group t by t.ClientID into g
select new {ClientID = g.Key, Date = g.Max(x=>x.TrackDate)}
).ToList();
结果:
46, 10/29/2015 12:09:42 PM
69, 11/1/2015 5:44:47 AM
29, 11/6/2015 12:55:21 PM
预期的效果
46, 10/29/2015 12:09:42 PM, User Login
69, 11/1/2015 5:44:47 AM, Update Account
29, 11/6/2015 12:55:21 PM, User Login
如何添加另一列之后的的GroupBy和MAX选择已完成并获得ROW的备忘录?
是的,你是正确的+1。你可以只是警告OP可能会因为'FirstOrDefault'而发生NRE。 –
这是对的,但我把它留给OP。 “跟踪”可能是来自SQL后端的“IQueryable”,在这种情况下,空检查不适用。 –
@RahulSingh NRE从来没有发生过分组没有额外的过滤器。通常情况下,人们会使用'First',但由于某种未知的原因,EF不喜欢它,而是需要'FirstOrDefault'。 –