时间:2011-05-16 13:07:12

标签: c# linq

我怎样才能知道我的程序何时执行linq表达式执行sql查询?

5 个答案:

答案 0 :(得分:2)

分析是一种可靠的方法。根据LINQ提供程序的不同,这也可能是内置的,例如使用LINQ-to-SQL,您可以为.Log分配任何内容,并且它会像查询一样编写查询。在最简单的层面:

dataContext.Log = Console.Out; // for a LINQ-to-SQL DataContext
// TODO: now execute some queries against dataContext

在内部,我们使用自定义ADO.NET堆栈(以及其他一些东西)。 看起来就像SqlConnection(LINQ-to-SQL非常满意它),但它会对我们执行的每个命令执行一些日志记录和分析,因此我们可以看到我们的位置长期运营是。我想Sam希望如果你愿意,可以向公众开放。

答案 1 :(得分:1)

分析数据库就可以了。请记住,在您的代码询问查询结果之前,不会对数据库执行该语句。

答案 2 :(得分:1)

您是否尝试过LinqPad

我相信它会显示您查询的SQL原型。

答案 3 :(得分:1)

  1. 您可以使用SQL Profiler SQL Server安装,并捕获 执行时的陈述
  2. 您可以使用LINQPad等工具 针对您的数据存储运行LINQ 并检查工具中的SQL
  3. 您可以调试您的应用程序 从中获取SQL ObjectQuery.ToTraceString方法

答案 4 :(得分:0)

var res = somequery;
Console.WriteLine(res);