EF Effort - неверный ключ ограничивает ошибки, не возникающие при использовании базы данных в памяти
Я использую Effort как провайдер базы данных EntityFramework в памяти.
Я использую подход, основанный на коде EF, поэтому хочу иметь возможность проверить, все ли в порядке с моей базой данных, то есть правильно ли определены классы сущностей и все свойства навигации и т. Д.
Я добавил неверное ограничение и ожидал увидеть ошибку во всех моих тестах:
Введение ограничения FOREIGN KEY "FK_dbo.UsageSummaries_dbo.Programs_ProgramId" в таблицу "UsageSummaries" может вызвать циклы или несколько каскадных путей. Укажите ON DELETE NO ACTION или ON UPDATE NO ACTION, либо измените другие ограничения FOREIGN KEY. Не удалось создать ограничение или индекс. Смотрите предыдущие ошибки.
Однако этого не произошло, все мои тесты с базой данных в памяти прошли нормально - и я получил ошибку, как только была инициализирована фактическая база данных.
Вот как я инициализирую БД в памяти:
Я могу получить правильную ошибку в моих методах тестирования, если только я не использую this.connection
от Усилия DbConnectionFactory.
Как я могу заставить Effort in-memory DB выдавать такие ошибки?
Почему они не происходят по умолчанию?
В более широком смысле, есть ли лучший способ для проверки правильности базы данных в первую очередь?