Forzare Id e UserName per essere unico in ASP.NET MVC 3 modello
-
27-10-2019 - |
Domanda
Nel mio ASP.NET modello gli utenti del sito web, voglio che sia Id
s String Guid di UserName
e di essere unico. Ho intenzione di mappare i miei oggetti del modello ad un DB tramite Entity Framework.
C'è una build-in attributo o qualche altro meccanismo che facilita questo vincolo comune in ASP.NET MVC? O sono obbligato a controllare manualmente il nome utente unicità al modulo di registrazione utente?
Soluzione
In primo luogo, a mio parere, MVC, o l'applicazione front-end non dovrebbe essere responsabile di fare questo.
Unico Id e unico utente sono i vincoli che dovrebbero essere applicate sulla base di dati, in caso contrario, si stanno facendo un presupposto che l'unico modo per registrare gli utenti è dal tuo sito web.
quadroentità ha gli attributi per far rispettare vincoli univoci. Maggiori informazioni qui: http://blogs.msdn.com/b/efdesign/archive/2011/03/09/unique-constraints-in-the-entity-framework.aspx
Infine, per quanto riguarda gli ID dei tuoi utenti, mi avrebbe preso in considerazione la generazione automatica questi all'interno del database, piuttosto che l'applicazione front-end.
Altri suggerimenti
Ci potrebbe essere qualcosa di built-in, ma il controllo di valori unici è una riga o due dal momento che si sta utilizzando EF.
bool uniqueGuid = Users.Any(u => u.Id == "guid");
bool uniqueUser = Users.Any(u => u.UserName == "username");