【问题标题】:ADO.NET Entity OrderBy VS. View Order By?ADO.NET 实体 OrderBy VS。查看订购方式?
【发布时间】: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


【解决方案1】:

我在 Entity Framework 方面的经验有限,但 order by 在视图中不起作用(请参阅 this post)。

似乎有一些关于实体框架最佳实践here 的重要信息。您还可以考虑使用 SQL Profiler 来查看运行时针对 SQL 服务器运行的查询,或者使用 this article 中所述的 Entity Framework Profiler。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 2019-08-14
    • 2015-08-16
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多