Используя Automapper, я хочу отобразить свойство, которое представляет собой List of type Employee с использованием string.Join() для создания строки с именами прав сотрудника с разделителями-запятыми. Вот классы я использую:Сопоставление свойства списка <T> Использование Automapper
public class MappedEmployee
{
public string Name { get; set; }
public string RightNames { get; set; }
}
public class Employee
{
public string Name { get; set; }
public List<Right> Rights { get; set; }
}
public class Right
{
public string Name { get; set; }
}
А вот код у меня есть:
Mapper.CreateMap<Employee, MappedEmployee>()
.ForMember(d => d.RightNames, o => o.MapFrom(s => s.Rights.SelectMany(r => string.Join(", ", r.Name))));
var employee = new Employee
{
Name = "Joe Schmoe",
Rights = new List<Right>
{
new Right { Name = "Admin" },
new Right { Name = "User" },
}
};
var mappedEmployee = Mapper.Map<Employee, MappedEmployee>(employee);
Однако, это он производит на следующие:
System.Linq.Enumerable+<SelectManyIterator>d__14`2[Employee.Right,System.Char]
Что я могу сделать получить строку с разделителями-запятыми из прав Работника?
Это приводит к тому же результату. – Halcyon
@Halcyon Смотрите мое обновление. –
Это работает сейчас. Спасибо за помощь! – Halcyon