Ответ 1
Вы пытались использовать параметр -StartupProjectName?
Enable-Migrations -EnableAutomaticMigrations -ProjectName DataAccess -StartupProjectName project1
Последний параметр указывает на эмуляцию работы внутри этого проекта, включая любые настройки из app.config/web.config.
Изменить: как для включения миграции, ошибка, которую вы видите, вероятно, связана с тем, что MigrationsConfiguration создается по умолчанию как внутренняя. Вы можете:
- Сделать общедоступным
- Установите инициализатор базы данных где-нибудь в проекте DataAccess
-
Установите его в app.config/web.config для project1. Несмотря на то, что тип является внутренним, он будет разрешаться во время выполнения и все еще работать:
<entityFramework> <contexts> <context type="DataAccess.FooContext, DataAccess"> <databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[DataAccess.FooContext, DataAccess], [DataAccess.Migrations.Configuration, DataAccess]], EntityFramework, PublicKeyToken=b77a5c561934e089"> </databaseInitializer> </context> </contexts> </entityFramework>