Bir web uygulamasının her büyük bölümü için birden çok XXX : DbContext
sınıfına sahip olmak iyi bir uygulamadır (veritabanında en az 50 tablo içeren büyük bir alan göz önüne alındığında)? Örneğin: MembershipContext, BlogContext, StoreContext vb. Veya tüm db erişimi ile ilgili şeyler için tek bir DatabaseContext
olması daha uygundur.Çoklu DbContext sınıfları. İyi ya da kötü?
cevap
Birden çok DbContext sınıfı kullanmak, çapraz işlemlerin karmaşık olmasını (bu sorunla ilgili bir çözüm için web üzerinde bir çözüm bulabilirsiniz (örnek: http://pastebin.com/YEDqyH0n), ancak haklı olabilir. Her şey, mimarinize ve tasarlamak istediğiniz ayrıma bağlıdır.
Her durumda, DbContexts öğelerinizi nasıl kullanacağınız konusunda bir aşındırma katmanına sahip olmak için Depo ve UnitOfWork kalıplarına bakmalısınız. Burada bakın: ASP.NET MVC kullanıyorsanız Multiple DbContexts in N-Tier Application ve burada EF and repository pattern - ending up with multiple DbContexts in one controller - any issues (performance, data integrity)?.
50 tablo için birden çok DbContexts olması gerekebileceğini düşünüyorum. Bu yüzden birden fazla DbContexts kullanmanızı tavsiye ederim. Ancak, diğer katmanlardaki gerçek uygulamadan bağımsız olmak için Deposu ve UnitOfWork kalıplarını kullanarak sarmalısınız (bunun gibi fikrinizi daha sonra kolayca değiştirebilir ve yalnızca bir DbContext işareti kullanabilirsiniz).
Umarım bu yardımcı olur.
- 1. Çoklu DBContext, birden Database.SetInitializer
- 2. DateTimeZone hatası: Bilinmeyen ya da kötü zaman dilimi
- 3. Javascript Ad Alanı'nı Pencereye Ayarla: Kötü Fikir? Ya da Brilliant?
- 4. Memnuniyet açısından iyi ya da kötü bir fikirde milyon anahtar-değer depolama?
- 5. Cakephp 3: Varlık gelen Tablo fonksiyonları Çağrı kötü ya da iyi bir fikir mi?
- 6. jQuery Çoklu Seçenek - Bir seçenek seçilirse, kontrol ya da değil
- 7. MySQL "Ya da" Koşul
- 8. sd kartında ya da
- 9. Ya Da Gerekli Doğrulama
- 10. ya da değil
- 11. DbContext,
- 12. Silverlight ReaderWriterLock Uygulaması İyi/Kötü?
- 13. DbContext
- 14. Dosya ya da montaj yüklenemedi NHibernate.XmlSerializers
- 15. RetainSameConnection - kullanın ya da değil?
- 16. UIPOPOVER? ya da sahte mi?
- 17. -bash:/usr/bin/yum:/usr/bin/python: Kötü tercüman: Böyle bir dosya ya da dizin
- 18. Çoklu DbContext ile Çalışma Kalıbı ve Çalışma Kalıbının En İyi Uygulaması
- 19. Bir görüntüyü Ruby ya da imagemagick ile entropi edin ya da hesaplayın
- 20. Eğer Travis-Ci olsun ya da olmasın
- 21. ASP.Net Kimliği Birleştirme DbContext benim DbContext
- 22. Android telefonda parodi ya da sahte konum
- 23. Ruby 2.1 ya da Ruby 2.0 ya da 1.9 ile uyumlu bellek kullanımı
- 24. Ya da iki argüman ile sözdizimi (||; &&)
- 25. SQL Server Kötü ve En İyi Yöntemleri
- 26. Yöntem aşırı yükleme - iyi veya kötü tasarım?
- 27. caffe2 Tensor atama, yapım ya da kopyalama
- 28. DbContext, ASP.Net MVC
- 29. HATA Dosya ya da derleme 'AjaxControlToolkit' ya da bağımlılıklarından biri yüklenemedi
- 30. ASP.NET MVC 3 'Hata' ya da ana görünümü bulunmadı ya da görünüm motoru aranan yerleri desteklemiyor
DbContext zaten Deposu ve Çalışma Birimi kalıplarını uygulamaktadır! –