温馨提示:本文翻译自stackoverflow.com,查看原文请点击:c# - Pass Objects to AutoMapper Mapping
asp.net-mvc-4 automapper c#

c# - 将对象传递到AutoMapper映射

发布于 2020-04-10 17:25:02

我正在使用AutoMapper,正在映射到的实体的某些值是我当前方法中的变量。我曾尝试过使用Google,但无济于事。我可以向我的映射传递一组KeyValue对或一个对象或某物以使其使用那些值吗?

后期映射修改示例

//comment variable is a Comment class instance
var imageComment = AutoMapper.Mapper.Map<Data.ImageComment>(comment);
//I want to pass in imageId so I dont have to manually add it after the mapping
imageComment.ImageId = imageId;

查看更多

提问者
CWitty
被浏览
12
Jimmy Bogard 2015-08-01 03:52

AutoMapper开箱即用地处理此键值对方案。

Mapper.CreateMap<Source, Dest>()
    .ForMember(d => d.Foo, opt => opt.ResolveUsing(res => res.Context.Options.Items["Foo"]));

然后在运行时:

Mapper.Map<Source, Dest>(src, opt => opt.Items["Foo"] = "Bar");

深入了解上下文项有点麻烦,但是您就可以开始了。