kentico - 插入 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 和主键行为。
解决方案
如果有人发现这一点,我想出的解决方案是在临时列中使用旧主键值运行内容迁移脚本。迁移后,我运行 SQL 来更新对旧主键的 Kentico 引用,删除旧主键,并将主键更改为临时列。有点讨厌,但完成了工作。
推荐阅读
- ios - 如何从主 ViewController 访问自定义 UITableViewCell
- c# - C# .net:将图像添加到列表并显示在表单上
- visual-studio - 将多个自动化结果报告合二为一
- javascript - 如何在 TypeScript 中编写有效的 JS 表达式 [...Array(5).keys()] 而不会出错?
- android - 中心为椭圆形的LinearLayout
- python - 无法写入 xslx 文件,它说有一个属性错误
- java - 转换期间Java中的解析错误
- firebase - 获取父 uid 数据
- node.js - ffmpeg 安装在现有的 Node.js docker 镜像中
- node.js - 无法以角度创建新项目