有什么背景吗?Database.Log in .net core.



在实体框架中,您可以使用此命令在调试时将sql定向出来

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

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

我在这里找到了解决方案:

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);
    }
}

最新更新