我在 EPiServer DDS 中存储了一个类型,该类型具有一些属性,例如字符串和 guid。我现在想向该类型添加一个字符串类型的新属性。如何让 DDS 识别添加到类型的新属性并将其添加到 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/
Paul Smith 开发布道者 EPiServer
下一个版本的 CMS / EPiServer 框架将附带一个 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(Car)); store.StoreDefinition.CommitChanges(); }
这样您只在需要时重新映射。