Automapper: オブジェクトのプロパティ値を文字列にマッピングする 質問する

Automapper: オブジェクトのプロパティ値を文字列にマッピングする 質問する

Automapper を使用して、オブジェクトのプロパティ値を文字列のインスタンスにマッピングするにはどうすればよいでしょうか。基本的に、Role オブジェクトのリストがあり、Automapper を使用して各「name」プロパティの内容を対応する文字列のリストにマッピングしたいと考えています (つまり、文字列のリストになります)。答えは明らかだと思いますが、動作させるために「CreateMap」に追加する必要があるマッピングが見つかりません。

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

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);

ベストアンサー1

私は Automapper が大好きです (そして多くのプロジェクトで使用しています) が、単純な LINQ ステートメントを使用するともっと簡単ではないでしょうか?

var allRoles = from r in roles select r.Name

これを実現する AutoMapper の方法:

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

おすすめ記事