1

我有一个描述两个对象的接口。一个是 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>();

我不确定这对我有多大意义,而且我觉得我“做错了”,事实上。所以我的问题有两个。

  1. 在上述场景中映射的最佳方式是什么?
  2. 为什么我需要为同一个界面创建地图?

先谢谢了。

4

1 回答 1

1
  1. 这是映射的好方法。但是,如果您想减少 CreateMap 调用的数量,请创建一个创建所有地图的方法,然后在每个应用程序域中调用一次。例如来自一些静态构造函数或另一个应用程序启动事件。看看他们如何在他们的入门中推荐它

  2. 即使是相同的界面,我猜仍然应该有一张地图。从好的方面来说,它使您的生活更轻松,您不必创建类似的地图等等。不过,这可能是一种优化。

于 2012-09-04T18:42:59.387 回答