EPiServer DDS Изменить схему для типа - PullRequest
0 голосов
/ 02 декабря 2010

Я храню тип в EPiServer DDS, который имеет несколько свойств, таких как string и guid. Теперь я хочу добавить новое свойство типа строка для этого типа. Как можно заставить DDS распознавать новое свойство, добавленное к типу, и добавить его в схему для типа в DDS.

Ответы [ 2 ]

3 голосов
/ 02 декабря 2010

Вам необходимо переназначить тип в магазин следующим образом:

Допустим, ваш класс называется Car

var store = DynamicDataStoreFactory.Instance.GetStore (typeof (Car)); store.StoreDefinition.Remap (TypeOf (Car)); store.StoreDefinition.CommitChanges ();

Если вы собираетесь использовать экземпляр магазина сразу после этого, выполните обновление:

store.Refresh ();

Вы можете найти больше информации о DDS здесь: http://world.episerver.com/Documentation/Items/Tech-Notes/EPiServer-CMS-6/EPiServer-CMS-60/Dynamic-Data-Store/

Пол Смит Разработчик Евангелист EPiServer

2 голосов
/ 03 декабря 2010

Следующая версия CMS / EPiServer Framework будет поставляться с командлетом PowerShell, чтобы сделать это из сценария.

Для версии CMS 6 я предлагаю добавить код в Global.asax или создать инициализациюmodule

(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 (Car)); store.StoreDefinition.CommitChanges ();}

Таким образом, вы переотображаете только при необходимости.

...