Id et Forcing UserName être unique dans ASP.NET MVC 3 Modèle
-
27-10-2019 - |
Question
Dans mon modèle les utilisateurs du site Web ASP.NET, je veux être unique est à la fois Guid Id
et cordes UserName
s. 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?
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");