Принуждение идентификатор и имя пользователя быть уникальным в модели ASP.NET MVC 3
-
27-10-2019 - |
Вопрос
В моей модели пользователей веб -сайта ASP.NET я хочу оба GUID Id
и строка UserName
s, чтобы быть уникальным. Я собираюсь отобразить свои объекты модели с БД, используя структуру сущности.
Есть ли встроенный атрибут или какой-то другой механизм, который облегчает это общее ограничение в ASP.NET MVC? Или я обязан вручную проверять уникальность пользователя в форме регистрации пользователя?
Решение
Во -первых, по моему мнению, MVC или ваше фронтальное приложение не должно нести ответственность за это.
Уникальный идентификатор и уникальное имя пользователя - это ограничения, которые должны применяться в базе данных, в противном случае вы предполагаете, что единственный способ зарегистрировать пользователей - это ваш сайт.
Framework Entity имеет атрибуты для обеспечения уникальных ограничений. Подробнее здесь: http://blogs.msdn.com/b/efdesign/archive/2011/03/09/unique-constraints-in-the-entity-framework.aspx
Наконец, что касается идентификаторов ваших пользователей, я бы рассмотрел автоматическое генерирование их в базе данных, а не ваше фронтальное приложение.
Другие советы
Там может быть что-то встроенное, но проверка уникальных значений-это одна или две строки, так как вы используете EF.
bool uniqueGuid = Users.Any(u => u.Id == "guid");
bool uniqueUser = Users.Any(u => u.UserName == "username");