AutoMapper:如何映射非常复杂的对象
本文关键字:非常 复杂 对象 映射 何映射 AutoMapper | 更新日期: 2023-09-27 18:18:12
我有一个Chat
对象与Users
字段。它是User
对象的数组(IQueryable
)。
每个User
对象都有Name
, E-mail
等字段
我怎么能映射这个Chat
对象的方式,ChatDTO
对象将有字段Users
作为一个字符串可用?我希望字符串只包含用逗号分隔的用户名。
也就是说,我如何将一个对象数组转换为一个字符串?
应该看起来像这样:
Mapper.CreateMap<Chat, ChatDTO>()
.ForMember(
dest => dest.Users,
opt => opt.MapFrom(
src => string.Join(",", src.Users.Select(u => u.Name))));
假设以下类:
public class Chat
{
public IQueryable<User> Users { get; set; }
}
public class User
{
public string Name { get; set; }
public string Email { get; set; }
}
public class ChatDTO
{
public string Users { get; set; }
}