Yeni bir proje başlatmaya hazırlanıyorum ve varlık çerçevesini araştırıyorum. Sorum şu: Varlıkları doğrulamak için en iyi strateji nedir? Çalıştığım diğer projeler, geçerliliğin çoğu için öznitelikleri kullandı, ancak açık olarak, bu durum, çerçeve çerçevesinde mümkün değil. Bu özellik kümeleri kısmi yöntemleri ele alarak bunu yapmanın tek yolu var mı? Tüm tavsiyeler çok takdir edilmektedir.Varlık Çerçeve Doğrulaması
cevap
Daha önce Entity çerçevesini kullanmamıştım ancak hızlı arama birkaç seçeneğinizin olduğunu gösterir. Başvurunuzun Daima
bir seçenek başka katmanında
1) doğrula, ben sadece açıkça orada dışarı atmak düşündüm.
2) daha sonra doğrulama
Muhtemel kırılgan gerçekleştirmek İdare OnChanged olayların içine Hook ve her varlık için değiştirebilirsiniz birçok farklı özellikler şeyler varsa kafa karıştırıcı/sonra Yavaş olacaktı. özelliği doğrulamak için
3) uygulamak kısmi yöntemler kısmi yöntemlerini doğrulama için orada this yazılan ve this örneklerde göre
değiştirir. Bu çok müdahaleci olmadığından ve istediğiniz doğrulamayı seçerek uygulayabileceğiniz için en iyi seçeneğiniz gibi görünüyor.Umarım bu yardımcı olur. İyi şanslar.
ASP.NET MVC kullanıyorsanız, Doğrulama Uygulama Bloğunu veya System.ComponentModel.DataAnnotations öğesini kullanabilirsiniz. Using Data Annotations ve Using Application Block makaleleri Linq kullanarak nasıl yapılacağını gösterir, ancak varlık-çerçeveyle kullanım benzer olmalıdır.
bağlantıları güncel değil gibi görünüyor mu? –
bağlantıları sabit, sonradan düzenlenmiş - MVC'de uygulanabilir. Teşekkürler Jeff – Shimmy
.NET 4'te, Entity-Framework'de kutudan doğrulama doğrulama desteği olacak.
atın: http://blogs.msdn.com/adonet/archive/2010/01/13/introducing-the-portable-extensible-metadata.aspx
Yani
Garip bir şekilde, PEM uzantısı ve örnekleri, bir nedenle, artık MSDN aracılığıyla kullanılamaz. Birisi varsa güncel bir bağlantıya bayılırım! – ladenedge
Umarım bizi kandırmazlar ... Sanırım yanlış söylüyordum, kutunun dışında sadece bir addon olduğunu anlıyorum. Eklentinin http://visualstudiogallery.msdn.microsoft.com/en-us/e6467914-d48d-4075-8885-ce5a0dcb744d adresinden indirilebileceğini ancak bozuk olduğunu görmek için bağlantıya göz atabileceğini söylüyor. – Shimmy
Bu bağlantıyı http://code.msdn.microsoft.com/DesignerExtStartKit/Wiki/View.aspx?title=Home&version=3 adresindeki yorumlarda buldum, henüz ödeme yapmak için zamanım olmadı. – Shimmy
This makale Entity Framework ile Doğrulama Application Block nasıl entegre edileceğini açıklamaktadır ... çok karmaşık doğrulama mantığını uygulamak için çok için çalışmaz. Bazı yardımlar olabilir.
WPF veya Windows Forms kullanıyorsanız, IDataErrorInfo arabirimini uygulayabilirsiniz.
WPF Application Framework (WAF) projenin BookLibrary örnek uygulama İdare Framework yarattığı varlıklar doğrulanabilir gösterir.
Biz() yöntemi SaveChanges nesne bağlamı overrident ve müdahale var
public abstract class ValidationObjectContext : ObjectContext{
...
public override int SaveChanges(SaveOptions options){
ValidateEntities();
return base.SaveChanges(options);
}
}
sen (bekliyor) sonra doğrulama bağlantısı yapılmadan önce son dakikaya kadar bırakılır ancak bu şekilde mutlu olmak grafik ve işlemeye hazır, (herhangi bir değişiklikle ilgili doğrulama için diğer seçeneklerin aksine, sahip olduğumuz bazı karmaşık kurallar yalnızca birkaç özellik belirlendikten sonra geçerlidir).İki seviyeli doğrulama, Temel Mülkiyet validasyonu, string uzunluğu gibi şeyler, nullability vb. Ve iş mantığının doğrulanmasını gerektirebilir.
Varlıklarınızda IValidatableObject uygulamasını düşünün.
- 1. C# varlık çerçeve
- 2. Varlık Çerçeve, başvuru kısıtlaması
- 3. Varlık Çerçeve Kodu İlk
- 4. Varlık-Çerçeve otomatik güncelleştirmesi
- 5. Varlık çerçeve EF.Functions.Like string.Contains
- 6. Varlık çerçeve 7
- 7. Varlık Çerçeve Geçiş API'sı
- 8. Varlık Çerçeve ObjectQuery.Include()
- 9. Symfony API Varlık Doğrulaması
- 10. Varlık Çerçeve 7 ve giriş
- 11. Varlık Çerçeve Modeli kullanılarak Uzaktan
- 12. Varsayılan Varlık Çerçeve zaman aşımı
- 13. Varlık-çerçeve-7 ayrı sınıfa
- 14. Oyna! LDAP ile Çerçeve Kimlik Doğrulaması
- 15. Çerçeve yapısı 2 Kısıtlamalar İstemci tarafı doğrulaması
- 16. Varlık çerçeve geçişi ve belirli güncelleştirmenin eklenmesi
- 17. Varlık çerçeve kodu ilk boş anahtar
- 18. Varlık Çerçeve sorgusunda birden çok Katılma
- 19. Varlık Çerçeve Kodunda Tablo Öneki Nasıl Eklenir?
- 20. Varlık Çerçeve Kodu İlk MySql Çoğullama Tabloları
- 21. SQL FileStream + Varlık Çerçeve mağaza büyük dosyalar
- 22. Varlık Çerçeve Kodu İlk Salt Okunur Tuşu
- 23. İlk önce varlık çerçeve modelindeki izlemeyi kapatın
- 24. Şema bağımsız Varlık Çerçeve Kodu İlk Geçişler
- 25. Varlık Çerçeve .Include() başka Navigasyon özelliği
- 26. Ben Varlık Çerçeve 5 Kod İlk kullanıyorum
- 27. Varlık Çerçeve Kodu ile Npgsql entegrasyonu İlk
- 28. Varlık Çerçeve modelinin gezinme özelliklerini DTO'lara çevirme
- 29. Varlık Çerçeve Kodu İlk - Basamakla Sil
- 30. Varlık Çerçeve eş zamanlılık yenileme ve güncelleştirme
# 2 ve # 3 nasıl farklı? Oluşturduğu kısmi yöntemler, bir şeyleri kaçırmadığım sürece OnChanged olaylarıdır. –
Doğru olabilirsiniz. EF'e baktığımdan beri uzun zaman geçti. – smaclell
Sırasıyla varlık ve özellik düzeyi doğrulaması olarak # 2 ve # 3 okuyorum. Bu iki stratejinin farklı amaçları vardır, elbette: varlık düzeyinde doğrulama, tüm özelliklerin birlikte geçerliliğini test eder (örn., Karşılıklı olarak birbirinden ayrılan özellikler her ikisi de ayarlanmaz), oysa mülkiyet düzeyinde doğrulama, yalnızca tek bir mülkün içeriğini dikkate alır. zaman (ör. bir e-posta adresi doğru formdadır). – ladenedge