我正在尝试查看Entity Framework 5.0从实体查询生成的生成的sql。在整个网络(for example)中,每个人都说要将 IQuerable 对象转换为 ObjectQuery 对象,然后使用toTraceString()方法返回生成的查询。
但是我一直收到无效的案例例外:
Unhandled Exception: System.InvalidCastException: Unable to cast object of type
'System.Data.Entity.Infrastructure.DbQuery`1[System.String]' to type 'System.Data.Objects.ObjectQuery'.
在Entity Framework 5中执行此操作的新方法是什么?
答案 0 :(得分:12)
您可以使用.ToString()
从IQueryable查看生成的SQL,例如
var query = context.People.Where(x => x.DomainId == 1);
Console.WriteLine(query.ToString());
答案 1 :(得分:1)
您使用的是SQL Server吗?如果是这样,请尝试使用分析器。工具 - > Management Studio的开发版本中的SQL Server Profiler