首页 > 解决方案 > EF 核心在 ASP.net 核心多层架构中添加迁移

问题描述

我最近启动了具有多层架构的 ASP.net 核心项目,其中 CatalogDbContext 和 StartUp 类位于不同的层:

在此处输入图像描述

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

dotnet ef 迁移添加初始

并得到一个错误:

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

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

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

有什么建议吗?

标签: c#asp.net-corecommand-lineentity-framework-core

解决方案


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

cd ../DroneStore.Data/

2) 使用 StartUp 项目文件夹的路径添加到命令 -s 选项:

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


推荐阅读