使用EF Core dotnet EF迁移添加的Console App中没有找到DbContext,结果是没有找到DbContext。

问题描述 投票:0回答:1

请注意这是一个CONSOLE应用程序。

问题当使用dotnet ef migrations添加InitialCreate --context Efc.Models.ApplicationDbContext时,我收到以下消息。"没有找到名为'Efc.Models.ApplicationDbContext'的DbContext"

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

使用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

Efc.Models -- 模型和ApplicationDbContext的类库。

Microsoft.EntityFrameworkCore.SqlServer

Efc.RepositoryLayer -- 仓库的类库。

Microsoft.EntityFrameworkCore.SqlServer

如果我把ApplicationDbContext移到EFConsole.ConUI项目中,dotnet ef命令就会工作。但是由于明显的原因,ApplicationDbContext需要在一个单独的项目中,这样它至少可以从Efc.Repository项目中引用。

EDIT.Repository项目注意:因为这是一个控制台APP,我没有Startup类,而且我没有像WebApp在其Startup类中加载任何服务。 这可能是问题所在吗?

我已经搜索和阅读,直到我的眼睛在流血。 :(

谢谢你的指导。

asp.net-mvc entity-framework dbcontext
1个回答
0
投票

尝试打开Nuget包管理器控制台:在Visual Studio中。Tools -> NuGet Package Manager => Package Manager Console。

选择DbContext类所在的默认项目。enter image description here

运行命令:

add-migration InitialCreate 
© www.soinside.com 2019 - 2024. All rights reserved.