Ale*_*ich 7 .net c# sql linq entity-framework-6
尝试获取列的最大日期时间值的记录ReceivedDateTime,但是数据集应该由某些Id列(不是唯一的)预先过滤。是这样解决的:
using (var db = new SystemEntities())
{
var records = db.Table.Where(p => p.Id == Id);
var record = records.Where(p => p.ReceivedDateTime == records.Max(r => r.ReceivedDateTime)).FirstOrDefault();
if(record != null)
{
}
}
Run Code Online (Sandbox Code Playgroud)
有没有更漂亮、更简单、更短的实现、符号?谢谢!
您可以使用如下简化OrderByDescending:
using (var db = new SystemEntities())
{
var record = db.Table.Where(p => p.Id == Id).OrderByDescending(x => x.ReceivedDateTime).FirstOrDefault();
if(record != null){}
}
Run Code Online (Sandbox Code Playgroud)