Automapper - Bestpractice отображения ассоциации "многие ко многим" в плоский объект

У меня есть две сущности: Сотрудник и Команда .

alt text

Мне нужна форма EmployeeForm с именем группы .

alt text

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

5
задан Rookian 12 September 2010 в 19:24
поделиться