Tek seferlik yanlış çalışan bir EF Core sorgusunu veya benzerini teşhis etmeye çalışan ve kodunu değiştirmek istemeyen herkes için birkaç seçenek vardır:
SQL Server Management Studio (SSMS) SQL Profiler'ı kullanın
SQL Server Management Studio (SSMS) kuruluysa , SSMS'deki Araçlar menüsünden SQL Profiler'ı çalıştırabilirsiniz :
Ve sonra açıldığında SQL Profiler'da çalışan yeni bir izlemeye başlayın.
Daha sonra EF'ten gelen SQL isteğini görebileceksiniz, bunlar genellikle oldukça iyi biçimlendirilmiş ve okunması kolaydır.
Visual Studio'da Çıktı Penceresini Kontrol Edin
VS2019 kopyamda, EF2.2 kullanarak çıktı penceresini Web Sunucusundan çıktıyı gösterecek şekilde değiştirebilirim (Çıktı bölmesinin üstündeki "Çıktıyı göster" kombinasyonunda uygulamanızın ve web sunucunuzun adını seçin) ve giden SQL de orada gösterilir. Kodumu kontrol ettim ve görebildiğim kadarıyla bunu etkinleştirmek için hiçbir şey yapmadım, bu yüzden bunu varsayılan olarak yapması gerektiğini düşünüyorum:
Sorgularda SQL sunucusuna gönderilen parametreleri görmek istiyorsanız, DBContext'i EnableSensitiveDataLogging
yöntemle kurarken bunu açabilirsiniz , örn.
services.AddDbContext<FusionContext>(options => options
.UseSqlServer(connectionString))
.EnableSensitiveDataLogging()
@Tich - Lil3p yorumlarda , projenin Özellikler sayfasının Hata Ayıklama sekmesinde SQL Hata Ayıklamayı açmak için bir anahtar kullanmaları gerektiğinden bahseder (bu "sqlDebugging": true
, LaunchSettings.json'da ayarlanır). Kontrol ettim ve projelerimden herhangi biri için bunu açmadım, ancak yukarıdakiler sizin için çalışmıyorsa bu da denemeye değer olabilir.