gpt4 book ai didi

c# - 如何在 EF Core 中显示底层 SQL 查询?

转载 作者:IT王子 更新时间:2023-10-29 04:26:44 25 4
gpt4 key购买 nike

在这段“.NET Core 2.0 Released!”视频结束后的 3:15,Diego Vega 演示了 Entity Framework Core 2.0 中的新功能。作为其中的一部分,控制台应用程序中显示了底层 SQL 的转储。

enter image description here

我在 Stack Overflow 上看到很多答案,建议人们使用 SQL 分析器来查看底层查询。但现在我很好奇:您如何才能像 Diego Vega 那样做,并让查询显示在应用程序中?

.NET 6 的更新:EF 日志记录在开发中默认启用。参见 this GitHub issue

更新:Diego 添加了 "Microsoft.EntityFrameworkCore.Database.Command": "Information"appsettings.Development.json。参见 How do you show underlying SQL query in EF Core?了解更多详情。

最佳答案

.NET 6 的更新:EF 日志记录在开发中默认启用。

只需将 "Microsoft.EntityFrameworkCore.Database.Command": "Information" 添加到 appsettings.Development.json,这样它就只在开发模式下登录。您通常不想记录生产应用中的每个查询。

{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyDB-2;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
,"Microsoft.EntityFrameworkCore.Database.Command": "Information"
}
},
"AllowedHosts": "*"
}

SQL 输出显示在命令窗口或 VS 输出窗口中。

enter image description here

参见 SQL Logging of Entity Framework Core在官方文档中。这是一个默认情况下不记录的错误,请参阅 this GitHub issue .

关于c# - 如何在 EF Core 中显示底层 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45893732/

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