Я сохраняю тип в DDS EPiServer, который имеет несколько свойств, таких как string и guid. Теперь я хочу добавить к этому типу новое свойство строки типа. Как можно заставить DDS распознать новое свойство, добавленное к типу, и добавить его в схему для типа в DDS.
Схема изменения EPiServer DDS для типа
Ответы (2)
Вам нужно переназначить тип на хранилище следующим образом:
Допустим, ваш класс называется Car
var store = DynamicDataStoreFactory.Instance.GetStore(typeof(Car)); store.StoreDefinition.Remap(typeof(Car)); store.StoreDefinition.CommitChanges();
Если вы собираетесь использовать экземпляр магазина сразу после этого, выполните обновление:
магазин.Обновить();
Дополнительную информацию о DDS можно найти здесь: http://world.episerver.com/Documentation/Items/Tech-Notes/EPiServer-CMS-6/EPiServer-CMS-60/Dynamic-Data-Store/
Пол Смит Разработчик Евангелист EPiServer
Следующая версия CMS/EPiServer Framework будет поставляться с командлетом PowerShell, позволяющим делать это из скрипта.
Для версии 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(Car)); store.StoreDefinition.CommitChanges(); }
Таким образом, вы только переназначаете, когда это необходимо.