DbContext не найден в консольном приложении, использующем EF Core, do tnet EF миграция добавляет результаты в DbContext не найден - PullRequest
0 голосов
/ 04 мая 2020

Обратите внимание, что это приложение CONSOLE.

Проблема При использовании do tnet ef миграции добавьте InitialCreate --context Ef c .Models.ApplicationDbContext Я получаю следующее сообщение: «Не найден DbContext с именем« Ef c .Models.ApplicationDbContext »найден»

Я выполняю команду do tnet в каталоге EFConsole.ConUI. Написание кажется правильным.

Используя VS2019, EntityFramework Core 3.1.3

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(@"Server=SSSSSSSS\XXSQLSERVER;Database=PhoneNumberTest;User ID=XXXXXXXX;Password=XXXXXXXX");
        }

Следующие пакеты установлены, как указано:

Консольный проект EFConsole.ConUI

Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore

Ef c .Models - библиотека классов для моделей и ApplicationDbContext

Microsoft.EntityFrameworkCore.SqlServer

Ef c .RepositoryLayer - библиотека классов для репозиториев.

Microsoft.EntityFrameworkCore.SqlServer

Если переместить ApplicationDbContext в проект EFConsole.ConUI, сработает команда do tnet ef. Но по очевидным причинам ApplicationDbContext должен находиться в отдельном проекте, чтобы на него можно было ссылаться как минимум из проекта Ef c .Repository.

EDIT: Примечание: потому что это это консольное приложение У меня нет класса Startup, и я не загружал никаких сервисов, как это было бы в WebApp в его классе Startup. Может ли это быть проблемой ??

Я искал и читал, пока мои глаза не кровоточили. : (

Спасибо за любые советы.

1 Ответ

0 голосов
/ 06 мая 2020

Попробуйте открыть консоль диспетчера пакетов Nuget: В Visual Studio: Инструменты -> Диспетчер пакетов NuGet => Консоль диспетчера пакетов

Выберите проект по умолчанию, в котором класс DbContext: enter image description here

Запустите команду:

add-migration InitialCreate 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...