Невозможно включить миграцию для Entity Framework в библиотеке классов.
-
15-11-2019 - |
Вопрос
Я только что начал работать с EF 5 и использую их инструмент миграции кода, но, похоже, получаю сообщение об ошибке, когда пытаюсь включить миграцию.
Я печатаю Enable-Migrations
в консоль менеджера пакетов, а затем говорит
В текущем проекте не найдены классы, производные от DbContext.
Отредактируйте созданный класс конфигурации, чтобы указать контекст, для которого необходимо включить миграцию.
Code First Migrations включена для проекта MyApp.MvcUI.
Затем он создает папку «Миграции» и класс конфигурации в моем проекте MvcUI.Дело в том, что мой DbContext живет в проекте библиотеки классов под названием MyApp.Domain.Он должен делать все это в этом проекте, и у него не должно возникнуть проблем с поиском моего DbContext.
Решение
Ох вау, неважно.Я тупой.
В консоли диспетчера пакетов Nuget вверху есть раскрывающееся меню с надписью «Проект по умолчанию:».Убедитесь, что вы установили это для проекта, для которого хотите запустить команду.
Надеюсь, это поможет кому-то еще избежать моей досадной ошибки.
Другие советы
На самом деле существует три способа запуска команд Nuget в конкретном проекте:
- [Консоль диспетчера пакетов] Установите активный проект в раскрывающемся списке в верхней части окна инструментов консоли.
- [Консоль диспетчера пакетов] Найдите параметр, указывающий проект.Для некоторых командлетов я видел -ProjectName, а некоторые использовали -Project.
- [Обозреватель решений] Щелкните правой кнопкой мыши нужный проект и воспользуйтесь графическим окном диспетчера пакетов («Управление пакетами NuGet...»).