EntityFramework 7 如何查看执行的 SQL 代码?

EF 其他版本:EntityFramework 如何查看执行的 SQL 代码?

在 EF7 中,并没有 Context.Database.Log 属性访问方式,但改变更加强大了,我们可以使用下面方式配置:

public void ContextLoad_Test()
{
    using (var context = new BloggingContext())
    {
        var query = from b in context.Blogs
                           select b;

        //AddProvider 增加日志“提供商”
        context.Configuration.LoggerFactory.AddProvider(new DiagnosticsLoggerProvider(
                new SourceSwitch("SourceSwitch", "Verbose"),
                new ConsoleTraceListener()));

        var result = query.OrderBy(b => b.BlogId * 2).ThenBy(b => b.BlogCateId).Skip(0).Take(100).ToList();
    }
}

Output 窗口输出:

EntityFramework 7 如何查看执行的 SQL 代码?_第1张图片

参考资料:

  • How to log queries using Entity Framework 7?
  • EF7 不久前的 Code Commit

你可能感兴趣的:(EntityFramework 7 如何查看执行的 SQL 代码?)