【发布时间】:2011-07-07 12:12:36
【问题描述】:
有没有一种方法可以查看我的 Linq-to-entities 查询使用 EF 框架生成的实体 Sql (eSQL)(也就是说,不是本机 SQL,而是 eSQL,如果有意义的话?)
谢谢!
【问题讨论】:
标签: c# entity-framework-4 linq-to-entities entity-sql
有没有一种方法可以查看我的 Linq-to-entities 查询使用 EF 框架生成的实体 Sql (eSQL)(也就是说,不是本机 SQL,而是 eSQL,如果有意义的话?)
谢谢!
【问题讨论】:
标签: c# entity-framework-4 linq-to-entities entity-sql
你不能。它没有生成。
实际上,LINQ to Entities 查询是直接翻译成Expression Tree 的,这个Expression Tree 的节点被翻译成SQL 子句,然后整合成一个SQL 查询。没有实体 SQL。
【讨论】:
var query1 = from person in Database
select person.Name;
您可以将 query1 转换为 ObjectQuery 并使用 ToTraceString 方法查看查询。
Console.WriteLine(((ObjectQuery)query1).ToTraceString());
【讨论】:
查看开发环境中的LINQ查询。
在图片中查看示例 http://i.stack.imgur.com/t6PK6.png
【讨论】: