如何查看从linq查询生成的sql



只是试图获取linq查询生成的sql。

使用Linq2Sql

dc.GetCommand(query).CommandText

参见http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.getcommand.aspx了解更多信息。

但我通常使用LinqPad

有三种方法可以做到这一点。

1.你可以使用LINQPad。它是免费的http://www.linqpad.net/

2.您可以在SQL Server(工具-->SQL Server Profiler)中使用SQL Server事件探查器

3.您可以使用Visual Studio调试器生成T-Sql。(带有任何visual studio版本)

如果使用SQL Server作为数据库,请使用SQL Profiler

这是在谷歌上弹出的,是一个由8部分组成的教程。我想这会让你忙上几个小时,对我来说似乎很详细

1:http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx

2:http://weblogs.asp.net/scottgu/archive/2007/05/29/linq-to-sql-part-2-defining-our-data-model-classes.aspx

3:http://weblogs.asp.net/scottgu/archive/2007/06/29/linq-to-sql-part-3-querying-our-database.aspx

4:http://weblogs.asp.net/scottgu/archive/2007/07/11/linq-to-sql-part-4-updating-our-database.aspx

5:http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx

6:http://weblogs.asp.net/scottgu/archive/2007/08/16/linq-to-sql-part-6-retrieving-data-using-stored-procedures.aspx

7:http://weblogs.asp.net/scottgu/archive/2007/08/23/linq-to-sql-part-7-updating-our-database-using-stored-procedures.aspx

8:http://weblogs.asp.net/scottgu/archive/2007/08/27/linq-to-sql-part-8-executing-custom-sql-expressions.aspx

祝你好运。

另一种方式

来自MSDN文章如何:显示生成的SQL(LINQ到SQL)

DataContext.Log属性设置为Console.Out,您将在控制台中看到它

我建议的最简单的方法是使用Database Log。在初始化DataContext之后放置Log,您将能够在visual studio output窗口上跟踪EF所做的一切。

  DataContext db = new DataContext();
  db.Database.Log = generatedSQL =>
   {
      Debug.WriteLine(generatedSQL);
   };

您可以在Visual Studio中使用诊断工具查看生成的查询。

要启用此功能,请转到右上角,在那里您可以看到快速搜索并键入诊断工具。

在结果中,单击相应的选项,并参见下面生成的查询。

相关内容

  • 没有找到相关文章

最新更新