使用AutoMapper将对象展平为int

6

我在AutoMapper中有以下地图:

AutoMapper.Mapper.CreateMap<MySourceObject, Int32>()
    .ForMember(d => d, o => o.MapFrom(s => s.Id));

我正在尝试将源对象的Id属性映射为目标对象中的一个int

不幸的是,以上操作会导致以下错误:

Custom configuration for members is only supported for
              top-level individual members on a type

有什么想法吗?

我想要实现的是,当我只需要Id来绑定DropDownList时,不必通过ViewModel传递整个复杂对象,因为返回的POSTed表单不会重新创建复杂对象,只会返回int。我只需要一个int :)

现在,我可以自己在代码中完成这个操作,但这样做会减弱使用automapper的意义。

1个回答

17
Mapper.CreateMap<MySourceObject, int>().ConstructUsing(source => source.Id);

1
完美,正是我所需要的 :) 解决方案已经呈现并测试过了,但是SO还不允许我将其作为被接受的答案 :( 有时候限制只是会不必要地限制你。 - user32826
非常感谢你,兄弟。碰一下,脑门! - Kevin Hernández

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接