Пакет миграции первого кода EntityFramework

Пакет nuguet для EntityFramework (6.1.3) устанавливает некоторые инструменты, которые можно запустить из консоли диспетчера пакетов nuget (например, AddMigration, Update-Database и т. д.). Они доступны, если вы используете nuget и загружены соответствующие файлы .ps.

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

Есть ли альтернатива для выполнения этих сценариев без возврата к nuget?


person paudirac    schedule 16.12.2015    source источник


Ответы (3)


Как уже упоминалось @ErikEJ, вы можете использовать migrate.exe из командной строки. К сожалению (из документов):

Все, для чего предназначена эта утилита, — это выполнять миграции. Он не может генерировать миграции или создавать сценарии SQL.

Таким образом, вы можете запускать любые существующие миграции, но не можете создавать новые с помощью этого инструмента. Это делает migrate.exe довольно плохой заменой инструментов, которые EF предоставляет в проводнике диспетчера пакетов.

Я попытался вручную импортировать файл EntityFramework.psd1 в консоли диспетчера пакетов:

PM> Import-Module ".\packages\EntityFramework\tools\EntityFramework.psd1"

Хотя это сделало команду Enable-Migrations доступной, ее выполнение привело к следующей ошибке:

Пакеты не установлены.

Пакет EntityFramework не установлен в проекте «Foo».

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

person mikesigs    schedule 22.01.2016

Да, вы запускаете migrate.exe из командной строки, он включен в пакет NuGet в папке «Инструменты».

https://msdn.microsoft.com/en-us/data/jj618307.aspx

person ErikEJ    schedule 16.12.2015

Из проблемы с пакетом миграции с кодом в Entity Framework:

Команды EF не появятся в консоли VS, пока я не добавлю version_in_path: true в пакет.dependencies:

nuget EntityFramework ~> 6.2 version_in_path: true
person cadull    schedule 20.05.2020