На ваш вопрос сложно ответить, потому что, как и где объект домена получает свои данные, не является проблемой AutoMapper.Из документации AutoMapper :
AutoMapper ориентирован на сценарии проецирования моделей для выравнивания моделей сложных объектов до DTO и других простых объектов, дизайн которых лучше подходит для сериализации, связи, обмена сообщениямиили просто уровень защиты от коррупции между доменом и уровнем приложения.
Однако это не означает, что использование AutoMapper не должно влиять на процесс мышления, стоящий за объектами вашего домена.В качестве примера на ум приходит ленивая загрузка.Например, в вашем случае, если вы использовали отложенную загрузку для свойства Class.Parameters
, но затем запускали это свойство через AutoMapper, данные всегда будут загружаться.Вот почему важно придерживаться правила одна модель для каждого вида .
Джимми Богард, один из создателей AutoMapper, обсуждает свое видение того, что такое AutoMapper в AutoMapper: объект-Объект картограф .Хотелось бы, чтобы я мог ссылаться прямо на него, но в комментарии к ответу на вышеупомянутую запись Богард заявляет:
Это то, что мы рассмотрели некоторое время (двусторонняя привязка), но в концемы обнаружили, что в обновлении слишком много бизнес-проверок.
Вместо этого мы сформировали другие шаблоны для обновления модели из сообщения / формы.Для получения дополнительной информации см. Исходный код Code Camp Server.
Как указано, вы можете найти интенсивное использование AutoMapper в источнике для CodeCampServer .Упрощенную версию кода CodeCampServer можно найти в исходном коде , поставляемом с ASP.NET MVC 2 в действии .