Мой подход к отображению строки подключения в файле конфигурации и использованию контекста базы данных, видимой для миграции, заключается в использовании фабрики контекста, например, здесь: Миграция Entity Framework Core - строка подключения . Построение миграции работает, но когда я пытаюсь запустить фактическую миграцию:
dotnet ef database update
я получаю ошибку:
Найдено более одного DbContext. Укажите, какой использовать. Используйте параметр '-Context' для команд PowerShell и параметр '--context' для команд dotnet.
Во-первых, я понятия не имею, как можно иметь несколько контекстов, поскольку у меня есть только один,Вторая проблема, как указать фабрику (я не могу указать сам контекст, потому что он не будет настроен должным образом, это задача фабрики).
В качестве временного решения я выполнил миграцию с C #код, но я хотел бы знать, как это сделать из CLI (если это вообще возможно с фабрикой контекста).
Обновление 1: похоже, EF-инструмент смущенсвой собственный вывод, потому что когда у меня теперь есть начальная миграция, я больше не могу выполнить создание другой (содержащей изменения) - я получаю ту же ошибку, что и выше.
Обновление 2 : использованиена фабрике помог мой тип контекста вместо универсального DbContext
, но поскольку я уже сталкивался с неудачной миграцией сборки при пустых миграциях (хотя раньше это работало), я еще не уверен, что это действительно решение.