У меня есть две сущности: 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"));
На мой взгляд, это плохо читается.
То, что я хотел бы иметь, - это универсальный метод, в котором я могу передать сущность, выбрав коллекцию и сказав, что коллекция равна нулю, возвращает значение по умолчанию или иным образом выбирает свойство коллекции с помощью лямбда-выражений.