[英]AutoMapper mapping two concrete classes that share an interface
我有一个描述两个对象的接口。 一个是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>();
我不确定这对我有多大意义,而且我觉得自己“做错了”。 所以我的问题有两个方面。
提前致谢。
这是映射的好方法。 但是,如果要减少CreateMap调用的次数,请创建一个将创建所有地图的方法,然后在每个应用程序域中调用一次。 例如来自某个静态构造函数或另一个应用程序启动事件。 看看他们如何在入门中推荐它
我猜,即使是对于同一接口,也应该有一张地图。 从好的方面来说,它使您的生活更加轻松,您不必创建诸如此类的地图,并且无需做很多其他事情。 虽然这可能是一种优化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.