2012-08-08 55 views
-1

我想publish_atusing System.Linq;在.NET

一些东西一样,返回的最新民调显示顺序:

return db.Polls.Where(p => p.status.Equals(PollStatus.Active)) 
       .OrderByDescending(d => d.publish_at) 
       .Take(1); 

不幸的是,这是行不通的。我怎样才能得到最新的结果,而不是每个结果?

+2

没有得到你什么是你的问题 – 2012-08-08 15:29:11

+0

和你的问题? – Matthew 2012-08-08 15:29:22

+1

当您发布的代码执行时会发生什么? – 2012-08-08 15:30:21

回答

2

你对你当前的代码有什么是n 枚举数,它将迭代恰好一个项目。你还没有物品本身。

代替.Take(1),请尝试使用.First().Single(),或者.FirstOrDefault().SingleOrDefault()。值得您花时间查阅并阅读每篇文档。

0

这里我的帖子得到最后的n个记录,如果你想获得最后插入的记录

Get Last n Records using Linq to SQL

简单的方法,如果你想最后得到最后recrod

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);