Просто начал работу с AutoMapper и хотел получить ясность в чем-то.Automapper - создание карт в C#
Предположим, что я хочу легко сопоставить пользователя и пользователя.
примеры все, кажется, предполагают, что я должен сначала перейти в область запуска (например, WebApiConfig.cs или startup.cs или global.axax и т.д.) и сделать что-то вроде этого:
Mapper.CreateMap<User, UserDto>();
Предположительно, если У меня было 50 или 100 объектов/DTO, которые я хотел сопоставить, мне нужно было бы буквально добавить 50 или 100 строк кода с сопоставлениями между одним классом в другой? Конечно, есть более умный способ, не так ли?
Если мне не нужно делать какие-либо конкретные сопоставления/переопределения, действительно ли мне нужно это делать? Я, должно быть, неправильно понял основы рамок, потому что это кажется мне неправильным.
Спасибо!
«Конечно, есть более умный способ, верно?». На самом деле, нет. Если вы не хотите сделать это через отражение. Но тогда у вас есть проблема, если * в будущем * вы хотите * конкретное правило для конкретного сопоставления *. – Rob
wow ok спасибо. Мне показалось, что я вручную записываю сопоставление в своем контроллере (когда я хочу сопоставить между двумя вещами) достаточно, чтобы картограф понимал два типа, но я думаю, что нет. Ok thanks – NullHypothesis
Вы поняли (от чтения документов), что вы можете создать все сопоставления, которые вам нужны в одном классе, скажем EntityToViewModel и просто зарегистрировать этот класс в вашем global.asax? Создание их в контроллере будет способствовать созданию некоторого дублирующего кода, и я думаю, что это то, что вас беспокоит? – jpgrassi