在许多网站/博客上,我注意到想要解释linq机制的人编写了Linq查询,并为此提供了SQL翻译。我如何才能获得我自己查询的翻译?我在VS2010中使用EF .Net 4.0。有没有一个地方(财产或者其他第三方工具)可以让我看到它们被翻译成什么?
发布于 2011-12-19 23:20:28
最简单的方法是使用SQL Profiler。当涉及到调试时,我发现这真是天赐之物。
发布于 2011-12-19 23:23:18
您可以使用ObjectQuery.ToTraceString方法:
var query = ...
string sql = ((System.Data.Objects.ObjectQuery)query).ToTraceString();然而,这种方法的一些缺点是它只显示查询,而不显示更新/插入/删除。而且,它不会透露所使用的参数。
如果您需要查询中尽可能多的详细信息,请以Neil suggested身份使用SQL Server事件探查器。
Julie Lerman在MSDN上有一篇关于不同选项的好文章:Profiling Database Activity in the Entity Framework。她提到:
发布于 2011-12-19 23:27:18
你可以使用LinqPad,你可以查询你的实体模型并查看生成的SQL。
https://stackoverflow.com/questions/8563387
复制相似问题