C# 在visual studio 2010或2012中对sql查询生成器执行LINQ查询

C# 在visual studio 2010或2012中对sql查询生成器执行LINQ查询,c#,visual-studio,linq-to-sql,C#,Visual Studio,Linq To Sql,在Visual Studio中是否有类似watch的工具,我可以通过这些工具查看LINQ查询在调试期间使用C#生成的sql查询。console用于查询的ToString() 例如: var query = from emp in Employees select emp; Console.WriteLine(query.ToString()); 控制台用于查询的ToString() 例如: var query = from emp in Employees select emp;

在Visual Studio中是否有类似watch的工具,我可以通过这些工具查看LINQ查询在调试期间使用C#生成的sql查询。

console
用于查询的
ToString()

例如:

var query = from emp in Employees select emp;    
Console.WriteLine(query.ToString());

控制台
用于查询的
ToString()

例如:

var query = from emp in Employees select emp;    
Console.WriteLine(query.ToString());
如果使用数据上下文的名称,则在执行查询时会将其写出。例如:

using (var context = new FooDataContext())
{
    context.Log = Console.Out;
    // Execute a query here
}
我相信有一种方法可以在调试器中以交互方式可视化SQL,但我一时记不起来。(Zaheer建议调用
ToString
或只是在调试器中检查查询,这完全有可能。)

如果使用数据上下文的,则在执行查询时会写出查询。例如:

using (var context = new FooDataContext())
{
    context.Log = Console.Out;
    // Execute a query here
}

我相信有一种方法可以在调试器中以交互方式可视化SQL,但我一时记不起来。(Zaheer建议调用
ToString
或者只是在调试器中检查查询,这完全有可能。)

除了使用
上下文.log
,还有其他一些方法可以获取sql查询

  • 使用sql profiler,这是一个免费工具,可以监视针对特定数据库服务器的所有sql查询。通过设置过滤器,您可以从特定应用程序获取针对特定数据库的所有sql查询。但糟糕的是,它只显示已执行/正在执行的查询

  • codesmith提供的工具linqtosqlprofilter可以很好地帮助可视化所有查询,易于跟踪和调试,同时还可以为查询优化提供很好的建议


  • 尽管出于调试目的,
    context.log
    已经足够了

    除了使用
    context.log
    之外,还有其他一些方法可以获取sql查询

  • 使用sql profiler,这是一个免费工具,可以监视针对特定数据库服务器的所有sql查询。通过设置过滤器,您可以从特定应用程序获取针对特定数据库的所有sql查询。但糟糕的是,它只显示已执行/正在执行的查询

  • codesmith提供的工具linqtosqlprofilter可以很好地帮助可视化所有查询,易于跟踪和调试,同时还可以为查询优化提供很好的建议


  • 尽管出于调试目的,
    context.log
    已经足够了

    你能举个例子吗。。。谢谢,请举例说明。。。谢谢