gpt4 book ai didi

c# - Asp.net core + EF Code优先,迁移不同项目中的文件

转载 作者:太空狗 更新时间:2023-10-30 01:00:36 25 4
gpt4 key购买 nike

在我的解决方案中,我想首先使用 Asp.net core + EF Code

我有 2 个项目:

  • CC.API
  • CC.基础设施

在 CC.API 中我有启动类并且有:

services.AddDbContext<DataContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"), b => b.MigrationsAssembly("CC.Infrastructure")));

(连接字符串在 appsettings.json 中)

如您所见,我正在尝试将迁移文件保存在不同的项目中 - CC.Infrastructure。

不幸的是,当 Add-Migration Init 时,我收到一个错误:您的目标项目“PK.API”与您的迁移程序集“PK.Infrastructure”不匹配。更改目标项目或更改迁移程序集

如果我将在启动时更改 b => b.MigrationsAssembly("CC.API") 那么一切正常,但文件迁移文件将在 CC.API 中:/

最佳答案

这是/曾经是 EF Core 的一个长期存在的问题。 过去的解决方案是让您的类库成为可执行文件(临时),然后针对它运行所有 EF 操作。

使用当前的工具,您可以在库文件夹中运行 Add-Migration;唯一需要注意的是,您需要将 startup-project 标志设置为实际可执行文件的项目。

所以命令最终是这样的:

C:\CC.Infrastructure>dotnet ef migrations add NewMigration --startup-project ../CC.API/CC.API.csproj

关于c# - Asp.net core + EF Code优先,迁移不同项目中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44637881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com