【发布时间】:2012-06-29 04:58:06
【问题描述】:
最近我在做 ADO.NET 实体编程,我注意到每个实体都有 OrderBy 方法,但是考虑到性能,我应该用 创建一个 View >Order By 在数据库中而不是在实体中使用 OrderBy?
在我看来,实体将首先将数据库中的所有结果集返回到内存中然后进行排序,但是数据库中的 View 将在数据库级别进行排序并返回排序后的结果集.如果那样的话,第二种方式会更好,对吗?
如果我错了,请纠正我:-)
谢谢。
【问题讨论】:
-
使用 SQL Server Profiler 进一步调查后,我可以确认 ADO.NET 实体框架足够智能,可以将您的代码转换为正确的 SQL 标准(例如 OrderBy("it.FirstName").Take( 5) 将转换为 SELECT TOP 5 * FROM xxx ORDER BY FirstName)。性能毋庸置疑,不亚于原生 SQL。
标签: performance ado.net entity sql-order-by