#c# #automapper
#c# #automapper
Вопрос:
У меня есть два типа:
Источник:
public class User
{
public string City { get; set; } = "";
public Guid Identifier { get; set; } = Guid.NewGuid();
}
Назначение:
public class UserDTO
{
public Guid Id { get; set; } = Guid.NewGuid();
public List<Address> Address { get; set; }
}
public class Address
{
public string City { get; set; } = "";
}
Как я могу создать сопоставление с помощью AutoMapper из одного объекта City в список адресов со свойством City в нем? Теперь это мое отображение:
public UserMappings()
{
CreateMap<User, UserDTO>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Identifier));
}
Ответ №1:
Вы можете создавать объекты, включая массивы и списки «на лету», при отображении, как показано ниже :
public UserMappings()
{
CreateMap<User, UserDTO>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Identifier))
.ForMember(dest => dest.Address,
opt => opt.MapFrom(
src => new List<Address> {
new Address { City = src.City }
}));
}