Forzar la identificación y el nombre de usuario para ser únicos en el modelo ASP.NET MVC 3
-
27-10-2019 - |
Pregunta
En mi modelo de usuarios de sitios web de ASP.NET, quiero ambos GUID Id
's y cadena UserName
es ser único. Voy a asignar mis objetos modelo a un DB usando el marco de entidad.
¿Existe un atributo incorporado o algún otro mecanismo que facilite esta restricción común en ASP.NET MVC? ¿O estoy obligado a verificar manualmente la singularidad del nombre de usuario en el formulario de registro de usuario?
Solución
En primer lugar, en mi opinión, MVC, o su aplicación frontal no deberían ser responsables de hacerlo.
La identificación única y el nombre de usuario único son las limitaciones que deben aplicarse en la base de datos, de lo contrario, está suponiendo que la única forma de registrar a los usuarios es de su sitio web.
El marco de la entidad tiene atributos para hacer cumplir las limitaciones únicas. Más información aquí: http://blogs.msdn.com/b/efdesign/archive/2011/03/09/unique-constraints-in-the-entityframework.aspx
Finalmente, con respecto a las ID de sus usuarios, consideraría automáticamente generarlos dentro de la base de datos, en lugar de su aplicación front -end.
Otros consejos
Podría haber algo incorporado, pero verificar valores únicos es una o dos líneas ya que está utilizando EF.
bool uniqueGuid = Users.Any(u => u.Id == "guid");
bool uniqueUser = Users.Any(u => u.UserName == "username");