在开发中,我们想在调试中查看EF Core执行的sql语句,可以使用SQL Studio Manager Tools工具,另一种方式是使用EF Core提供的日志,在ASP.NET Core使用Entity Framework Core的日志。
早在Entity Framework Core1.0,使用相关的ILoggerProvider ILogger 这些基础接口类.来实现过日志记录。
在Entity Framework Core2.0,估计是为了配合ASP.NET Core的日志,所以对这些接口进行了更进一步的包装,也弃用了一些接口和类,如:IRelationalCommandBuilderFactory,DbCommandLogData 但是Entity Framework Core2.0 在DbContextOptionsBuilder添加了新的扩展方法。UseLoggerFactory 看到LoggerFactory,研究过ASP.NET Core日志记录的,应该就很熟悉了。这是ASP.NET Core日志记录的工厂类。也就是为什么我们如果在ASP.NET Core中注入自己的日志记录,也可以通过配置来记录相关的SQL操作的原因。这里我们主要是直接只监控EF Core的日志。