在实体框架中,您可以使用此命令在调试时将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);
}
}