.net core 当迁移位于另一个使用cli的项目中时,我应该如何添加新迁移?

.net core 当迁移位于另一个使用cli的项目中时,我应该如何添加新迁移?,.net-core,entity-framework-core,.net Core,Entity Framework Core,我有3个项目的解决方案,如下所示: -Api(一个包含startup.cs和连接字符串的.net核心项目) -Service(一个包含迁移、DbContext等的.netstandard项目) -域(包含实体的.netstandard项目) 尝试通过运行以下命令从cli添加新迁移时出现此错误: cd Project.Api dotnet ef migrations add DoSth 您的目标项目“project.Api”与您的迁移不匹配 程序集“Project.Service”。更

我有3个项目的解决方案,如下所示:

-Api(一个包含startup.cs和连接字符串的.net核心项目)

-Service(一个包含迁移、DbContext等的.netstandard项目)

-域(包含实体的.netstandard项目)

尝试通过运行以下命令从cli添加新迁移时出现此错误:

cd Project.Api     
dotnet ef migrations add DoSth
您的目标项目“project.Api”与您的迁移不匹配
程序集“Project.Service”。更改您的目标项目或
更改迁移程序集。通过更改迁移程序集 使用DbContextOptionsBuilder。例如,选项。使用SQLServer(连接,b =>b.MigrationsAssembly(“Project.Api”))。默认情况下,迁移程序集是包含DbContext的程序集。改变 通过使用包将目标项目迁移到迁移项目 管理器控制台的默认项目下拉列表,或通过执行 包含迁移项目的目录中的“dotnet ef”

此外,我没有使用visual studio,我必须使用cli。

当我将Startup.cs中的迁移程序集更改为“Project.Api”时,命令运行时不会出错,但问题是迁移是添加在“Project.Api”下的,我不希望这样做,因为我希望它们位于“Project.Service”下

我还尝试将目标程序集更改为“Project.Service”,但出现以下错误:

启动项目“project.Service.csproj”以框架为目标 “.NETStandard”。没有与此框架关联的运行时, 并且无法直接执行针对它的项目 实体框架核心.NET命令行工具与此项目一起,添加 以.NET核心或.NET框架为目标的可执行项目 引用此项目,并使用将其设置为启动项目 --启动项目;或者,将此项目更新为跨目标.NET Core或.NET Framework。有关使用EF Core工具的更多信息 对于.NET标准项目,请参见


我所要做的就是将我的工作目录更改为包含迁移的目录,然后执行命令添加迁移并指定我的启动项目

cd Project.Service

dotnet ef migrations add Add_Admin --startup-project ../Project.Api/Project.Api.csproj