No DbContext found in Console App using EF Core dotnet EF 迁移添加结果未找到 DbContext

No DbContext found in Console App using EF Core dotnet EF migration add results in No DbContext found

请注意这是一个控制台应用程序。

问题 当使用 dotnet ef migrations add InitialCreate --context Efc.Models.ApplicationDbContext 我收到 以下消息:"No DbContext named 'Efc.Models.ApplicationDbContext' found"

我是运行目录下的dotnet命令。拼写似乎是正确的。

使用VS2019,EntityFramework核心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

Efc.Models -- class 模型库和 ApplicationDbContext

Microsoft.EntityFrameworkCore.SqlServer

Efc.RepositoryLayer -- class 库的库。

Microsoft.EntityFrameworkCore.SqlServer

如果我将 ApplicationDbContext 移动到 EFConsole.ConUI 项目,dotnet ef 命令将起作用。但出于显而易见的原因,ApplicationDbContext 需要位于单独的项目中,以便至少可以从 Efc.Repository 项目中引用它。

编辑: 注意:因为这是一个控制台应用程序,所以我没有 Startup class 并且我没有像 WebApp 那样在其 Startup class 中加载任何服务。这可能是问题所在吗??

我一直在寻找和阅读,直到我的眼睛流血。 :(

感谢您的指导。

尝试打开 Nuget 包管理器控制台: 在 Visual Studio 中:工具 -> NuGet 包管理器 => 包管理器控制台

Select 默认项目为 DbContext class 所在的项目:

运行命令:

add-migration InitialCreate