Şu anda yapıyorum uygulama veritabanı nesneleri temsil etmek için Stored prosedürleri ve el yapımı sınıf modelleri kullanıyor. Bazı insanlar Entity Framework kullanmayı önerdiler ve projeye o kadar uzak olmadığım için buna geçmeyi düşünüyorum. Benim sorunum, EF için tartışan insanların bana kötü şeyleri değil, sadece iyi şeyleri anlattıklarını hissediyorum :)
Asıl endişelerim:
- DataAnnotations kullanarak İstemci Tarafı doğrulaması istiyoruz ve öyle görünüyor ki yine de istemci tarafı modeller oluşturmam gerekiyor, böylece EF'nin bu kadar kodlama süresinden tasarruf edeceğinden emin değilim.
- Ağ üzerinden geçerken sınıfları olabildiğince küçük tutmak istiyoruz ve EF kullanmanın genellikle gerekmeyen ekstra veriler içerdiğini okudum.
- Birden fazla veritabanını geçen karmaşık bir veritabanı katmanına sahibiz ve EF'in bunu kaldırabileceğinden emin değilim. Kullanıcılar, Durum Kodları, Türler, vb. Gibi şeyler içeren bir Ortak veritabanımız ve uygulamanın farklı örnekleri için ana veritabanlarımızın birden fazla örneği. SELECT sorguları veritabanlarının tüm örneklerini sorgulayabilir ve sorgulayacaktır, ancak kullanıcılar yalnızca üzerinde çalıştıkları veritabanında bulunan nesneleri değiştirebilir. Uygulamayı yeniden yüklemeden veritabanlarını değiştirebilirler.
- Nesne modları çok karmaşık ve çoğu zaman katılan birkaç üye var.
EF için bağımsız değişkenler:
- Eşzamanlılık. Her kayıttan önce kaydın güncellendiğini görmek için çeklerde kod yazmam gerekmeyecekti
- Kod Üretimi. EF benim için kısmi sınıf modelleri ve POCO'lar üretebilir, ancak onaylama ve bazı özel ayrıştırma yöntemleri için hala müşteri tarafı modeller oluşturmamız gerektiğini düşündüğümden bu zamandan çok tasarruf edeceğinden emin değilim.
- Her veritabanı nesnesi için CRUD saklı yordamları oluşturmamız gerekmediğinden geliştirme hızı
Mevcut mimarimiz, parametreli hale getirilmiş Kayıtlı Prosedürler, WCF servisine ve WPF istemcisine giden / giden POCO objeleri ve WPF istemcisinden veri tabanına çağrı yapan bir WPF Servisinden ve POCO'ları Doğrulama amacıyla sınıf Modellerine dönüştüren WPF masaüstü istemcisinden oluşmaktadır. Bağlanma verileri.
Öyleyse sorum şu, EF bunun için doğru mu? EF ile ilgili bilmediğim tuzaklar var mı?