【发布时间】:2014-03-11 10:58:40
【问题描述】:
我担心性能,特别是在大桌子上。
在我的示例中,StatusId 是 IDENTIY PRIMARY KEY。
我想知道是否有更好的方法(更快)来获取表中的最后一个条目。
public IQueryable<GaStatus> GetLastStatus()
{
return context.GaStatuses.OrderByDescending(x => x.StatusId).Take(1);
}
【问题讨论】:
-
如果您只请求一项,则不应返回 IQueryable
。 -
@AcidJunkie 为什么?在此示例中,查询尚未执行,这可能是他们想要的。例如使其成为其他查询的一部分。
-
我认为你应该使用 LastOrDefault 因为你只想要最后一条记录,而 StatusId 是主键。
-
LastOrDefault 应该返回所有条目,然后取最后一个 - 不确定大桌子上的性能 - 无论如何感谢分享
标签: c# asp.net performance linq entity-framework