Ne Entity Framework 5 soutien à des contraintes uniques?
Demandais si Entity Framework 5 prend en charge les contraintes uniques sur les propriétés d'entité? Si oui, comment puis-je spécifier qu'une propriété doit être unique?
- Pas de. Mais c'est depuis Entity Framework 6.1.
Vous devez vous connecter pour publier un commentaire.
Non, il ne le fait pas. Il y avait des plans dans le passé pour y inclure une contrainte unique fonctionnalité en EF 5.0:
http://blogs.msdn.com/b/efdesign/archive/2011/03/09/unique-constraints-in-the-entity-framework.aspx
Mais vous pouvez voir qu'il ya une mise à jour sur le sommet de la poste:
Vous pouvez voter pour l'élever, éventuellement, la priorité est mise avec...
http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/suggestions/1050579-unique-constraint-i-e-candidate-key-support
...parce que, apparemment, il n'est même pas sur la feuille de route pour EF 6.0 pour l'instant:
http://entityframework.codeplex.com/wikipage?title=Roadmap
Eh bien, je cherchais une solution et finalement j'ai trouvé.
lorsque vous générez la migration dans le code, vous pouvez créer des clés uniques
De Validation avant d'insérer vous pouvez le faire sur BLL niveau, donc je pense qu'il peut résoudre votre problème.
Tandis que les contraintes sont toujours pas pris en charge hors de la boîte par EF (version 6.0 que j'écris ces lignes), il y a quelques solutions de contournement pour une Première approche de Code pour obtenir le comportement désiré. Voir un basés sur les attributs de la solution, comme une réponse à une question similaire. Fonctionne avec EF 5.0+.
EDIT:
Partir avec EF 6.1 les index uniques sont pris en charge:
Ils sont les mêmes que les contraintes pour la plupart des fins pratiques.
Comme mentionné ci-dessus, il n'est pas pris en charge, mais comme pour l'instant, quand j'ai créer une base de données par programmation (Premier Code) j'utilise le code suivant dans l'init db section:
J'ai trouvé un travail autour de afin de parvenir à des contraintes uniques sur les propriétés d'entité. C'est vraiment
et intuitive. Veuillez vous référer à mon autre post:
https://stackoverflow.com/a/16496291/1873113