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

Visual Studio+SQL Server迁移报错:Products表CategoryId列重复

解决EF Core迁移提示“Products表中的CategoryId列被多次指定”问题

问题根源

你之前创建Products表时把CategoryId拼写成ctegoryId,修正后EF Core的迁移文件或模型元数据里残留了错误的列定义,导致迁移时试图同时创建两个重复列。

具体解决步骤

  • 检查并清理迁移文件:找到Identity脚手架生成的最新迁移文件(比如xxxx_AddIdentity.cs),搜索Products表的配置代码,删掉错误的ctegoryId列定义,只保留正确的CategoryId。
  • 核对实体类配置:打开Product实体类,确认没有重复定义CategoryId属性;再检查DbContext的OnModelCreating方法,确保没有同时配置错误拼写和正确拼写的列映射。
  • 重置迁移(极端情况):
    1. 删除项目Migrations文件夹下的所有迁移文件
    2. 打开Package Manager Console,执行Remove-Migration清除未应用的迁移记录
    3. 执行Add-Migration InitialCreate重新生成干净的初始迁移,确认其中仅包含正确的CategoryId列
    4. 最后执行Update-Database完成数据库更新
  • 清理数据库残留列:如果数据库里已经存在错误的ctegoryId列,先备份数据后手动删除该列,再重新执行迁移。

注意事项

以后修改实体属性后,生成迁移前务必核对模型结构,避免拼写错误遗留到迁移文件里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:50:28