Fork me on GitHub

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 窗口输出:

参考资料:

posted @ 2014-12-03 12:55  田园里的蟋蟀  阅读(1934)  评论(7编辑  收藏  举报