1

Я пытаюсь установить SQL Server CE 4.0, как моя тестовая база данных для того, чтобы запустить интеграционные тесты, как описано в этой статье: http://lostechies.com/erichexter/2013/01/06/using-sql-compact-for-integration-tests-with-entity-framework/Игнорирование кода-первых миграций для интеграции тестов

Все эти проекты в моей решение:

  • UnitTests
  • Сайт
  • DataAccessLayer
  • ядро ​​

Я добавил 4.0 ссылки SQL Compact CE и ConnectionString в файл app.config по проекту UnitTests, а затем попытался выполнить команду обновления-базы данных:

update-database -ProjectName DataAccessLayer -StartupProjectName UnitTests -Verbose

Это отлично работает для большинства миграций, но это обрывается отделки и после этого я получаю эту ошибку:

Direct column renaming is not supported by SQL Server Compact. To rename a column in SQL Server Compact, you will need to recreate it.

есть ли способ, что я могу отключить миграции и просто воссоздать всю базу данных только для модульных тестов проектов?

ответ

1

Найдено. Просто нужно было установить базы данных инициализатору на проекте модульных тестов:

System.Data.Entity.Database.SetInitializer(new DropCreateDatabaseAlways<MyContext>());

Я называю это от метода FixtureSetup на моем модульного тестирования проекта.

Смежные вопросы