Constellation.Foundation.ModelMapping 9.0.18.17384

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

Release Notes

Problem with General Link parsing media URLs resolved by deferring to Sitecore to figure it out.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
9.1.8.25631 18 12/9/2019
9.1.7.27091 21 12/6/2019
9.1.6.15984 163 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 160 1/18/2019
9.1.0.16301 194 12/7/2018
9.0.33.27934 148 10/25/2018
9.0.32.25356 139 10/20/2018
9.0.31.30043 144 10/19/2018
9.0.30.20651 142 10/18/2018
9.0.30.16759 148 10/18/2018
9.0.29.16036 147 10/18/2018
9.0.28.29823 169 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