Interface IContentQueryResultMapper
- Namespace
- CMS.ContentEngine
- Assembly
- CMS.ContentEngine.dll
Mapper which provides mapping of IContentQueryDataContainer to model.
public interface IContentQueryResultMapper
- Extension Methods
Methods
Map<TModel>(IContentQueryDataContainer)
Maps the content query result IContentQueryDataContainer to specified model TModel properties.
TModel Map<TModel>(IContentQueryDataContainer dataContainer) where TModel : new()
Parameters
dataContainerIContentQueryDataContainerIContentQueryDataContainer containing data to be mapped to the model.
Returns
- TModel
TModelModel with mapped data from thedataContainer.
Type Parameters
TModelType of returned model.
Remarks
The properties of the TModel model are mapped case insensitive by the name, so their names and types need to match the names and types in dataContainer except for special cases:
- ContentItemFields property is mapped by type.
- For ContentItemAsset field to be properly mapped the
dataContainerneeds to include also ContentItemGUID. - Linked items are mapped to System.Collections.Generic.IEnumerable<T> property.
dataContainer will not be mapped.
Exceptions
- ArgumentNullException
Thrown when container is null.
- InvalidOperationException
Thrown when the data cannot be bound to the model e.g., the types of the properties doesn't match.