Правильный способ сопоставления DTO для сложных страниц - PullRequest
0 голосов
/ 11 марта 2011

У меня есть приложение MVC, и я начал использовать DTO исключительно для отправки данных в представления. Я использую AutoMapper, чтобы облегчить этот процесс.

Представьте, что у меня есть клиент, у которого много заказов. Чтобы отобразить простую страницу обзора клиента, я могу использовать AutoMapper с простым классом DTO, который отображает имя клиента, адрес и т. Д. Чтобы отобразить заказы, я могу AutoMapper List <> Customer.Orders в более простой список .

Я застрял на страницах, где я хочу, чтобы оба были в одном и том же виде. Возможно простой заголовок с именем клиента и номером телефона, затем список заказов. В некоторых случаях частичное является идеальным решением, но не всем.

Так что мой вопрос в том, как должен выглядеть DTO для такой страницы и как это должно отображаться (желательно с использованием AutoMapper). Пока что я не могу понять, как AutoMapper может отображать встроенные перечислимые числа, подобные этому.

1 Ответ

0 голосов
/ 11 марта 2011

, когда вы создаете свои отображения, игнорируете коллекции / перечисления и просто отображаете простые объекты в простые объекты, например, CreateMap<Order, CustomerOrderDTO>()

, когда вы выполняете отображение, вы можете использовать коллекции, а AutoMapper просто сделаетправильно, например, Map<IEnumerable<Order>, IEnumerable<CustomerOrderDTO>>()

, если вы отображаете объект, содержащий коллекцию, например, Customer на CustomerDTO, где у каждого есть своя коллекция заказов, пока выdone CreateMap для объектов customer и CreateMap для объектов Order, перечислимое будет просто отображаться автоматически, если только вы не настроите его так, чтобы оно игнорировалось в отображении customer.

...