Update for .NET 6 and later: EF logging is enabled by default in development.
Just add "Microsoft.EntityFrameworkCore.Database.Command": "Information"
to appsettings.Development.json so it’s only logged in dev mode. You typically don’t want to log every query in a production app.
{
"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": "*"
}
The SQL output shows in the command window or VS output window.
See SQL Logging of Entity Framework Core in the official docs. In older versions, it was a bug that it didn’t log by default, see this GitHub issue.