Question

Dans mon modèle les utilisateurs du site Web ASP.NET, je veux être unique est à la fois Guid Id et cordes UserNames. Je vais carte mes objets de modèle à un DB en utilisant Entity Framework.

Y at-il une accumulation dans l'attribut ou un autre mécanisme qui facilite cette contrainte commune dans ASP.NET MVC? Ou suis-je obligé de vérifier manuellement l'unicité du nom d'utilisateur au formulaire d'inscription de l'utilisateur?

Était-ce utile?

La solution

Tout d'abord, à mon avis, MVC, ou votre application avant fin ne doit pas être responsable de le faire.

Id unique et unique nom d'utilisateur sont les contraintes qui doivent être appliquées sur la base de données, sinon, vous faites une hypothèse que la seule façon d'enregistrer les utilisateurs est de votre site Web.

Entity Framework a des attributs pour appliquer des contraintes uniques. Plus d'infos ici: http://blogs.msdn.com/b/efdesign/archive/2011/03/09/unique-constraints-in-the-entity-framework.aspx

Enfin, en ce qui concerne les Ids de vos utilisateurs, je considère automatiquement générer ces derniers dans la base de données, plutôt que votre application finale avant.

Autres conseils

Il pourrait être quelque chose intégré, mais la vérification des valeurs uniques est une ligne ou deux puisque vous utilisez EF.

bool uniqueGuid = Users.Any(u => u.Id == "guid");
bool uniqueUser = Users.Any(u => u.UserName == "username");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top