Я новичок в Automapper. Я пытаюсь отобразить класс рабочих элементов TFS в свой пользовательский класс. Итак, вот мэппинг, который я сделал
MapperConfigurationExpression conf = new MapperConfigurationExpression();
conf.CreateMap<WorkItem, TfsWorkItems>()
.ForMember(dst => dst.ID, src => src.MapFrom<int>(e => e.Id))
.ForMember(dst => dst.WorkItemType, src => src.MapFrom<string>(e => e.Type.Name))
.ForMember(dst => dst.PCode, src => src.MapFrom<string>(e => e.Fields["Project Code"].Value.ToString()))
.ForAllMembers(opts => opts.Condition((src, dest, srcmember) => srcmember != null));
Mapper.Initialize(conf);
List<TfsWorkItems> twi = new List<TfsWorkItems>();
foreach (WorkItem _wi in wiclist)
{
var tfsWorkItem = Mapper.Map<WorkItem, TfsWorkItems>(_wi);
twi.Add(tfsWorkItem);
}
Здесь, как вы можете видеть для свойства PCode в моем классе назначения, я отображаю его в массив из источника. Но из списка исходных рабочих элементов для некоторых элементов массив не содержит элемент для Код проекта . Таким образом, он вызывает ошибку типа «Отображение ошибки для поля Код проекта, которого нет в источнике»
Поэтому я запрашиваю решение, если у источника нет свойства, его следует заменить пустой строкой или просто нулем.