我有两个实体:Employee
和Team
.
我想要的是一个EmployeeForm
具有Name
.Team
如何使用AutoMapper实现这一点?
我目前的“解决方案”如下:
Mapper.CreateMap<Employee, EmployeeForm>()
.ForMember(dest => dest.TeamName, opt => opt.MapFrom(x => x.GetTeams().FirstOrDefault() != null ? string.Join(", ", x.GetTeams().Select(y=>y.Name)) : "n/a"));
在我看来,这很难读。
我想要的是一个通用方法,我可以在其中传递一个实体,选择集合并说如果集合为 null 返回默认值,或者通过 lambda 表达式选择集合的属性。