检查针对SQL Server数据库的LINQ查询 [英] Check LINQ query against SQL Server database
问题描述
有没有办法在.NET中查看针对数据库的LINQ查询我们正在触发?例如我正在LINQ中查询一个查询,我想看看是什么SQL查询正在触发与数据库通信。
Is there any way to in .NET to see what LINQ query against database we are firing? For eg. I am wring a query in LINQ and I want to see that what SQL query is firing to communicate with database.
是否有任何Visual Studio窗口或任何其他方式?
Is there any Visual Studio window or any other way?
推荐答案
您是否正在寻找类似此的某些内容
Are you looking for something like this
var context = new MyContext();
context.Database.Log = s => Debug.WriteLine(s);
然后每当执行查询时,都会看到如下输出:
Then whenever a query is executed, you'll see an output like :
var customers = context.Customers.ToList();
在30-3-2015打开连接13:48:03 + 02:00
Opened connection at 30-3-2015 13:48:03 +02:00
SELECT
[Extent1]。[Guid] AS [Guid],
[Extent1]。[FirstName] AS [FirstName],
[Extent1]。[LastName] AS [LastName],
[Extent1]。[Email] AS [Email],
[ Extent1]。[创建] AS [创建]
FROM [dbo]。[客户] AS [Extent1]
SELECT
[Extent1].[Guid] AS [Guid],
[Extent1].[FirstName] AS [FirstName],
[Extent1].[LastName] AS [LastName],
[Extent1].[Email] AS [Email],
[Extent1].[Created] AS [Created]
FROM [dbo].[Customer] AS [Extent1]
3-2015 13:48:03 +02:00
-- Executing at 30-3-2015 13:48:03 +02:00
- 在0 ms内完成,结果为:SqlDataReader
-- Completed in 0 ms with result: SqlDataReader
30-3-2015关闭连接13:48:03 +02:00
Closed connection at 30-3-2015 13:48:03 +02:00
这篇关于检查针对SQL Server数据库的LINQ查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!