在实体框架中,您可以使用此命令在调试时指导sql
context.Database.Log = sql => Debug.WriteLine(sql);
但我找不到任何.Net核心替代方案。有谁知道.Net核心是如何实现的?
答案 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);
}
}