想象一下这样的课程:
class Source
{
public string Name { get; set; }
public string Code { get; set; }
}
class Destination
{
public Destination(string name, int code)
{}
}
我想配置从Source
到Destination
的映射。 我希望AutoMapper自动将Source.Name
与Destination
的{{1}}构造函数参数匹配,因为它们具有相同的名称(不包括命名约定)和类型。但是,第二个构造函数参数需要自定义映射。
到目前为止我能找到的最好的方法就是手动完成所有的mappping:
name
然而,通过这样做,我失去了基于约定的映射提供的可维护性改进。
答案 0 :(得分:0)
这并没有完全回答这个问题,但我最终得出的结论是,在这样的场景中使用AutoMapper更容易。编写一个接收一个对象的方法并在不使用AutoMapper的情况下创建另一个对象的实例是微不足道的:
Destination Map(Source source)
{
return new Destination(source.Name, source.Code);
}