This content applies to Optimizely Content Management System (CMS) versions 10 through 11.2.
You have the following options to configure through the application’s configuration file:
The \<episerver.dataStore> element has one child element called <dataStore>.
The \<dataStore> element has the child elements \<providers> and \<cache> and the following attributes:
defaultProvider` is the name of the Dynamic Data Store provider to use. The name should correspond to an element with the same name in the <providers> element.
autoResolveType` can be true (default) or false. If set to **true** then the Dynamic Data Store tries to resolve .NET Types if the `
System.Type.GetType` method call fails for types stored in a store. The resolution is done by first removing the version information from the type string and calling `
Type.GetType` again. If this fails, then the assembly information is removed from the type string and `
Type.GetType` is called again. If the `
Type` still is not resolved, an exception is thrown. If this value is set to **false**, type resolving is done through assembly redirects in the configuration file.
autoRemapStores` can be true (default) or false. If this is set to **true**, then the Dynamic Data Store automatically remaps all .NET classes decorated with the `
EPiServerDataStoreAttribute` attribute and where the AutomaticallyRemapStore property is set to true, to their respective stores when the Class and store mappings are no longer aligned. If this value is set to **false**, no automatic remapping is done for any class.
The \<providers> elements contains a child \<add> elements for each Dynamic Data Store provider available. Currently, only a providers for Microsoft SQL Server is available.
The \<cache> element contains a single \<providers> child element and the following attributes:
defaultProvider` is the name of the Dynamic Data Store cache provider to use. The name should correspond to an element with the same name in the <cache> <providers> element.
The \<cache> \<providers> elements contain a child \<add> elements for each Dynamic Data Store cache provider available. Currently, providers are available for HTTP Runtime and Null (no caching).
Create/obtain instances of the `
DynamicDataStore` on the stack, use them and then discard them. Note that the Dynamic Data Store **_is not_** thread safe and if an instance is used and shared between multiple threads, it should be protected with thread-locking techniques.
EPiServer.Data.IDynamicData` or a `
Guid` property called Id on your objects to be saved when you want to control the external identity of your objects.
Use the same instance of a Dynamic Data Store to load and then update a POCO object (object without identity).