Wie konfiguriere ich Automapper so, dass Eigenschaften mit dem ReadOnly-Attribut automatisch ignoriert werden?
Sagen wir, ich habe die folgende "Ziel" -Klasse:
public class Destination
{
public String WritableProperty { get; set; }
public String ReadOnlyProperty { get; set; }
}
und eine "source" -Klasse mit demReadOnly
-Attribut für eine seiner Eigenschaften:
public class Source
{
public String WritableProperty { get; set; }
[ReadOnly(true)]
public String ReadOnlyProperty { get; set; }
}
Es liegt auf der Hand, aber um es klar zu machen: Ich werde eine Karte vonSource
Klasse zuDestination
Klasse auf folgende Weise:
Mapper.Map(source, destination);
ProblemWie kann Automapper so konfiguriert werden, dass Eigenschaften mit @ automatisch ignoriert werdeReadOnly(true)
attribute?
Ich benutze AutomappersProfile
Klassen für die Konfiguration. Ich möchte Klassen nicht mit Automapper-spezifischen Attributen beschmutzen. Ich möchte Automapper nicht für jede einzelne schreibgeschützte Eigenschaft konfigurieren und auf diese Weise viel Duplizieren.
IgnoreMap
zur Immobilie: [ReadOnly(true)]
[IgnoreMap]
public String ReadOnlyProperty { get; set; }
Ich möchte keine Klassen mit automapper-spezifischen Attributen beschmutzen und davon abhängig machen. Außerdem möchte ich kein zusätzliches Attribut zusammen mit @ hinzufügeReadOnly
attribute.
CreateMap<Source, Destination>()
.ForSourceMember(src => src.ReadOnlyProperty, opt => opt.Ignore())
Es ist kein Weg, weil es mich dazu zwingt, das für jede einzelne Immobilie überall zu tun und außerdem eine Menge Duplikate verursacht.