2010-12-02 69 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