是否有任何context.Database.Log .net核心

时间:2017-01-09 08:41:57

标签: c# .net entity-framework entity-framework-core

在实体框架中,您可以使用此命令在调试时指导sql

context.Database.Log = sql => Debug.WriteLine(sql);

但我找不到任何.Net核心替代方案。有谁知道.Net核心是如何实现的?

1 个答案:

答案 0 :(得分:2)

我找到了解决方案here

public static class DbContextExtensions
{
    public static void LogToConsole(this DbContext context)
    {
        var contextServices = ((IInfrastructure<IServiceProvider>) context).Instance;
        var loggerFactory = contextServices.GetRequiredService<ILoggerFactory>();
        loggerFactory.AddConsole(LogLevel.Verbose);
    }
}