EF 核心在 ASP.net 核心多层架构中添加迁移

Hel*_*rld 4 c# command-line entity-framework-core asp.net-core

我最近开始了多层架构的 ASP.net 核心项目,其中 CatalogDbContext 和 StartUp 类在不同的层:

在此处输入图片说明

我想将迁移添加到 DroneStore.Data 层。我将命令提示符当前目录更改为 ../DroneStore.Data/ 并添加命令:

dotnet ef 迁移添加初始

并得到一个错误:

无法创建类型为“CatalogDbContext”的对象。有关设计时支持的不同模式,请参阅https://go.microsoft.com/fwlink/?linkid=851728

当我将当前目录更改为 ../DroneStore.Web/ 并添加此命令时,出现错误:

您的目标项目“DroneStore.Web”与您的迁移程序集“DroneStore.Data”不匹配。更改您的目标项目或更改您的迁移程序集

有什么建议吗?

Hel*_*rld 5

1)在命令提示符下将当前目录更改为:

cd ../DroneStore.Data/

2) 添加到带有启动项目文件夹路径的命令 -s 选项:

dotnet ef 迁移添加 Initial -s ../DroneStore.Web/

  • “-p”指向添加迁移的项目,但“-s”选项始终指向 StartUp 类所在的项目。因此,实际上,您可以编写 dotnet ef migrations add Initial -p ..\DroneStore.Data\ -s ..\DroneStore.Web\,而不是在命令提示符中更改当前目录 (2认同)