У меня есть граф объектов, который я загружаю из базы данных, используя Fluent NHibernate и AutoMapper в DTO: -
public class Foo
{
public int Id { get; set; }
public virtual ICollection<Bar> Bars { get; set; }
public bool SortBarByName
}
public class Bar
{
public int Id { get; set; }
public int SortOrder { get; set; }
public virtual Foo Foo { get; set; }
}
Мои отображения выглядят так: -
public class FooDto
{
public IEnumerable<BarDto> Bars { get; set; }
}
public class BarDto
{
public string Name { get; set; }
public int SortOrder { get; set; }
}
Мое отображение выглядит так:
mapper.CreateMap<Foo, FooDto>().ForMember(d => d.Bars, o => o.MapFrom(s => s.Bars));
mapper.CreateMap<Bar, BarDto>();
Когда я возвращаю FooDto, я хочу, чтобы коллекция BarDto сортировалась на основе следующих условий.
Я хочу отсортировать BarDto по имени, если SortBarByName равно true, или по SortOrder, если SortBarByName равно false, на основе свойства SortBarByName класса Foo.
Примечание: Свойство Name отсутствует в классе Bar, оно только в BarDto.
Можно ли что-то сделать в AutoMappers для достижения этой цели?