Automappermappingwithnested1:M,M:1relations”。
创始人
2024-09-23 13:31:15
0
  1. 假设存在以下实体类及其关系:
public class Order
{
    public int Id { get; set; }
    public ICollection OrderItems { get; set; }
}

public class OrderItem
{
    public int Id { get; set; }
    public int OrderId { get; set; }
    public int ProductId { get; set; }
    public Product Product { get; set; }
}

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
}
  1. 创建DTO类,用于映射实体:
public class OrderDto
{
    public int Id { get; set; }
    public List OrderItems { get; set; }
}

public class OrderItemDto
{
    public int Id { get; set; }
    public int ProductId { get; set; }
    public ProductDto Product { get; set; }
}

public class ProductDto
{
    public int Id { get; set; }
    public string Name { get; set; }
}
  1. 在Startup类中配置Automapper:
public void ConfigureServices(IServiceCollection services)
{
    services.AddAutoMapper(typeof(Startup));
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IMapper mapper)
{
    mapper.ConfigurationProvider.AssertConfigurationIsValid();
    //...
}
  1. 创建映射配置类:
public class OrderProfile : Profile
{
    public OrderProfile()
    {
        CreateMap()
            .ForMember(dest => dest.Product, opt => opt.MapFrom(src => src.Product));
        CreateMap()
            .ForMember(dest => dest.OrderItems, opt => opt.MapFrom(src => src.OrderItems))
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id));
        CreateMap()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name));
    }
}
  1. 通过Automapper进行转换:
var order = new Order
{
    Id = 1,
    OrderItems = new List
    {
        new OrderItem 
        {
            Id = 1,
            ProductId = 1,
            Product = new Product 
            {
                Id = 1,
                Name = "Product 1"
            }
        },
        new OrderItem 
        {
            Id = 2,
            ProductId = 2,
            Product = new Product 
            {
                Id = 2,
                Name = "Product

相关内容

热门资讯

9分钟实锤!德扑之星ai代打(... 9分钟实锤!德扑之星ai代打(德州机器人)确实真的有挂(详细辅助攻略教程)1、玩家可以在德扑之星ai...
4分钟实锤!德州之星外挂(德州... 4分钟实锤!德州之星外挂(德州俱乐部)总是真的有挂(详细辅助2025新版总结)1)德州之星外挂辅助挂...
第三分钟实锤!德州微扑克辅助(... 第三分钟实锤!德州微扑克辅助(线上wpk德州)其实有挂(详细辅助扑克教程)1、下载好德州微扑克辅助辅...
第六分钟实锤!德州之星辅助(n... 第六分钟实锤!德州之星辅助(nzt德州)一直有挂(详细辅助AI教程)德州之星辅助辅助器中分为三种模型...
第三分钟实锤!智星德州菠萝辅助... 第三分钟实锤!智星德州菠萝辅助器(智星德州)果然真的是有挂(详细辅助黑科技教程)在进入智星德州菠萝辅...
第九分钟实锤!德州之星插件(德... 第九分钟实锤!德州之星插件(德州ai)本来真的是有挂(详细辅助扑克教程);亲,关键说明,德州之星插件...
6分钟实锤!德州之星辅助挂(德... 6分钟实锤!德州之星辅助挂(德州nzt)确实存在有挂(详细辅助攻略教程)进入游戏-大厅左侧-新手福利...
第1分钟实锤!德扑数据软件(w... 第1分钟实锤!德扑数据软件(wpk德州)一直是真的有挂(详细辅助软件教程);1、这是跨平台的德扑数据...
五分钟实锤!德扑之星有猫腻(德... 五分钟实锤!德扑之星有猫腻(德州机器人)切实真的是有挂(详细辅助分享教程)1、下载好德扑之星有猫腻辅...
七分钟实锤!德州微扑克辅助(德... 七分钟实锤!德州微扑克辅助(德州ai)果然存在有挂(详细辅助微扑克教程)1、下载好德州微扑克辅助辅助...