Автоматическое сопоставление List <SomeObject> с классом, у которого есть свойство List <SomeObject>

1

Хорошо У меня есть вид с именем SearchResults, который отображает результаты поиска пользователя. Таким образом, у меня есть модель представления с именем SearchResultsView. В SearchResultsView есть список свойств, который он получает от службы. Поэтому я хочу использовать automapper для заполнения класса SearchResultsView списком. Я могу изменить службу, чтобы вернуть класс SearchResults, который также имеет свойство со списком, но в этом случае я бы скорее просто сконфигурировал AutoMapper, чтобы получить список, полученный из службы в качестве источника, и сопоставить его с свойством SearchResultsView.

public class SearchResultsView
{
    public List<SearchResult> Results { get; set; }
}

public class SearchResult
{
    public string Name { get; set; }
    public string MacAddress { get; set; }
    public string PhoneNumber { get; set; }
    public List<string> URIs { get; set; }
}

Mapper.CreateMap<List<SearchResult>, SearchResultsView>();
  • 2
    лучше объясните свою проблему, может быть, с небольшими соответствующими кусочками кода
  • 1
    хорошо сделал полное редактирование, надеюсь, это поможет. Я мог бы легко сделать SearchResultsView.Results = "ответ от сервера" просто хотел настроить с использованием беглого отображения, если это возможно
Теги:
entity-framework
asp.net-mvc
automapper

1 ответ

0

Здесь можно быстро сделать это, используя .ConstructUsing:

Mapper.CreateMap<List<SearchResult>, SearchResultsView>()
    .ConstructUsing(src => new SearchResultsView { Results = src });

Однако, если это все, что вы делаете с AutoMapper, я бы просто просто назначил Results напрямую, как вы упомянули в своем комментарии.

  • 0
    Ни у каких других представлений нет более стандартного отображения, просто хотелось придерживаться соглашения и по возможности использовать их для всех автоматов.
  • 0
    Понимаю. Работал ли у вас ответ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню