我正在使用Entity Framework 7 Core RC2(重命名为:EF Core),我需要查看正在生成哪个SQL代码.在先前版本的Entity Framework中,我可以使用以下内容:
String sql = ((System.Data.Objects.ObjectQuery)query).ToTraceString();
Run Code Online (Sandbox Code Playgroud)
其中query是IQueryable对象...但是EF Core中没有ToTraceString.
我怎样才能在EF Core中做类似的事情?
我在MVC 5项目中使用EF 6.0和LINQ.我想记录Entity Framework DbContext执行的所有SQL查询,以进行调试/性能测量.
在Java/Hibernate中,可以通过设置属性来实现等效行为hibernate.show_sql=true.是否有可能在实体框架中有类似的行为?
如何启用DbCommand原始SQL查询的日志记录?
我已将以下代码添加到我的Startup.cs文件中,但未看到Entity Framework Core中的任何日志条目.
void ConfigureServices(IServiceCollection services)
{
services.AddLogging();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug(LogLevel.Debug);
}
Run Code Online (Sandbox Code Playgroud)
我期待看到这样的事情:
Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilder...
SELECT [t].[Id], [t].[DateCreated], [t].[Name], [t].[UserName]
FROM [Trips] AS [t]
Run Code Online (Sandbox Code Playgroud)