实体框架 - 使用toTraceString查看Sql

Raf*_*afi 8 logging entity-framework generated-sql entity-framework-5

我正在尝试查看Entity Framework 5.0从实体查询生成的生成的sql.在整个Web上(例如)每个人都说要将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'.
Run Code Online (Sandbox Code Playgroud)

在Entity Framework 5中执行此操作的新方法是什么?

Ric*_*ard 12

您可以使用.ToString()例如IQueryable查看生成的SQL

var query = context.People.Where(x => x.DomainId == 1);
Console.WriteLine(query.ToString());
Run Code Online (Sandbox Code Playgroud)