AutoMapperで特別なマッピングが必要です。私は、オブジェクトのコレクションを文字列のコレクションにマップしたいと思います。AutoMapper:Objectのコレクションを文字列のコレクションにマッピングする
だから私は、Tag iは、このクラスのIListのを持っているモデルよりも
public class Tag
{
public Guid Id { get; set; }
public string Name {get; set; }
}
をclassd持っています。今私は名前を文字列のコレクションにマップしたいと思います。
私はマッピングルールを定義する方法厥:
.ForMember(dest => dest.Tags, opt => opt.ResolveUsing<TagNameResolver>())
をそして、ここで私のValueResolverです..それはいけない仕事
protected override string ResolveCore(Tag source)
{
return source.Name;
}
しかし、uは知っている;-)ので、多分誰かが行う方法を知ってそれが正しいと私を助けることができます。
月
すっごく.. uはここでuはそれを得る...詳細を望んでいた..しかし、私はそれを短くしているたくさん
THX;)
だから、モデル:
public class Artocle
{
public Guid Id { get; set; }
public string Title {get; set; }
public string Text { get; set; }
public IList<Tag> Tags { get; set; }
}
そして、タグモデルuは上記を見ることができます。
私はそれをArticleViewにマップしたいと思っています...タグ・モデルは、ビジネス・コンテキストでのみ必要で、出力ではありません。だから私は、マッピングのためのブートストラップを持って
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 :-)
}
:だからここ
は私がにマップする必要がViewModelにあります。私のマッピングは次のようになります。
Mapper.CreateMap<Article, ArticleView>()
.ForMember(dest => dest.Tags, opt => opt.ResolveUsing<TagNameResolver>())
そして、私は特別な方法
public static ArticleView ConvertToArticleView(this Article article)
{
return Mapper.Map<Article, ArticleView>(article);
}
送信元クラスと送信先クラスの詳細を提供できますか? –
私はそうです:)私の版が助けてくれることを願っています:) – Smokefoot