3

AutoMapper用来映射一组Modelsto ViewModels。一切正常,但我必须为我创建的每个模型/视图模型一遍又一遍地做一件事。我必须将某个属性从(例如)映射StringInt.

所以我的映射现在看起来像这样:

Mapper.CreateMap<ModelOne, ModelOneViewModel>()
    .ForMember (d => d.SomeProperty, opt => opt.ResolveUsing(t => Convert.ToString(t.SomeProperty)));

Mapper.CreateMap<ModelOneViewModel, ModelOne>()
    .ForMember (d => d.SomeProperty, opt => opt.ResolveUsing(t => Convert.ToInt32(t.SomeProperty)));

Mapper.CreateMap<ModelTwo, ModelTwoViewModel>()
    .ForMember (d => d.SomeProperty, opt => opt.ResolveUsing(t => Convert.ToString(t.SomeProperty)));

// ... etc

有没有办法告诉 automapper当它从我的班级映射到我的班级时,它应该始终映射SomeProperty到 a ?StringModelsViewModels

反之亦然,那么是否可以告诉 automapper 始终将属性映射SomePropertyInt32当它从ViewModelsback 映射到时Models

4

1 回答 1

1

根据您的评论请求,自定义类型转换器可能会在您的情况下派上用场。

我现在没有任何额外的信息,好在提到的文章看起来很好地解释了事情。

于 2012-10-03T13:38:33.987 回答