У меня есть исходный класс с несколькими полями, 5 из этих полей могут иметь значение NULL, но только одно поле не должно иметь значение NULL одновременно.
Я хотел бы сопоставить одно поле назначения NoteParent используя логику ниже. т. е. я хочу, чтобы строка из MapFrom была помещена в поле назначения NoteParent.
Возможно ли это с помощью AutoMapper? Используя приведенное ниже сопоставление, мне удалось заставить одно из сопоставлений работать. По сути, только первое значение src первой записи поместит значение в место назначения записей, которые соответствуют логике, но логика для других возможностей не работает.
CreateMap()
.ForMember(d => d.NoteParent, opt =>
{
opt.PreCondition(s => (s.Agent != null));
opt.MapFrom(s => "Agent");
})
.ForMember(d => d.NoteParent, opt =>
{
opt.PreCondition(s => s.AssociatedFirm != null);
opt.MapFrom(s => "Associated Firm");
})
.ForMember(d => d.NoteParent, opt =>
{
opt.PreCondition(s => (s.Review != null));
opt.MapFrom(s => "Review");
})
.ForMember(d => d.NoteParent, opt =>
{
opt.PreCondition(s => s.Schedule != null);
opt.MapFrom(s => "Schedule");
})
.ForMember(d => d.NoteParent, opt =>
{
opt.PreCondition(s => (s.Participant != null));
opt.MapFrom(s => "Participant");
});
Подробнее здесь: https://stackoverflow.com/questions/785 ... ation-base
AutoMapper. Можно ли сопоставить различные исходные поля с местом назначения на основе логики условий? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение