You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core多项目CodeFirst迁移与数据库更新问题

解决EF Core多项目迁移目标不匹配问题

方法一:用Visual Studio包管理器控制台操作

  • 打开Visual Studio,依次点击工具 > NuGet包管理器 > 包管理器控制台
  • 在控制台顶部的「默认项目」下拉框里,选中AccessService项目(存放DbContext和迁移文件的项目)
  • 执行迁移命令:
    • 生成新迁移(命名要体现修改内容):Add-Migration AddStudentGradeAndClassRoom
    • 将迁移同步到数据库:Update-Database

方法二:用dotnet CLI命令行操作

  • 打开终端(命令提示符、PowerShell或任意终端工具),切换到AccessService项目的根目录(包含AccessService.csproj文件的文件夹)
  • 执行以下命令:
    • 生成新迁移:dotnet ef migrations add AddStudentGradeAndClassRoom --startup-project ../ProjectPortal
    • 更新数据库:dotnet ef database update --startup-project ../ProjectPortal
      注:--startup-project用来指定启动项目(此处为ProjectPortal),若AccessService项目本身能读取正确的连接字符串,可省略该参数直接执行命令。

可选:修改DbContext配置指定迁移程序集(非必要不推荐)

如果需要让迁移程序集和启动项目保持一致,可在AccessService项目的DbContext类中修改配置:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.UseSqlServer(
        "你的数据库连接字符串",
        builder => builder.MigrationsAssembly("ProjectPortal")
    );
}

这种方式会把迁移文件生成到ProjectPortal项目中,不符合原本的项目结构规划,仅作为备选方案。

内容的提问来源于stack exchange,提问作者Rojhat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:01:55