如何使用 Linq to entity 从列中检索最大的日期和时间?
How can I retrieve the biggest date and time from the column using Linq to entity?
我在 sql table 中有一个名为 DateMeasure
的日期时间列。
我在我的 .net 项目中使用 entity framework6。
这是我的例子 table:
Id | NumberP | TrackNumber | DateMeasure
28092|15240000|1.0.7.1782|2009040004731|2008-01-20 13:10:22.000
28094|61615000|1.0.7.1782|2009040007696|2010-05-20 13:11:38.000
28095|95317000|1.0.7.1782|2009040007695|2011-08-20 13:10:18.000
28101|15240000|1.0.7.1782|2009040004740|2015-11-20 14:10:22.000
28103|61615000|1.0.7.1782|2009040007690|2015-11-20 14:11:38.000
28104|95317000|1.0.7.1782|2009040007710|2009-02-20 14:10:18.000
我想借助 Linq to entity 从 table 获取的行:
28103|61615000|1.0.7.1782|2009040007690|2015-11-20 14:11:38.000
如何使用 Linq to entity 从列中检索最大(最新)日期和时间?
您可以使用 Linq 中 IQuery 对象的 OrderBy
方法按 DateMeasure
列排序并获取第一个条目。
(from s in context.Table
orderby s.DateMeasure descending).First()
或与:
context.Table
.OrderByDescending(s => s.DateMeasure)
.First();
OrderByDescending
方法将查询按降序排序,您也可以使用OrderBy
按升序排序。
您可以使用 Max
扩展名获取最大日期:
var maxDate = context.Table.Max(m => m.DateMeasure);
然后,您可以使用 FirstOrDefault
获取该实体:
var model = context.Table.FirstOrDefault(m => m.DateMeasure == maxDate);
实际上,您只需一个查询即可完成:
var model = context.Table.FirstOrDefault(m => m.DateMeasure == context.Table.Max(x => x.DateMeasure));
我在 sql table 中有一个名为 DateMeasure
的日期时间列。
我在我的 .net 项目中使用 entity framework6。
这是我的例子 table:
Id | NumberP | TrackNumber | DateMeasure
28092|15240000|1.0.7.1782|2009040004731|2008-01-20 13:10:22.000
28094|61615000|1.0.7.1782|2009040007696|2010-05-20 13:11:38.000
28095|95317000|1.0.7.1782|2009040007695|2011-08-20 13:10:18.000
28101|15240000|1.0.7.1782|2009040004740|2015-11-20 14:10:22.000
28103|61615000|1.0.7.1782|2009040007690|2015-11-20 14:11:38.000
28104|95317000|1.0.7.1782|2009040007710|2009-02-20 14:10:18.000
我想借助 Linq to entity 从 table 获取的行:
28103|61615000|1.0.7.1782|2009040007690|2015-11-20 14:11:38.000
如何使用 Linq to entity 从列中检索最大(最新)日期和时间?
您可以使用 Linq 中 IQuery 对象的 OrderBy
方法按 DateMeasure
列排序并获取第一个条目。
(from s in context.Table
orderby s.DateMeasure descending).First()
或与:
context.Table
.OrderByDescending(s => s.DateMeasure)
.First();
OrderByDescending
方法将查询按降序排序,您也可以使用OrderBy
按升序排序。
您可以使用 Max
扩展名获取最大日期:
var maxDate = context.Table.Max(m => m.DateMeasure);
然后,您可以使用 FirstOrDefault
获取该实体:
var model = context.Table.FirstOrDefault(m => m.DateMeasure == maxDate);
实际上,您只需一个查询即可完成:
var model = context.Table.FirstOrDefault(m => m.DateMeasure == context.Table.Max(x => x.DateMeasure));