Für alle, die nur versuchen, eine einmalige fehlerhafte EF Core-Abfrage oder ähnliches zu diagnostizieren und ihren Code nicht ändern möchten, gibt es mehrere Optionen:
Verwenden Sie SQL Server Management Studio (SSMS) SQL Profiler
Wenn Sie SQL Server Management Studio (SSMS) installiert haben, können Sie den SQL Profiler einfach über das Menü Extras in SSMS starten:
Starten Sie anschließend eine neue Ablaufverfolgung, die in SQL Profiler ausgeführt wird, sobald sie geöffnet wird.
Sie können dann die eingehende SQL-Anfrage von EF sehen. Sie ist im Allgemeinen ziemlich gut geformt und leicht zu lesen.
Überprüfen Sie das Ausgabefenster in Visual Studio
In meiner Kopie von VS2019 kann ich mit EF2.2 das Ausgabefenster so ändern, dass die Ausgabe vom Webserver angezeigt wird (wählen Sie den Namen Ihrer App und Ihres Webservers in der Kombination "Ausgabe anzeigen von" oben im Ausgabebereich aus). Dort wird auch das ausgehende SQL angezeigt. Ich habe meinen Code überprüft und soweit ich sehen kann, habe ich nichts getan, um dies zu aktivieren. Ich denke, dies muss standardmäßig geschehen:
Wenn Sie die an SQL Server gesendeten Parameter in den Abfragen sehen möchten, können Sie dies aktivieren, wenn Sie den DBContext mit der EnableSensitiveDataLogging
Methode einrichten , z
services.AddDbContext<FusionContext>(options => options
.UseSqlServer(connectionString))
.EnableSensitiveDataLogging()
@Tich - Lil3p erwähnt in den Kommentaren, dass sie auch einen Schalter verwenden müssen, um das SQL-Debugging auf der Registerkarte Debug auf der Eigenschaftenseite des Projekts (die "sqlDebugging": true
in LaunchSettings.json festgelegt ist) zu aktivieren. Ich habe es überprüft und ich habe es für keines meiner Projekte aktiviert, aber es kann sich auch lohnen, damit zu experimentieren, wenn das oben Genannte für Sie nicht funktioniert.