gpt4 book ai didi

c# - 获取 NpgSql Entity Framework 查询文本

转载 作者:行者123 更新时间:2023-11-29 12:07:27 27 4
gpt4 key购买 nike

我正在使用 Npgsql.EntityFrameworkCore.PostgreSQL 2.2.0。我希望能够看到将在数据库上执行的查询。有什么办法吗?

最佳答案

如果您在服务注册时使用.AddDbContext.AddDbContextPool,通常无需显式配置LoggerFactory。 EF Core 自动获取现有的记录器工厂(已配置)并使用调试级别的日志来记录查询。

您也可以启用

builder.EnableSensitiveDataLogging();  // << Enables query parameter/value logging
builder.EnableDetailedErrors(); // << Enables Detailed Errors such as parameter mapping errors
builder.ConfigureWarnings(warnings =>
warnings.Log(CoreEventId.IncludeIgnoredWarning)); << Includes ignored warnings

您唯一需要做的就是相应地更改日志记录级别

"Logging": {
"LogLevel": {
....
"Microsoft.EntityFrameworkCore.Database.Command": "Information"
}
}

或者您可以使用自定义记录器工厂

public static readonly LoggerFactory MyLoggerFactory
= new LoggerFactory(new[]
{
new ConsoleLoggerProvider((category, level)
=> category == DbLoggerCategory.Database.Command.Name
&& level == LogLevel.Information, true)
});

关于c# - 获取 NpgSql Entity Framework 查询文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54722633/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com