请注意这是一个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类中加载任何服务。 这可能是问题所在吗?
我已经搜索和阅读,直到我的眼睛在流血。 :(
谢谢你的指导。