文字列やGUIDなどのいくつかのプロパティを持つタイプをEPiServerDDSに保存しています。ここで、文字列型の新しいプロパティをその型に追加したいと思います。タイプに追加された新しいプロパティをDDSに認識させ、それをDDSのタイプのスキーマに追加するにはどうすればよいですか。
2 に答える
次のようにタイプをストアに再マップする必要があります。
あなたのクラスが 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/ を参照してください。
Paul Smith 開発者エバンジェリスト 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(); }
このようにして、必要な場合にのみ再マップします。