我可以在自定义表上手动创建系统字段吗?

时间:2016-07-05 14:33:33

标签: c# kentico

我目前正在开发一个使用多个自定义表的新Kentico 9站点。这些表中已包含数据,并通过API在代码中使用。在Kentico中创建自定义表的人在创建期间取消选中了几个系统字段,以便只创建ItemGUID字段:

System Fields on Custom Table

现在自定义表已经创建并且正在使用中,无论如何我是否要创建或重新添加其他列(ItemCreatedBy,ItemCreatedWhen等)到此表?如果是这样,怎么能实现呢?

注意:我目前的方法是创建一个包含我想要的字段的新自定义表,并将数据迁移到新表中(我们确实有超过30个表,所以我宁愿不必手动执行此操作)。

1 个答案:

答案 0 :(得分:0)

您有几个选择:

  • 使用您当前的方法(可能是最快的恕我直言)
  • 手动更新表以包含系统字段(可以编写数据库部分的脚本),但您还需要更新cms_class表中自定义表的定义以获得这些新字段(几乎可以从另一个自定义中复制)表定义)。
  • 使用现有自定义表创建新的自定义表并添加这些字段。除此之外,您无法使用已在cms_class表中定义的自定义表。
  • 创建一些C#方法,基本上使用当前列和系统列创建新的自定义表。将是"运行一次"代码块。

根据您想花多少时间,我认为最后一个选项确实可行。