我有一个描述两个对象的界面。一个是DAO,另一个是BO。所以,这就是它的样子:
public interface IOrder ...
public class OrderDAO : IOrder ...
public class OrderBO : IOrder ...
我想将OrderDAO映射到OrderBO。我最初的想法是,我可以简单地将界面映射到界面并提供两个具体对象,如下所示:
AutoMapper.Mapper.Map<IOrder, IOrder>(myOrderDAO, myOrderBO);
然而,这并不是开箱即用的。我仍然需要创建一个地图,以便从myOrderDAO获取数据到myOrderBO。
AutoMapper.Mapper.CreateMap<IOrder, IOrder>();
我不确定这对我有多大意义,我觉得我“做错了”,就像它一样。所以我的问题是双重的。
先谢谢。
答案 0 :(得分:1)
这是一种很好的地图绘制方式。但是,如果要减少CreateMap调用的数量,请创建一个方法来创建所有映射,然后为每个应用程序域调用一次。例如,从一些静态构造函数或另一个应用程序启动事件。见how they recommend it in their Get Started
我想,即使它是同一个界面,仍然应该有一张地图。在光明的一面,它让你的生活更轻松,你不必创建像以及更多的地图。这可能是一个优化。