1

良い?たとえば、私はよく次のようにします。

public class PersonEditModel: MappedViewModel<Person>
{
    static PersonEditModel()
    {
        Mapper.CreateMap<Person, PersonEditModel>().Bidirectional();
    }
    [HiddenInput(DisplayValue = false)]
    public int Id { get; set; }
    public string Name { get; set; }
    public LanguageCompetencyIndexModel Languages { get; set; }
}

MVC アドインのコア セットに小さなヘルパーを隠しています。

public static void Bidirectional<TSource, TDestination>(this IMappingExpression<TSource, TDestination> expression)
{
    Mapper.CreateMap<TDestination, TSource>();
}

2 番目のマッピングを作成する手間が省け、単純なキャプチャ/表示シナリオに最適です。

これで、どこか別の場所でマップを作成する代わりに、App_Startこのビュー モデルをライブラリに配置して、マッピングを追加することを忘れずにどこでも使用できるようになりました。

4

1 に答える 1

1

マッピング定義を再利用したい場合は、それらをprofileに入れます。ビュー モデルから Automapper の依存関係を取り除き、マッピングを簡単に一元化できるようにします。

于 2013-03-26T18:26:08.377 に答える