我想通过publish_at
返回最新的轮询顺序有点像:
return db.Polls.Where(p => p.status.Equals(PollStatus.Active))
.OrderByDescending(d => d.publish_at)
.Take(1);
不幸的是,这不起作用。我怎样才能获得最新的结果,而不是每个结果?
答案 0 :(得分:2)
您当前代码的内容是 Enumerable ,它将迭代一个项目。你还没有自己的物品。
而不是.Take(1)
,请尝试使用.First()
或.Single()
,或.FirstOrDefault()
或.SingleOrDefault()
。值得花时间查阅和阅读每篇文档。
答案 1 :(得分:0)
这里是我的帖子,以获得最后n条记录,如果你想获得最后插入的记录
,它将对你有帮助Get Last n Records using Linq to SQL
获得最后一次记录的简便方法
var qry = db.ObjectCollection
.Where(m => m.<field> == data)
.OrderByDescending(m => m.<field>)
.FirstOrDefault();
如果你想要最后n条记录
var qry = db.ObjectCollection
.Where(m => m.<field> == data)
.OrderByDescending(m => m.<field>)
.Take(n);