首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何知道EF将Linq查询翻译成什么?

我如何知道EF将Linq查询翻译成什么?
EN

Stack Overflow用户
提问于 2011-12-19 23:17:49
回答 3查看 442关注 0票数 2

在许多网站/博客上,我注意到想要解释linq机制的人编写了Linq查询,并为此提供了SQL翻译。我如何才能获得我自己查询的翻译?我在VS2010中使用EF .Net 4.0。有没有一个地方(财产或者其他第三方工具)可以让我看到它们被翻译成什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-19 23:20:28

最简单的方法是使用SQL Profiler。当涉及到调试时,我发现这真是天赐之物。

票数 4
EN

Stack Overflow用户

发布于 2011-12-19 23:23:18

您可以使用ObjectQuery.ToTraceString方法:

代码语言:javascript
复制
var query = ...
string sql = ((System.Data.Objects.ObjectQuery)query).ToTraceString();

然而,这种方法的一些缺点是它只显示查询,而不显示更新/插入/删除。而且,它不会透露所使用的参数。

如果您需要查询中尽可能多的详细信息,请以Neil suggested身份使用SQL Server事件探查器。

Julie Lerman在MSDN上有一篇关于不同选项的好文章:Profiling Database Activity in the Entity Framework。她提到:

  • ObjectQuery.ToTraceString方法
  • Visual Studio2010旗舰版的IntelliTrace
  • EFTracingProvider
票数 5
EN

Stack Overflow用户

发布于 2011-12-19 23:27:18

你可以使用LinqPad,你可以查询你的实体模型并查看生成的SQL。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8563387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档