Подтвердить что ты не робот

В сборке не было найдено контекстного типа

Сначала я использую .NET 4.0, MVC3 и EF5 с кодом.

Мое решение разделено на три проекта, с указанными зависимостями:

Project.Web → Project.BLL → Project.DAL

Уровень Project.DAL содержит класс контекста данных сущности и все мои сущности, но мой проект запуска - Project.Web, поэтому он содержит мои Web.config, строки подключения и фактическую базу данных SQL compact.

Я пытаюсь включить миграции, поэтому я могу добавить новую таблицу в свою EF-модель, не очищая существующие данные. Однако, когда я запускаю "Enable-Migrations", я получаю

No context type was found in the assembly 'Project.Web'.

Если я установил проект запуска как Project.DAL, ошибка изменится на

Could not load assembly 'Project.Web'. (If you are using Code First Migrations inside Visual Studio this can happen if the startUp project for your solution does not reference the project that contains your migrations. You can either change the startUp project for your solution or use the -StartUpProjectName parameter.)

Кто-нибудь знает, почему эта ошибка возникает или что я могу сделать, чтобы исправить ее?

4b9b3361

Ответ 1

В итоге я нашел ответ в этом вопросе. В основном, в консоли диспетчера пакетов есть раскрывающийся список "Проект по умолчанию". Вам нужно установить это в проект, содержащий ваш контекст EF.

Ответ 3

Для кого, кто совершил эту ошибку, как я:

Ваш класс контекста должен наследоваться от DbContext, точно так же:

public class DirectorRequestContext : DbContext
{
    public DbSet<DirectorRequest> DirectorRequests { get; set; }
}

Ответ 4

Также происходит, если по какой-либо причине ваш класс с соединением отсутствует в проекте. Поэтому щелкните правой кнопкой мыши и выберите "добавить к проекту".