Невозможно включить миграции для Entity Framework в библиотеке классов - PullRequest
43 голосов
/ 02 марта 2012

Я только что присоединился к EF 5 и использую их инструмент миграции с кодом, но мне кажется, что я получаю сообщение об ошибке при попытке включить миграцию.

Я набираю Enable-Migrations в консоли диспетчера пакетов и затем выдает

В текущем проекте не найдено классов, производных от DbContext.
Отредактируйте сгенерированный класс Configuration, чтобы указать контекст, для которого необходимо выполнить миграцию.
Code First Migrations включена для проекта MyApp.MvcUI.

Затем он создает папку Migrations и класс Configuration в моем проекте MvcUI. Дело в том, что мой DbContext живет в проекте библиотеки классов под названием MyApp.Domain. Он должен делать все это в этом проекте и без проблем найти мой DbContext.

Ответы [ 2 ]

106 голосов
/ 02 марта 2012

Ого, неважно. Я тупой.

В консоли диспетчера пакетов Nuget вверху есть раскрывающееся меню с надписью «Проект по умолчанию:». Убедитесь, что вы установили это для проекта, для которого вы хотите выполнить команду.

Надеюсь, это поможет кому-то еще избежать моей смущающей ошибки.

11 голосов
/ 02 марта 2012

На самом деле есть 3 способа заставить команды Nuget работать в определенном проекте:

  1. [Консоль диспетчера пакетов] Установите активный проект в раскрывающемся списке в верхней части окна консоли инструмента
  2. [Консоль диспетчера пакетов] Найдите параметр, чтобы указать проект. Для некоторых командлетов я видел -ProjectName, а для некоторых -Project
  3. [Solution Explorer] Щелкните правой кнопкой мыши по нужному проекту и используйте графическое окно диспетчера пакетов (Управление пакетами NuGet ...).
...