Entity framework 有没有办法找出实体框架正在创建的SQL?

Entity framework 有没有办法找出实体框架正在创建的SQL?,entity-framework,entity-framework-core,Entity Framework,Entity Framework Core,我有一个使用EF核心的应用程序。有没有一种方法可以让我查看数据库上的查询发出了什么SQL?您可以通过增加数据库命令的日志记录级别来执行此操作 ie将其放在您的DbContext中: public static readonly ILoggerFactory MyLoggerFactory = LoggerFactory.Create(builder => { builder .AddFilter((catego

我有一个使用EF核心的应用程序。有没有一种方法可以让我查看数据库上的查询发出了什么SQL?

您可以通过增加数据库命令的日志记录级别来执行此操作

ie将其放在您的DbContext中:

public static readonly ILoggerFactory MyLoggerFactory
    = LoggerFactory.Create(builder =>
        {
            builder
                .AddFilter((category, level) =>
                    category == DbLoggerCategory.Database.Command.Name
                    && level == LogLevel.Information)
                .AddConsole();
        });
然后

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    => optionsBuilder
        .UseLoggerFactory(MyLoggerFactory) // Warning: Do not create a new ILoggerFactory instance each time
        .UseSqlServer(
            @"Server=(localdb)\mssqllocaldb;Database=EFLogging;Trusted_Connection=True;ConnectRetryCount=0");

我正在使用SQLite。SQLite也可以吗?