Ich habe eine durch Trennzeichen getrennte Zeichenfolge und möchte es einem Objekt zuordnen. Ist das mit Auto-Mapper möglich?AutoMapper Komma getrennte Zeichenfolge
Dank
Ich habe eine durch Trennzeichen getrennte Zeichenfolge und möchte es einem Objekt zuordnen. Ist das mit Auto-Mapper möglich?AutoMapper Komma getrennte Zeichenfolge
Dank
Ohne zu viele Details zu kennen, scheint es mir, gibt es zwei Möglichkeiten, dies zu erreichen, angesichts der folgenden DTO, die wir füllen wollen:
public class DTO
{
public string FirstName { get;set; }
public string LastName { get;set; }
}
und Probeneingang:
string input = "Andrew,Whitaker";
schreiben Sie einen benutzerdefinierten Typ-Wandler (empfohlen):
public class CommaDelimitedStringConverter : TypeConverter<string, DTO>
{
protected override DTO ConvertCore(string source)
{
string[] tokens = source.Split(',');
DTO result = null;
if (tokens.Length == 2)
{
result = new DTO();
result.FirstName = tokens[0];
result.LastName = tokens[1];
}
return result;
}
}
Mapper.CreateMap<string, DTO>()
.ConvertUsing<CommaDelimitedStringConverter>();
Karte jedes Objekt einmalig (nicht empfohlen, es sei denn dies ist nicht nur schnell und schmutzig):
Mapper.CreateMap<string, DTO>()
.ForMember(dest => dest.FirstName, opt => opt.MapFrom(src => src.Split(',')[0]))
.ForMember(dest => dest.LastName, opt => opt.MapFrom(src => src.Split(',')[1]));
Können Sie einige Beispiel-Code posten? Wie sieht das Zielobjekt und Ihre String-Liste aus? – nemesv