Constellation.Foundation.ModelMapping 9.0.14.22754

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.
- Parent - Maps to the ViewModel you provide based on the Item.Parent.

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.

Now with the ability to map ICollection<Item> to ICollection<TModel>

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.14.22754
dotnet add package Constellation.Foundation.ModelMapping --version 9.0.14.22754
<PackageReference Include="Constellation.Foundation.ModelMapping" Version="9.0.14.22754" />
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.14.22754
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Now with support for GeneralLink.Class attribute mapping.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
9.1.8.25631 12 12/9/2019
9.1.7.27091 21 12/6/2019
9.1.6.15984 160 6/4/2019
9.1.5.27908 95 6/3/2019
9.1.4.28433 93 5/28/2019
9.1.3.23444 125 4/11/2019
9.1.2.24353 142 3/6/2019
9.1.1.23876 159 1/18/2019
9.1.0.16301 193 12/7/2018
9.0.33.27934 147 10/25/2018
9.0.32.25356 138 10/20/2018
9.0.31.30043 143 10/19/2018
9.0.30.20651 141 10/18/2018
9.0.30.16759 147 10/18/2018
9.0.29.16036 146 10/18/2018
9.0.28.29823 168 10/17/2018
9.0.27.22655 144 10/16/2018
9.0.26.31767 145 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 220 5/25/2018
9.0.19.21403 253 5/18/2018
9.0.18.17384 283 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 253 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