2
我想使用AutoMapper而不借助自定义映射。自动映射器Map.CreateMap没有自定义映射的问题
我有两个对象定义使用相同的接口
public class Order : IOrder
...
public class OrderViewModel : IOrder
...
我的Global.asax如下,看起来是这样的:后来
protected void Application_Start()
{
Mapper.CreateMap<Order, OrderViewModel>();
Mapper.CreateMap<OrderViewModel, Order>();
Mapper.CreateMap<IOrder, OrderViewModel>();
Mapper.CreateMap<OrderViewModel, IOrder>();
Mapper.CreateMap<Order, IOrder>();
Mapper.CreateMap<IOrder, Order>();
Mapper.CreateMap<IOrder, IOrder>();
...
}
,当我尝试使用此地图,我得到一个对象,但它没有任何内容。
OrderViewModel vm = new OrderViewModel();
vm.OrderName = "Test";
var dto = Mapper.Map<Order, OrderViewModel)(vm);
dto.OrderName = empty string!?!
更新:我使用的地图这样其实...很抱歉逆转PARAMS。总之,仍然不起作用。
var dto = Mapper.Map<OrderViewModel, Order)(vm);
OrderViewModel和Order都有一个名为OrderName的属性吗?另外,我认为你应该只需要:Mapper.CreateMap(); –
Paul
是的,他们都有OrderName。该接口指定了一个OrderName,所以这两个类实现了它。 – 010110110101
你可以发布实际的课程吗? –