10

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

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

Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel.

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

+1

Я думаю, что нет - это то, что говорит исключение, но было бы хорошим предложением [Data UserVoice] (http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions). –

+0

+1 для ссылки в блоге –

ответ

3

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

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

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

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

+0

Интересно, я вернусь к работе через три недели и обязательно проверю это, спасибо. – Johnny5

+0

Я еще не применил это к моему проекту, не уверен, что он будет работать «из коробки», но пока это единственное решение. – Johnny5

+0

Я встречаюсь с той же проблемой. Но плагин Code Second не работает с EF 6 ...... Как это можно решить? – Franva

3

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