Entity Framework-使用toTraceString查看Sql

问题描述 投票:8回答:2

我正在尝试查看Entity Framework 5.0从实体查询生成的生成的sql。在网络上,每个人都说将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'.

实体框架5中执行此操作的新方法是什么?

entity-framework logging entity-framework-5 generated-sql
2个回答
12
投票

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

var query = context.People.Where(x => x.DomainId == 1);
Console.WriteLine(query.ToString());

1
投票

您正在使用SQL Server吗?如果是这样,请尝试使用探查器。工具-> Management Studio开发版中的SQL Server Profiler

© www.soinside.com 2019 - 2024. All rights reserved.