我在EPiServer DDS中存储了一个类型,它具有一些属性,如string和guid。我现在想要为该类型添加string类型的新属性。如何让DDS识别添加到类型中的新属性并将其添加到DDS中类型的模式中。
答案 0 :(得分:3)
您需要将类型重新映射到商店,如下所示:
假设您的班级名为Car
var store = DynamicDataStoreFactory.Instance.GetStore(typeof(Car)); store.StoreDefinition.Remap(typeof运算(车载)); store.StoreDefinition.CommitChanges();
如果您之后要直接使用商店实例,请执行刷新:
store.Refresh();
您可以在此处找到有关DDS的更多信息: 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(); }
这样您只需在需要时重新映射。