Ошибка Entity Framework во время модульного теста - PullRequest
1 голос
/ 21 сентября 2011

Я использую структуру сущности.

В одном из моих модульных тестов у меня есть строка вроде:

this.Set<T>().Add(entity);

При выполнении этой строки я получаю:

System.InvalidOperationException: модель, поддерживающая Контекст «InvoiceNewDataContext» изменился, так как база данных создано. Либо удалите / обновите базу данных вручную, либо позвоните Database.SetInitializer с экземпляром IDatabaseInitializer. За Например, стратегия DropCreateDatabaseIfModelChanges будет автоматически удалять и воссоздавать базу данных и, при необходимости, заполнять с новыми данными.

Ну, на самом деле я удалил базу данных и удалил строку соединения.

Я удивлен, что эта ошибка происходит при добавлении, поскольку я не ожидал, что это произойдет, пока я не сохраню данные и не обнаружу, что базы данных не было.

В предыдущих проектах / решениях, которые я создавал во время модульных тестов, мне удавалось добавлять в контекст для целей тестирования, фактически не вызывая SaveChanges.

Кто-нибудь знает, почему это происходит в моих последних проектах / решениях?

1 Ответ

1 голос
/ 21 сентября 2011

Вы уверены, что он действительно не использовал базу данных в ваших предыдущих проектах?Если вы не укажете какую-либо строку подключения, она будет молча использовать базу данных по умолчанию для базы данных SQLExpress с локальным файлом .mdf, поэтому убедитесь, что это не происходит сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...