2010-12-02 17 views
0

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

回答

3

您需要重新映射类型的商店这样的:

比方说,你的类被称为汽车

VAR店= DynamicDataStoreFactory.Instance.GetStore(typeof运算(CAR)); store.StoreDefinition.Remap(typeof(Car)); 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

+0

嗨保罗,谢谢你的回答,这已经解决了我的问题的最大部分,现在的问题是,只有一个实际上打这些电话?这意味着这是偶尔会发生的事情,所以我认为它应该在设计时运行一次,就像脚本一样重新映射,而不是使用DDS的代码库的一般部分。你过去如何使用它? – 2010-12-02 14:14:55

2

CMS/EPiServer框架的下一个版本将与PowerShell命令艘船从一个做到这一点脚本。

对于CMS 6版本,我建议你把代码添加到Global.asax中或创建一个初始化模块

(http://world.episerver.com/Blogs/Magnus-Strale/Dates/2010/合的初始化系统从 - EPiServer-CMS -6- RC1变更/)

可以首先检查类型和存储对齐2 /:

变种商店= DynamicDataStoreFactory.Instance。 GetStore(typeof运算(CAR)); (!store.StoreDefinition.ValidateAgainstMappings(typeof(Car),false)) store.StoreDefinition.Remap(typeof(Car)); store.StoreDefinition.CommitChanges(); }

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

+0

谢谢保罗,帮助了很多。 – 2010-12-06 09:46:36