sql - 使用 SQL Profiler 分析 Entity Framework 查询

标签 sql asp.net-mvc-3 frameworks entity profiler

任何人都可以解释在浏览 CRUD 应用程序窗口时在 SQL 探查器中应该看到什么,以确认它正确且有效地执行 SQL 语句吗?

我打开 SQL Profiler 并筛选 EntityFramework 应用程序和......

选择了索引页: 我正在使用 PagedList,因此预计会看到表中所有行的提取或基于页面大小的前 10 行。我可以看到嵌套在审核登录/注销中的每个单独行的选择。 EF 就应该这样吗?我担心的是,对于一些大量的记录来说,这会很慢吗?

选择创建页面: 进入页面但未输入任何内容,但分析器显示已执行选择。不知道为什么,但可以忍受吗?

选择详细信息页面: Profiler 显示执行了 4 个选择。不知道为什么,但也有很多打开关闭的连接。

....编辑和删除的类似故事。

有人可以为我指明如何有效使用 EF 的正确方向吗?

提前致谢!

最佳答案

在探查器中,我们可以看到重要信息,例如数据库正在运行多少个查询、这些查询需要多长时间、哪个数据库查询正在运行等等。

为了有效地使用 EF,下面的链接可能会对您有所帮助。

http://www.asp.net/entity-framework/tutorials/maximizing-performance-with-the-entity-framework-in-an-asp-net-web-application

http://afana.me/post/entity-framework-multiple-result-sets.aspx

关于sql - 使用 SQL Profiler 分析 Entity Framework 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8267179/

相关文章:

c# Math.Sqrt 实现

sql - PostgreSQL 查询选择上周的数据?

sql - 计算顺序事件和序列 SQL 的计数

c# - MVC 3 中的复杂 WebGrid 绑定(bind)

model-view-controller - 操作参数显示在查询字符串而不是 URL 中

c# - 带有图像的 MVC3 ActionLink(但没有 MvcFutures)?

objective-c - 在运行时删除框架公共(public) header

ios - 尝试在 swift 项目中使用 cocoa pod 安装 Purelayout

没有结束日期的 SQL DateDiff

PHP/MySQL SET var = var - var