EPiServer DDS更改模式的类型

时间:2010-12-02 13:14:26

标签: episerver domaindatasource episerver-6

我在EPiServer DDS中存储了一个类型,它具有一些属性,如string和guid。我现在想要为该类型添加string类型的新属性。如何让DDS识别添加到类型中的新属性并将其添加到DDS中类型的模式中。

2 个答案:

答案 0 :(得分:3)

您需要将类型重新映射到商店,如下所示:

假设您的班级名为Car

var store = DynamicDataStoreFactory.Instance.GetStore(typeof(Car)); store.StoreDefinition.Remap(typeof运算(车载)); store.StoreDefinition.CommitChanges();

如果您之后要直接使用商店实例,请执行刷新:

store.Refresh();

您可以在此处找到有关DD​​S的更多信息: http://world.episerver.com/Documentation/Items/Tech-Notes/EPiServer-CMS-6/EPiServer-CMS-60/Dynamic-Data-Store/

保罗史密斯 开发者传播者 EPiServer

答案 1 :(得分:2)

下一版本的CMS / EPiServer Framework将附带PowerShell cmdlet,以便从脚本执行此操作。

对于CMS 6版本,我建议您将代码添加到Global.asax或创建初始化模块

(http://world.episerver.com/Blogs/Magnus-Strale/Dates/2010/2/Changes-in-the-initialization-system-from-EPiServer-CMS-6-RC1/)

您可以先检查类型和商店是否对齐:

var store = DynamicDataStoreFactory.Instance.GetStore(typeof(Car)); if(!store.StoreDefinition.ValidateAgainstMappings(typeof(Car),false)) {    store.StoreDefinition.Remap(typeof运算(车载));    store.StoreDefinition.CommitChanges(); }

这样您只需在需要时重新映射。