[英]how to see generated sql from a linq query
只是试图获取由 linq 查询生成的 sql 。
使用 Linq2Sql
dc.GetCommand(query).CommandText
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.getcommand.aspx 。
但我通常使用LinqPad
有 3 种方法可以做到这一点。
1.您可以使用LINQPad。它是免费的http://www.linqpad.net/
2.您可以在 Sql 服务器内使用 SQL Server Profiler (Tools --> SQL Server Profiler)
3.您可以使用Visual Studio Debugger 生成T-Sql。(与任何Visual Studio 版本)
如果您使用 SQL 服务器作为数据库,请使用SQL Profiler
。
这在谷歌上弹出,它是一个 8 部分的教程。 我想它会让你忙几个小时,这对我来说似乎很详细。
1: http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.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
祝你好运。
另一种方式
来自 MSDN 文章How to: Display Generated SQL (LINQ to SQL)
将DataContext.Log
属性设置为Console.Out
,您将在控制台中看到它
我可以建议的最简单的方法是使用Database
Log
go 。 在初始化DataContext
之后放置Log
,您将能够跟踪 EF 在 Visual Studio output
window 上所做的任何事情。
DataContext db = new DataContext();
db.Database.Log = generatedSQL =>
{
Debug.WriteLine(generatedSQL);
};
您可以使用 Visual Studio 中的诊断工具来查看生成的查询。
要启用此功能,请在右上角 go 看到快速搜索和键入诊断工具。
在结果中,单击适当的选项并在下面查看生成的查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.