我有一个简单的表,我想通过使用GroupBy获得最后插入的行。
我有以下代码,无需分组即可工作,但想通过分组创建新功能
public Session FindLastFinished(IdentityUser user)
{
return _dbContext.Sessions.OrderByDescending(o => o.CreatedAt).FirstOrDefault(s => s.User.Equals(user) && s.Progress.Equals(Status.Finished.ToString()));
}
我需要为ScenarioId列添加分组,以便它将为每个ScenarioId返回最后插入的行,但是在添加GroupBy语法时遇到了麻烦。
public List<Session> FindLastFinishedByScenarios(IdentityUser user)
_dbContext.Sessions.GroupBy(s => s.ScenarioId)
.ToDictionary(e => e.Key, e => e.OrderByDescending(o => o.CreatedAt).First())
在这种情况下,您将拥有一个字典,该字典具有方案ID作为键,而最后插入的项作为值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句