Как настроить Automapper для автоматического игнорирования свойств с атрибутом ReadOnly?
Допустим, у меня есть следующий класс "destination":
public class Destination
{
public String WritableProperty { get; set; }
public String ReadOnlyProperty { get; set; }
}
и «исходный» класс сReadOnly
атрибут одного из его свойств:
public class Source
{
public String WritableProperty { get; set; }
[ReadOnly(true)]
public String ReadOnlyProperty { get; set; }
}
Это очевидно, но, чтобы быть ясным: я собираюсь нанести на карту сSource
класс дляDestination
Класс следующим образом:
Mapper.Map(source, destination);
Проблема:Какие способы настроить Automapper для автоматического игнорирования свойства сReadOnly(true)
атрибут?
Я использую Automapper'sProfile
классы для настройки. Я не хочу испачкать классы атрибутами, специфичными для Automapper. Я не хочу настраивать Automapper для каждого свойства, доступного только для чтения, и таким образом вызывать многократное дублирование.
IgnoreMap
в собственность: [ReadOnly(true)]
[IgnoreMap]
public String ReadOnlyProperty { get; set; }
Я не хочу испачкать классы с помощью атрибутов, характерных для автоматического определения, и сделать их зависимыми от него. Также я не хочу добавлять дополнительный атрибут вместе сReadOnly
приписывать.
CreateMap<Source, Destination>()
.ForSourceMember(src => src.ReadOnlyProperty, opt => opt.Ignore())
Это не способ, потому что это заставляет меня делать это для каждого свойства везде и также вызывает много дублирования.