检查针对SQL Server数据库的LINQ查询 [英] Check LINQ query against SQL Server database

查看:105
本文介绍了检查针对SQL Server数据库的LINQ查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法在.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆