Constellation.Foundation.ModelMapping 9.0.9.27813

Constellation is a collection of utilities for .NET CMS implementers.

The Foundation.ModelMapping library is inspired by AutoMapper and is designed to provide a quick, non-ORM method of
mapping Sitecore Items to ViewModels. String properties on your ViewModel will be mapped to FieldRendered values from fields with the
same names. Integer and DateTime property types can also be handled automatically, although you will not get page editor support
for these types. There are a number of Attributes that you can assign to your ViewModel's properties to change the behavior of the Mapper.

Usage: TModel viewModel = ModelMapper.MapItemToNew<TModel>(sourceItem);
Or: TModel viewmodel = item.MapToNew<TModel>();
Or: ModelMapper.MapTo(item, model);

Constraints:
- Your ViewModel must have a public, parameterless constructor.
- Only Writable, Public Instance properties will be mapped.
- Within Sitecore, your field names can be human-legible. ModelMapper will attempt to convert the field name to a valid Property name. Simpler names work best.
You can use the Field's Display Name for better human legibility and keep the Field's actual name closer to a legit C# entity name.

The following Model properties are mapped to Item properties rather than Item fields:
- ID - Maps to the Item.ID - Make sure you use Sitecore.Data.ID as the property type.
- Name - Maps to the Item.Name
- DisplayName - Maps to Item.DisplayName
- Url - Should be a string, not a Uri. Causes the current context LinkManager to generate a Url for the Item.

Support for XML Field Attributes
- ImageField.Alt - use Model.FieldNameAlt
- ImageField.Height - use Model.FieldNameHeight
- GeneralLink.Target - use Model.FieldNameTarget
- etc.

Support for LinkField.TargetItem - use Model.FieldNameTargetItem and supply a class with public properties and a parameterless constructor.
Support for MultilistField.GetItems - use Model.FieldName and supply a generic ICollection<T> where "T" is new() and has properties you can map.

Extensible! See the Constellation.Foundation.ModelMapping.config file to change the way Fields are processed.

Configured for use with Sitecore 9.0.
Requires Sitecore 9.0 NuGet packages, available here: https://sitecore.myget.org/F/sc-packages/api/v3/index.json

There is a newer version of this package available.
See the version list below for details.
Install-Package Constellation.Foundation.ModelMapping -Version 9.0.9.27813
dotnet add package Constellation.Foundation.ModelMapping --version 9.0.9.27813
<PackageReference Include="Constellation.Foundation.ModelMapping" Version="9.0.9.27813" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Constellation.Foundation.ModelMapping --version 9.0.9.27813
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Removed the Generic constraint from MapTo because under certain conditions it was not finding all of the Model's properties.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
9.1.8.25631 23 12/9/2019
9.1.7.27091 22 12/6/2019
9.1.6.15984 163 6/4/2019
9.1.5.27908 97 6/3/2019
9.1.4.28433 95 5/28/2019
9.1.3.23444 127 4/11/2019
9.1.2.24353 143 3/6/2019
9.1.1.23876 160 1/18/2019
9.1.0.16301 194 12/7/2018
9.0.33.27934 149 10/25/2018
9.0.32.25356 140 10/20/2018
9.0.31.30043 145 10/19/2018
9.0.30.20651 143 10/18/2018
9.0.30.16759 149 10/18/2018
9.0.29.16036 148 10/18/2018
9.0.28.29823 170 10/17/2018
9.0.27.22655 144 10/16/2018
9.0.26.31767 146 10/14/2018
9.0.25.30713 136 10/14/2018
9.0.24.28294 168 10/14/2018
9.0.23.20463 221 7/23/2018
9.0.22.29260 223 7/3/2018
9.0.21.16778 250 5/31/2018
9.0.20.26586 221 5/25/2018
9.0.19.21403 253 5/18/2018
9.0.18.17384 284 2/20/2018
9.0.17.20638 268 2/12/2018
9.0.17.17874 260 2/12/2018
9.0.16.23947 240 1/12/2018
9.0.15.30124 263 1/11/2018
9.0.14.22754 254 1/11/2018
9.0.13.26948 219 1/10/2018
9.0.13.20538 260 1/10/2018
9.0.12.19321 264 1/10/2018
9.0.11.23261 259 1/8/2018
9.0.10.18305 268 12/8/2017
9.0.9.27813 319 12/6/2017
9.0.9.24928 254 12/6/2017
9.0.9.19108 244 12/6/2017
9.0.8.28378 225 12/5/2017
9.0.7.25385 220 12/5/2017
9.0.6.28191 213 12/4/2017
9.0.5.22638 231 12/3/2017
9.0.4.21382 225 12/3/2017
9.0.4.21146 214 12/3/2017
9.0.3.27874 255 12/1/2017
9.0.1.27414 214 11/30/2017
9.0.1.18427 226 11/30/2017
9.0.0.35644 251 11/29/2017
9.0.0.30418 223 11/29/2017
9.0.0.27220 218 11/29/2017
Show less