使用c#,mysql中的linq查找最近插入日期的数据

使用c#,mysql中的linq查找最近插入日期的数据,c#,mysql,linq,C#,Mysql,Linq,我的mySql表中有一个“CommonData”表 我想使用linq从c#查询最新插入日期的“Id”列表。 i、 e.此处最新插入日期为“22-04-2013”,因此我应获得插入日期为“22-04-2013”的ID列表 我正在使用Linq 有些人认为我无法做到这一点。添加检索最长日期的子查询,然后在此日期进行筛选: var ids = ctx.CommonDatas .Where(c => c.InsertDate ==

我的mySql表中有一个“CommonData”表

我想使用linq从c#查询最新插入日期的“Id”列表。 i、 e.此处最新插入日期为“22-04-2013”,因此我应获得插入日期为“22-04-2013”的ID列表

我正在使用Linq


有些人认为我无法做到这一点。

添加检索最长日期的子查询,然后在此日期进行筛选:

var ids = ctx.CommonDatas
             .Where(c => c.InsertDate == 
                               ctx.CommonDatas
                                  .Max(c2 => c2.InsertDate)
                   )
             .Select(c => c.Id);

添加检索最长日期的子查询,然后在此日期进行筛选:

var ids = ctx.CommonDatas
             .Where(c => c.InsertDate == 
                               ctx.CommonDatas
                                  .Max(c2 => c2.InsertDate)
                   )
             .Select(c => c.Id);

简单的方法可能是使用降序排序

var result = CommonData.OrderByDescending(c=> c.InsertDate).Select(c => c.Id);

简单的方法可能是使用降序排序

var result = CommonData.OrderByDescending(c=> c.InsertDate).Select(c => c.Id);

我会把这个
ctx.CommonDatas.Max(c2=>c2.InsertDate)
中取出来,是的,不是的。是的,它可以更快地运行查询。不,您正在缓存最长日期,以便可以检索异步记录(最长日期可能会更改),并且您正在对数据库进行两次访问。我会将此
ctx.CommonDatas.Max(c2=>c2.InsertDate)
中取出,其中
是和否。是的,它可以更快地运行查询。不,您正在缓存最长日期,以便可以检索异步记录(最长日期可能会更改),并且您正在访问数据库两次。