我希望能够通过Options字典将多个对象传递给Automapper,但字典本身是只读的。
E.g。我发现的例子显示添加一个这样的项目:
Mapper.Map<Source, Dest>(src, opt => opt.Items["Foo"] = "Bar");
但我想做更像这样的事情:
var mappingOptions = new Dictionary<string, object>();
mappingOptions["foo"] = "foo";
mappingOptions["bar"] = "bar";
var model = _mapper.Map<ThingModel>(realthing,
opt => opt.Items = mappingOptions // readonly, can't be assigned
);
是否可以添加多个项目,可能只是在LINQ内部?
答案 0 :(得分:3)
你的意思是这样吗?
Mapper.Map<Source, Dest>(src, opt =>
{
opt.Items["foo"] = "foo";
opt.Items["bar"] = "bar";
});
答案 1 :(得分:0)
在这种情况下,您必须清除字典并使用源字典中的项填充它:
apply plugin: 'java'
sourceCompatibility = 1.7
targetCompatibility = 1.7