Entity Framework Core için En İyi 10 Uygulama
Üzeyir AYDIN
24 EkiEF Core, bir nesne-ilişkisel eşleyici (ORM) işlevi görerek.NET geliştiricilerinin .NET nesneleri kullanarak bir veritabanıyla çalışmasına olanak tanır ve genellikle CRUD işlemlerini yapmak için ihtiyaç duydukları veri erişim kodunun çoğuna olan ihtiyacı ortadan kaldırır.
En İyi Uygulama 1- Endişelerin Ayrılması
Yalnızca veri katmanı projeleri EF'ye bağımlı olmalıdır. DbContext sınıfını DataLayer projesinin içinde tutmanız ve Veri Erişim Katmanında bulunması ve İş Katmanından Çağrılması gereken DbContext'i eklemek için bir uzantı yöntemi oluşturmanız gerekir.
En İyi Uygulama 2- Bağlantı dizinizi güvenli hale getirin
Bağlantı dizelerini Appsettings.json, Web.config ve App.config gibi Ortam değişkenleri ve yapılandırma dosyaları yerine bir KeyVault'ta saklayın
En İyi Uygulama 3 - . AsNoTracking()
EF ayarlama seçeneklerinden biri .AsNoTracking() 'dir .
EF, sorgu tarafından döndürülen varlıklar için ek işleme veya depolama gerçekleştirmez. Ancak, bu varlıkları yeniden takmadan güncelleyemeyeceğiniz anlamına da gelir.
En İyi Uygulama 4 — Verimli Veri Güncelleme
EF Core Ranking'de güncellemeleri gerçekleştirmenin üç yolu
EFCore Güncellemesi > Ekli Güncelleme > Olağan Güncelleme
EFCore Güncellemesi en hızlısıdır
En İyi Uygulama 5 - Verimli Veri Yükleme: En Hızlı Yükleme yöntemi
EF Core'a veri yüklemenin 3 yolu (
Yüklemeyi seçin en hızlısı) Yükleme > İstekli Yükleme > Geç Yükleme'yi seçin
En İyi Uygulama 6 — Kullanıcı Ham SQL'i
Ham SQL genellikle son çare olarak kullanılmalıdır. EF'nin istediğiniz SQL'i oluşturamayacağından ve verilen sorgunun haklı çıkarması için performansın yeterince önemli olduğundan emin olduktan sonra. Ham SQL kullanmak, önemli bakım dezavantajları getirir.
En İyi Uygulama 7 — Kartezyen Patlamadan Kaçının
Adından da anlaşılacağı gibi, kartezyen bir ürünle, yani JOIN'lerle ilgisi var. Bire-çok ilişkide bir JOIN gerçekleştirirken, tek taraflı satırlar N kez çoğaltılır, burada N, çok taraflı eşleşen kayıtların sayısıdır.
En İyi Uygulama 8 — Zaman Uyumsuz Çağrılar
eşzamanlı API'ler yerine her zaman eşzamansız API'lerin kullanılması önemlidir (örn. SaveChanges yerine SaveChangesAsync).
Eşzamanlı API'ler, veritabanı G/Ç süresi boyunca iş parçacığını bloke ederek, iş parçacıklarına olan ihtiyacı ve gerçekleşmesi gereken iş parçacığı bağlam anahtarlarının sayısını artırır.
En İyi Uygulama 9 — LINQ sorgularınızı optimize edin
C# kodu t-SQL'e dönüştürülemez. Lambda ifadeleri yazdığınızdan emin olun, aksi takdirde C# kodunuz veriler alındıktan sonra yürütülür ve bu verimli değildir.
En İyi Uygulama 10 — Verimli Veritabanı Yapısı
EF Core'un verimli tablolar oluşturmasına izin vermek için veri açıklama öznitelikleri sağlamamız gerekir, aksi takdirde EF Core, her zaman boş değere izin veren alanlara sahip ve dize için nvarchar(max) gibi belirli bir veri türünün maksimum boyutuna sahip tablolar oluşturacaktır.
Müşteri Girişi
Hesabınızı yönetmek için giriş yapın