Команды PowerShell, добавляющие миграцию EF по коду

Интересно, может ли кто-нибудь помочь мне решить эту проблему.

Я могу использовать консоль диспетчера пакетов для включения миграции, добавления миграции и т. д. и т. д. Но я хочу иметь возможность сделать это с помощью кода С# через объект PowerShell

Что у меня есть до сих пор:

var ps = PowerShell.Create();
ps.AddCommand("Set-ExecutionPolicy");
ps.AddArgument("Unrestricted");
ps.AddCommand("Import-Module");
ps.AddParameter("Name");
ps.AddArgument(@"'.\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1'";
ps.AddCommand("Add-Migration");
ps.AddParameter("Name");
ps.AddArgument("Migration21Sept");
ps.AddParameter("ProjectName");
ps.AddArgument("Context1");
ps.Invoke();

Но когда я выполняю этот код, я получаю сообщение об ошибке: "Термин "Add-Migration" не распознается как имя командлета, функции, файла сценария или работающей программы"


person mick_a_p    schedule 21.09.2015    source источник
comment
Означает, что модуль (EntityFramework.psm1) был загружен неправильно   -  person Mathias R. Jessen    schedule 21.09.2015
comment
вы также можете использовать DbMigrator для переноса базы данных. В чем ваша настоящая проблема? Мне кажется, что это XY-задача   -  person Default    schedule 21.09.2015
comment
Спасибо за ответ .. Может ли быть какая-то причина, по которой он не загружается должным образом? Или не могли бы вы указать мне направление, как сделать это правильно?   -  person mick_a_p    schedule 21.09.2015
comment
@Default Я знаю о Migrator и классе ToolingFacade. Я могу сформировать новую миграцию с помощью класса ToolingFacade, и в этом объекте формы находится код, необходимый для создания этой миграции. Итак, теоретически я мог бы создать новый файл и добавить в него код. Затем обновите эту миграцию. Хотя проблема, с которой я столкнулся, заключалась в том, что я не замечал изменений в моей модели, а методы Up & Down были пустыми. Мне просто нужен способ по коду создать новый файл миграции. Поэтому я буду использовать DbMigrator, чтобы справиться с этим.   -  person mick_a_p    schedule 21.09.2015


Ответы (1)


Перейдите в каталог вашего объекта, Shift + щелкните правой кнопкой мыши, затем выберите «Открыть окно powershell здесь».

Миграции dotnet ef добавляют "MigrationName"

person Ben    schedule 17.08.2017