2010-12-14 17 views
10

Automapperを使用して、オブジェクトのプロパティ値の文字列インスタンスへのマッピングをどのように扱いますか。基本的に私はRoleオブジェクトのリストを持っており、Automapperを使ってそれぞれの "name"プロパティの内容を対応する文字列のリストにマップしたいとします(文字列のリストで終わります)。私はそれが明らかな答えを持っていると確信していますが、私はそれを動作させるために "CreateMap"に追加する必要があるマッピングを見つけることができません。Automapper:オブジェクトのプロパティ値を文字列にマッピングする

関連するコードの例を以下に示します。

public class Role 
{ 
    public Guid Id{get;set;} 
    public string Name{get;set;} 
    ... 
    ... 
} 

// What goes in here? 
Mapper.CreateMap<Role, string>().ForMember(....); 

var allRoles = Mapper.Map<IList<Role>, IList<string>>(roles); 

答えて

21

私はAutomapperを愛する(及びプロジェクトの数でそれを使用する)が、これは、単純なLINQ文を使用して、簡単ではないでしょうか?

var allRoles = from r in roles select r.Name 

この達成のAutoMapper方法:この例では

Mapper.CreateMap<Role, String>().ConvertUsing(r => r.Name); 
+0

あなたはおそらく正しいであり、それが私たちのインフラで収まるだろうが、たとえそうであっても、私は知ることに興味があると思いますどのようにそれを/もしAutomapperで行うことができます。 –

+1

申し訳ありません - 元の質問に回答してください。 :) これは動作するはずです:Mapper.CreateMap ()。ConvertUsing(r => r.Name); – PatrickSteele

+0

Automapperでこれを行う方法を提供してくれてありがとう、それは私が望んだのとまったく同じです。 –

関連する問題