2
我有这行代码在我的Global.asaxAutomapper行为不正确
Mapper.CreateMap<Order, OrderDTO>();
这些都是我的课:
public class Customer
{
public string Name {get; set;}
}
public class Order
{
public int OrderId { get; set; }
public Customer Customer { get; set; }
}
public class OrderDTO
{
public int OrderId { get; set; }
public string Name { get; set; }
}
这是我的代码:
Customer cust = new Customer { Name = "Jaggu" };
Order order = new Order { Customer = cust, OrderId = 123 };
OrderDTO dto = Mapper.Map<Order,OrderDTO>(order);
我的dto包含OrderId,但名称为空。按照文件它应该工作:
https://github.com/AutoMapper/AutoMapper/wiki/Flattening
如果我改变我的Global.asax的映射这样的:
Mapper.CreateMap<Order, OrderDTO>().ForMember(dest => dest.Name,
mapping => mapping.MapFrom(order => order.Customer.Name));
它的作品!这让我好奇。文件是否错误?还是我做错了?
没错。我错过了阅读在文档:( – Jaggu