- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在这段“.NET Core 2.0 Released!”视频结束后的 3:15,Diego Vega 演示了 Entity Framework Core 2.0 中的新功能。作为其中的一部分,控制台应用程序中显示了底层 SQL 的转储。
我在 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 输出窗口中。
参见 SQL Logging of Entity Framework Core在官方文档中。这是一个默认情况下不记录的错误,请参阅 this GitHub issue .
关于c# - 如何在 EF Core 中显示底层 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45893732/
我是一名优秀的程序员,十分优秀!