Проверка на дублируемую запись в ASP.NET 5 MVC 6

asp.net-core asp.net-core-mvc entity-framework-core

Вопрос

Используя asp.net 5, MVC 6, сначала код, сущность Framework 7, бета-версия 8.

Я понимаю, что некоторую проверку можно обработать с помощью аннотаций по свойствам, например, типа данных, минимальных значений и максимальных значений и сценариев jquery, но я не уверен, как в проверке кода против дублирования записи, поступающей в базу данных, например, предотвращение дублирования e -mail reg на форме.

Есть ли какая-либо аннотация, которую я могу использовать для этого в свойстве модели, или мне нужно что-то закодировать в моем контроллере для обработки этой пользовательской проверки? Кто-нибудь получил пример для обмена?

Популярные ответы

EF7 не имеет волшебства для предотвращения дублирования значений в таблице. Единственный способ проверить дубликаты - сделать обратную связь с базой данных. Лучший способ сделать это - с уникальным ограничением. Это может быть выражено как уникальный индекс. Любая попытка вставить дублируемую запись должна вызвать исключение.

Тем не менее, вы можете настроить EF7 на распознавание уникального индекса в вашей базе данных в методе OnConfiguring. См. Индексы: настройка вашей модели в документах EF7.

        modelBuilder.Entity<User>()
            .Index(b => b.Email)
            .Unique();


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему