Automapperを使用すると、マッピング先のエンティティに「ViewModel」とだけ追加されている状況でマップを手動で作成する必要がないように、規則を設定できます。
例として、次のマップを設定する必要はありません。
Mapper.CreateMap<Error, ErrorViewModel>();
カスタムマップを作成するために投影が必要かどうかは理解していますが、マップを作成するための規則があると便利です。
Automapperを使用すると、マッピング先のエンティティに「ViewModel」とだけ追加されている状況でマップを手動で作成する必要がないように、規則を設定できます。
例として、次のマップを設定する必要はありません。
Mapper.CreateMap<Error, ErrorViewModel>();
カスタムマップを作成するために投影が必要かどうかは理解していますが、マップを作成するための規則があると便利です。
Mapper.DynamicMap<TDest>(source)
マップに使用する必要があります。
以下の例でわかるように、一致するプロパティをソースから宛先に自動的にマップします。
using AutoMapper;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
var source = new Foo {Value = "Abc"};
var destination = Mapper.DynamicMap<FooViewModel>(source);
Debug.Assert(source.Value == destination.Value);
}
}
public class Foo
{
public string Value { get; set; }
}
public class FooViewModel
{
public string Value { get; set; }
}