有没有一种方法可以查看我的 Linq-to-entities 查询使用 EF 框架生成的实体 Sql (eSQL)(也就是说,不是本机 SQL,而是 eSQL,如果有意义的话?)
谢谢!
有没有一种方法可以查看我的 Linq-to-entities 查询使用 EF 框架生成的实体 Sql (eSQL)(也就是说,不是本机 SQL,而是 eSQL,如果有意义的话?)
谢谢!
你不能。它不是生成的。
实际上,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