Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 55374|Yanıt: 2

[Kaynak] EF Core Series 4, oluşturulan SQL ifadelerine bakıyor

[Bağlantıyı kopyala]
Yayınlandı 19.02.2021 13:36:34 | | | |
EF Core Serisi 2, OnModelCreating'i kapsüller, yansımalar kullanarak indeksler oluşturur ve daha fazlasını içerir
https://www.itsvse.com/thread-9392-1-1.html

EF Core Series (3) Varlık Çerçevesi Gölge Özellikleri [Yeniden Baskı]
https://www.itsvse.com/thread-9558-1-1.html


Geliştirmede, ef core framework'ü kullanıldığında, linq veya lambda ifadeleri kullanıldığında, sql ifadelerini doğrudan göremeyiz, bu da arıza giderme veya performansı optimize etmemiz için zahmetli olur.
ef, oluşturulan SQL ifadelerini gösterir
https://www.itsvse.com/thread-3813-1-1.html

Bu makale EF Core 5'i örnek olarak kullanıyorEF çıktısıyla oluşturulan SQL ifadelerini görüntülemek için.


İlk olarak, "ConsoleLoggerFactory" değişkeniyle yeni bir consolelogger fabrika değişkeni oluşturun ve oluşturulan sql ifadesi konsola çıktı olarak gönderilir, kod şu şekildedir:

DbContext kodunu aşağıdaki şekilde yapılandırarak ConfigureServices metoduna log çıktısı ekleyin:

Projeyi başlatın ve konsol çıktısını aşağıdaki şekilde görün:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Çalıştırılan DbCommand (1ms) [parametreler=[], CommandType='Metin', Komut Zamanı='30']
      [a] SEÇİN. [Id], [a]. [Engelli], [a]. [Bağlantı], [a]. [İsim], [a]. [PinYin], [a]. [Pozisyon], [a]. [_CreateTime], [a]. [_CreateTimeStamp], [a]. [_UpdateTime], [a]. [_UpdateTimeStamp]
      [Bölgeden] AS [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Çalıştırılan DbCommand (19ms) [Parametreler=[p0='?' (Boyut = 4000)], CommandType='Metin', CommandTimeout='30']
      SEÇ * FROM Alan WHERE pinYin = @p0
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Çalıştırılan DbCommand (1ms) [parametreler=[], CommandType='Metin', Komut Zamanı='30']
      SELECT * FROM Alanı


Eğer where koşulu SQL ifadesi yalnızca parametrelerlenmiş değişkenleri görebiliyorsa, geçilen özel değerleri değil, aşağıdaki yapılandırma eklenir:

İstisna mesajlarına, loglara ve daha fazlasına uygulama verilerinin dahil edilmesini etkinleştirin.

Bu, varlık örneği özelliklerine atanan değerleri içerebilir,

veritabanına gönderilen komutların parametre değerleri ve benzeri diğer veriler.

Bu bayrak yalnızca güvenlik önlemleri varsa etkinleştirilmelidir

Bu verilerin hassasiyetine dayanarak.

Başvuru devam ediyorsa dikkat edin.

Microsoft.EntityFrameworkCore.DbContextOptions generator.UseInternalServiceProvider(system. IServiceProvider),

Bu seçenek, o hizmet sağlayıcının tüm kullanımları için aynı şekilde yapılandırılmalıdır.

Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system) adresini aramamayı düşünün. IServiceProvider)

Bu nedenle EF hizmet sağlayıcıyı yönetecek ve gerektiğinde yeni örnekler oluşturabilir


Tam kurulum şöyledir:

Çizimler aşağıdaki gibidir:



Elbette, yukarıdaki ayarlar DbContext'in OnConfiguring yöntemini geçersiz kılarak da yapılandırılabilir (önerilmez):

(Son)




Önceki:Financial TipRanks Hisse Analizi Dereceleri
Önümüzdeki:EF Core Series (5) SQL ifadeleri veya görünümleri, stored prosedürleri çalıştırır
 Ev sahibi| Yayınlandı 26.09.2021 09:21:07 |
ef, oluşturulan SQL ifadelerini gösterir
https://www.itsvse.com/thread-3813-1-1.html
Yayınlandı 26.10.2021 09:46:19 |
Çalışma yapın, zaman sınırının nasıl olduğunu görün
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com