AutoMapper de cartographie à une propriété d'un nullable propriété

Comment vous pouvez mapper une propriété à une sous-propriété qui peut être nulle?

par exemple, le code suivant va échouer avec une NullReferenceException parce que le Contact de l'Utilisateur de propriété est null.

using AutoMapper;

namespace AutoMapperTests
{
    class Program
    {
        static void Main( string[] args )
        {
            Mapper.CreateMap<Contact, ContactModel>()
                .ForMember( x => x.UserName,  opt => opt.MapFrom( y => y.User.UserName ) );

            Mapper.AssertConfigurationIsValid();

            var c = new Contact();

            var co = new ContactModel();

            Mapper.Map( c, co );
        }
    }

    public class User
    {
        public string UserName { get; set; }
    }

    public class Contact
    {
        public User User { get; set; }
    }

    public class ContactModel
    {
        public string UserName { get; set; }
    }
}

J'aimerais ContactModel du nom d'utilisateur par défaut est une chaîne vide à la place.

J'ai essayé le NullSubstitute méthode, mais je suppose que c'est en essayant de fonctionner avec de l'Utilisateur.Nom d'utilisateur, plutôt que simplement sur la propriété de l'Utilisateur.

OriginalL'auteur David Gardiner | 2010-11-04