- 首先安装 Automapper 库,使用以下命令:
Install-Package AutoMapper
- 在应用程序中创建模型类和 DTO(Data Transfer Object)类。例如:
public class Order
{
public int Id { get; set; }
public string OrderNumber { get; set; }
public List OrderItems { get; set; }
}
public class OrderDto
{
public int Id { get; set; }
public string OrderNumber { get; set; }
public List OrderItems { get; set; }
}
public class OrderItem
{
public int Id { get; set; }
public string Name { get; set; }
}
public class OrderItemDto
{
public int Id { get; set; }
public string Name { get; set; }
}
- 在应用程序中创建 AutoMapper 配置。创建一个映射配置文件(AutomapperProfile.cs),添加以下内容:
using AutoMapper;
using System.Linq;
public class AutomapperProfile : Profile
{
public AutomapperProfile()
{
CreateMap()
.ForMember(dest => dest.OrderItems, opt => opt.MapFrom(src => src.OrderItems.Select(x => x)));
CreateMap();
}
}
- 在应用程序中使用 AutoMapper 进行映射。例如:
var config = new MapperConfiguration(cfg => cfg.AddProfile());
var mapper = new Mapper(config);
var order = new Order
{
Id = 1,
OrderNumber = "ORD-123",
OrderItems = new List
{
new OrderItem { Id = 1, Name = "Product 1" },
new OrderItem { Id = 2, Name = "Product 2" }
}
};
var orderDto = mapper.Map(order);
Console.WriteLine($"Order: {order.OrderNumber}");
foreach (var item in order.OrderItems)
{
Console.WriteLine($"Order item: {item.Name}");
}
Console.WriteLine("-----");
Console.WriteLine($"Order: {orderDto.OrderNumber}");
foreach (var item in orderDto