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

升级Umbraco 14添加内容报错:An item with the same key has already been added. Key: title

修复Umbraco 14升级后添加内容报错“An item with the same key has already been added. Key: title”

问题原因

这个报错的核心原因是:你的Umbraco数据库中,某个内容类型(ContentType)下存在重复的属性别名(property alias)title。Umbraco 14对内容类型属性的别名唯一性校验更为严格,升级后触发了这个冲突。

具体修复步骤

1. 先备份数据库

操作数据库前必须完整备份,避免操作失误导致数据丢失。

2. 定位具体重复的属性记录

根据你之前的查询结果,找到重复title属性对应的contentTypeId,执行以下SQL获取所有重复的行:

SELECT id, contentTypeId, alias, createDate, dataTypeId 
FROM [cmsPropertyType] 
WHERE contentTypeId = [你的contentTypeId] -- 替换成查询结果里的contentTypeId
  AND alias = 'title'

通过结果中的createDate(创建时间)或关联的dataTypeId(数据类型),判断哪条记录是当前正在使用的(通常保留最新创建的那条),其余为重复冗余记录。

3. 删除重复的属性记录

确认要删除的冗余记录ID后,执行删除SQL(务必只删冗余记录,保留正在使用的那条):

DELETE FROM [cmsPropertyType] WHERE id = [冗余记录的ID]

建议逐条删除,每删一条后重新执行步骤2的查询,确保重复记录被清理干净

4. 清理Umbraco缓存

删除网站根目录下App_Data/TEMP文件夹内的所有文件,随后重启网站应用池或服务器。

5. 验证修复效果

重新进入Umbraco后台,尝试添加新内容,检查报错是否消失。

注意事项

  • 生产环境操作前,一定要在测试环境先验证整个修复流程
  • 后续升级Umbraco版本前,建议运行后台的**健康检查(Health Check)**工具,提前发现这类属性重复、数据不一致问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 11:42:44