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
你可以發佈實際的課程嗎? –