Как запустить обновление базы данных EF из CLI с фабрикой контекста - PullRequest
1 голос
/ 03 октября 2019

Мой подход к отображению строки подключения в файле конфигурации и использованию контекста базы данных, видимой для миграции, заключается в использовании фабрики контекста, например, здесь: Миграция Entity Framework Core - строка подключения . Построение миграции работает, но когда я пытаюсь запустить фактическую миграцию:

dotnet ef database update

я получаю ошибку:

Найдено более одного DbContext. Укажите, какой использовать. Используйте параметр '-Context' для команд PowerShell и параметр '--context' для команд dotnet.

Во-первых, я понятия не имею, как можно иметь несколько контекстов, поскольку у меня есть только один,Вторая проблема, как указать фабрику (я не могу указать сам контекст, потому что он не будет настроен должным образом, это задача фабрики).

В качестве временного решения я выполнил миграцию с C #код, но я хотел бы знать, как это сделать из CLI (если это вообще возможно с фабрикой контекста).

Обновление 1: похоже, EF-инструмент смущенсвой собственный вывод, потому что когда у меня теперь есть начальная миграция, я больше не могу выполнить создание другой (содержащей изменения) - я получаю ту же ошибку, что и выше.

Обновление 2 : использованиена фабрике помог мой тип контекста вместо универсального DbContext, но поскольку я уже сталкивался с неудачной миграцией сборки при пустых миграциях (хотя раньше это работало), я еще не уверен, что это действительно решение.

...