在EF 4.1 DbContext中如何跟踪生成的SQL

Cha*_*nce 32 sql logging trace entity-framework-4 entity-framework-4.1

我想知道如何在LinqToSql中跟踪生成的SQL,如DataContext.

我还在Jaroslaw Kowalski的博客上阅读了有关EFProviderWrapper解决方案的文章,但它基于ObjectContext,不适用于DbContext.

任何人都知道如何在DbContext中执行此操作?

谢谢.

Sla*_*uma 16

用最简单的方法DbContext,并DbSet<T>仅使用ToString()IQueryable你已经建立.例如:

var query = context.Blogs.Include(b => b.Posts)
                   .Where(b => b.Title == "AnyTitle");

string sql = query.ToString();
Run Code Online (Sandbox Code Playgroud)

sql 包含将在执行查询时发布到DB的SQL命令.


Cha*_*nce 1

MVC-Mini-Profiler 是一个强大的工具,不仅可以跟踪生成的 sql,而且还是分析工具。

使用 mvc-mini-profiler 和 Entity Framework Code First 进行数据库分析