首页 > 解决方案 > 插入 TreeNode 时设置 Kentico 主键值

问题描述

使用 Kentico 13,我正在寻找一种在通过 API 插入 TreeNode 时指定主键值的方法。就像是:

var node = TreeNode.New("MyPageType");
node.SetValue("MyPageTypeID", 1234);
node.Insert(parentNode);

这需要在 MyPageType 表中设置主键所以需要 SQL 身份插入,并且还需要在 CMS_Document 表中设置 DocumentForeignKeyValue。

我想到的唯一方法是在创建节点后使用一些自定义 SQL,但感觉就像是 hack。有没有更好的办法?

这是针对数千个文档的内容迁移任务。内容迁移后,将使用默认的 SQL 和主键行为。

标签: kentico

解决方案


如果有人发现这一点,我想出的解决方案是在临时列中使用旧主键值运行内容迁移脚本。迁移后,我运行 SQL 来更新对旧主键的 Kentico 引用,删除旧主键,并将主键更改为临时列。有点讨厌,但完成了工作。


推荐阅读