В настоящее время мы реализуем наше уникальное ограничение путем выполнения SQL непосредственно в методе SeedEF Code First, Unique контрсилы и тестирование
context.Database.ExecuteSqlCommand(
"BEGIN TRY ALTER TABLE MyTable ADD CONSTRAINT UC_CODE UNIQUE (COL1, COL2, COL3) END TRY BEGIN CATCH END CATCH");
Однако, сейчас я не могу писать тесты правильно для этого.
Я высмеиваю репозиторий и вставляю одну и ту же запись дважды, но ... конечно, не возникает ошибка, потому что база данных на самом деле не вызвана (а ее не должно быть), но тогда как мне написать тест, который гарантирует, что ошибка будет вставлена при вставке дублирующей записи?
Почему бы вам не указать ваш тест в базе данных тестов? – cameronjchurch
@cameronjchurch, потому что это медленно, и взломано. – CaffGeek