第二层嵌套的automapper c#unflatten

问题描述 投票:0回答:1

我需要帮助C#中的第二层嵌套的automapper。

我的课程如下:

public class Event
{
    int EventId { get; set; }
    int EventName { get; set; },
    Student Student { get; set; }
}

public class Student
{
    int StudentId { get; set; }
    int StudentName { get; set; },
    Address Address { get; set; },
}

public class Address
{
    string AddressName { get; set; }
    string City { get; set; }
}

public class SourceEvent
{
    int EventId { get; set; }
    int EventName { get; set; },
    int StudentId { get; set; }
    int StudentName { get; set; },
    string AddressName { get; set; }
    string City { get; set; },
}

cfg.CreateMap<SourceEvent, Event>()
                    .ForMember(d => d.Student,
                        o => o.MapFrom(
                            s => new Student
                            {
                                StudentId = s.StudentId,
                                StudentName = s.StudentName,
                            }
                        )
                        );
            });

如何使用学生和地址自动从SourceEvent配置为事件?

我知道如何映射第一级,但不知道如何映射第二级(地址类)

c# nested automapper
1个回答
0
投票

我在下面找到了自己的答案来添加地址类。

cfg.CreateMap<SourceEvent, Event>()
                .ForMember(d => d.Student,
                    o => o.MapFrom(
                        s => new Student
                        {
                            StudentId = s.StudentId,
                            StudentName = s.StudentName,
                            Address = new Address   {
                              AddressName = s.AddressName,
                              City = s.City 
                             }
                        }));
        });
© www.soinside.com 2019 - 2024. All rights reserved.