Django有一个调试工具栏,可以让我看到正在运行的所有查询,如何在MVC4中查看它们?
答案 0 :(得分:2)
如果您想查看刚执行的SQL命令,可以使用IntelliTrace(仅适用于VS Ultimate版本)。如果您希望按照请求进行性能分析,可以尝试MVC Mini Profiler。 EF没有任何内置工具来跟踪执行的SQL命令。
答案 1 :(得分:2)
您可以考虑很多工具。我在http://www.thinqlinq.com/Post.aspx/Title/LINQ-to-Database-Performance-hints讨论了其中的一些,包括Intellitrace和SQL Profiler,以及其他相对便宜的分析工具,如MVC MiniProfiler,ORM Profiler,Huagati的LINQ to SQL Profiler,EF Prof,或者至少检查使用LinqPad为您的查询生成的代码。其中一些选项要求您修改现有代码库以插入探查器。其他人只是拦截数据库的流量。只要你在学习的时候使用某些东西,你使用哪一个并不重要。
答案 2 :(得分:1)
Oks,我们举一个northwind数据库的例子
using(NorthwindEntities context = new NorthwindEntities())
{
var query = from p in context.Products
where p.Product_ID == 3
select p;
//Query can be traced like this
var SqlQuery = (System.Data.Objects.ObjectQuery<Product>)query;
Console.WriteLine(SqlQuery.ToTraceString());
}
您可以在页面加载时使用此var SqlQuery = (System.Data.Objects.ObjectQuery<Product>)query;
,并可以在任意位置打印该值。