AutoMapper: Mapping-eine Sammlung von Objekt, um eine Auflistung von Zeichenfolgen

Ich brauche Hilfe mit einem speziellen mapping mit AutoMapper. Ich möchte die Karte eine Sammlung von Objekten, um eine Auflistung von Zeichenfolgen.

Also ich habe einen Tag classd

public class Tag
{
    public Guid Id { get; set; }
    public string Name {get; set; }
}

Als in einem Modell, das ich haben ein IList dieser Klasse. Jetzt möchte ich die Karte der name ist eine Sammlung von strings.

Das ist, wie ich definieren der mapping-Regel:

.ForMember(dest => dest.Tags, opt => opt.ResolveUsing<TagNameResolver>())

Und hier ist mein ValueResolver:

protected override string ResolveCore(Tag source)
{
    return source.Name;
}

Aber u know.. es wird nicht funktionieren 😉 Also vielleicht jemand wissen, wie es richtig zu tun und kann mir helfen.

thx alot

Jan

Sooo.. u wollte mehr details.. hier u es bekommen.. aber ich habe zu verkürzen 😉

Also das Modell:

public class Artocle
{
    public Guid Id { get; set; }
    public string Title {get; set; }
    public string Text { get; set; }
    public IList<Tag> Tags { get; set; }
}

Und das Tag-Modell u kann siehe oben.

Ich möchte die Karte an einem ArticleView... ich muss den tag-Modell nur für einige business-Kontext, auch nicht für ddie Ausgabe.

So, hier ist das ViewModel ich brauche die Karte um:

public class ArticleView
{
    public Guid Id { get; set; }
    public string Title { get; set; }
    public string Text { get; set; }
    public IList<string> Tags { get; set; } //The mapping problem :-)
}

Also ich habe einen BootStrapper für die Zuordnungen. Mein Mapping sieht so aus:

Mapper.CreateMap<Article, ArticleView>()
.ForMember(dest => dest.Tags, opt => opt.ResolveUsing<TagNameResolver>())

Und ich Karte es manuelly mit einer speziellen Methode

    public static ArticleView ConvertToArticleView(this Article article)
    {
        return Mapper.Map<Article, ArticleView>(article);
    }
  • Können Sie uns mehr Infos über die Quell-und Ziel-Klassen?
  • So das ist alles, was ich tun 🙂 ich hoffe, dass meine Ausgabe helfen könnte 🙂
InformationsquelleAutor Smokefoot | 2011-07-21
Schreibe einen Kommentar