Forcing ID und Benutzername als einzigartig im ASP.NET -MVC 3 -Modell eindeutig sein
-
27-10-2019 - |
Frage
In meinem Modell von ASP.NET -Website -Benutzer möchte ich beide GUID Id
und Zeichenfolge UserName
S einzigartig sein. Ich werde meine Modellobjekte mithilfe von Entity Framework einem DB zuordnen.
Gibt es ein Build-In-Attribut oder einen anderen Mechanismus, der diese gemeinsame Einschränkung in ASP.NET MVC erleichtert? Oder bin ich verpflichtet, die Einzigartigkeit des Benutzernamens im Benutzerregisterformular manuell zu überprüfen?
Lösung
Erstens sollten MVC oder Ihre Front -End -Bewerbung meiner Meinung nach nicht dafür verantwortlich sein.
Eindeutige ID und eindeutiger Benutzername sind die Einschränkungen, die in der Datenbank erzwungen werden sollten. Andernfalls gehen Sie davon aus, dass die einzige Möglichkeit, Benutzer zu registrieren, von Ihrer Website zu registrieren.
Entity Framework enthält Attribute für die Durchsetzung einzigartiger Einschränkungen. Weitere Informationen hier: http://blogs.msdn.com/b/efdesign/archive/2011/03/09/unique-constraints-the-entity-framework.aspx
In Bezug auf die IDs Ihrer Benutzer würde ich schließlich in Betracht ziehen, diese in der Datenbank zu generieren und dann Ihre Front -End -Anwendung zu generieren.
Andere Tipps
Es könnte etwas integriert sein, aber die Überprüfung auf eindeutige Werte ist ein oder zwei Zeilen, da Sie EF verwenden.
bool uniqueGuid = Users.Any(u => u.Id == "guid");
bool uniqueUser = Users.Any(u => u.UserName == "username");