Использование инструмента миграции EF4 с использованием подхода, основанного на модели

Утилита миграции EF кажется очень приятной при первом использовании кода.

Основываясь на этом сообщении в блоге, я попытался установить его в моем проекте, где мы используем модель-first. При запуске команды Enable-Migrations я получаю следующую ошибку:

Создание DbModelBuilder или запись EDMX из DbContext, созданного с использованием Database First или Model First, не поддерживается. EDMX может быть получен только из кода First DbContext, созданного без использования существующей DbCompiledModel.

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

Ответ 1

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

В основном вы используете пользовательский t4 для генерации DbMigrationsConfiguration и DbContext из вашей модели, и вам вообще не нужно запускать Enable-Migration. Просто запустите Add-Migration и Update-Database в консоли диспетчера пакетов.

http://blog.amusedia.com/2012/08/entity-framework-migration-with-model.html

Я буду обновлять запись в блоге и t4, чтобы сделать его более удобным для пользователей позже.

Ответ 2

Я искал одно и то же решение и нашел это: Блок создания баз данных Entity Designer После установки, когда вы выберете "Generate Database from Model...", появится всплывающее окно с новым мастером, и вы можете выбрать "Generate Migration T-SQL".