Validation du cadre d'entité
Je suis prêt à commencer un nouveau projet et j'ai fait des recherches sur l'entity framework. Ma question est quelle est la meilleure stratégie pour la validation des entités? D'autres projets sur lesquels j'ai travaillé ont utilisé des attributs pour la plupart de la validation, mais évidemment ce n'est pas possible dans le cadre de l'entité. Est la seule façon de le faire par la manipulation de l'méthodes partielles dans les accesseurs de propriété? Tous les conseils sont appréciés.
source d'informationauteur Micah
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas vraiment utilisé le cadre de l'Entité avant, mais une rapide recherche indique que vous disposez de plusieurs options.
1) Valider à une autre couche de votre application
Toujours une option, j'ai juste pensé que je voudrais jeter explicite.
2) Crochet dans le OnChanged événements de l'Entité, puis effectuer la validation
Probablement fragile, et il est devenu confus/lent après si vous avez plusieurs propriétés différentes choses qui peuvent changer pour chaque entité.
3) mettre en Œuvre partielle des méthodes pour valider les modifications de propriété
Selon cette post et cette procédure pas à pas il y a des méthodes partielles disponibles pour la validation. Ce qui semble être votre meilleure option, car il n'est pas très intrusive et vous pouvez choisir de mettre en œuvre la validation que vous souhaitez.
J'espère que ça aide. Bonne chance.
.NET 4, il va être out-the-box en charge de la validation au sein de l'Entité-Cadre.
Découvrez: http://blogs.msdn.com/adonet/archive/2010/01/13/introducing-the-portable-extensible-metadata.aspx
Afin de ne pas travailler dur sur la mise en œuvre trop complexe logique de validation...
Si vous utilisez ASP.NET MVC, alors vous pouvez utiliser la Validation de blocage d'Application ou du Système.ComponentModel.DataAnnotations. Les articles À L'Aide D'Annotations De Données et À L'Aide De Bloc D'Application montrer comment faire à l'aide de Linq, mais l'utilisation de l'entité-cadre devrait être semblable.
Cette article décrit comment intégrer la Validation de l'Application Bloc avec Entity Framework. Il peut être de quelque secours.
Nous avons overrident le contexte de l'objet et intercepter le SaveChanges() la méthode
De cette façon, la validation est laissé jusqu'à la dernière minute avant les connexions sont faites, mais après vous (attendre) à être heureux avec le graphique et prêt à s'engager, (contrairement à d'autres options à la validation de toute modification, depuis quelques règles complexes comme ceux que nous avons ne sont valables qu'après plusieurs propriétés sont définies.). Nous avons deux niveaux de validation, Propriété de Base de validation, des choses comme la longueur de la chaîne, la possibilité de valeur null etc. Et la Logique Métier de validation, ce qui peut exiger la vérification des règles à travers plusieurs objets, éventuellement frapper la base de données pour confirmer.
Si vous utilisez Windows Forms ou WPF, alors vous pourriez mettre en œuvre les IDataErrorInfo interface.
La BookLibrary exemple d'application de la WPF Cadre applicatif (WAF) projet montre comment des entités créées par l'Entity Framework peut être validée.
Envisager la mise en œuvre Ivalidatableobjet dans vos entités.