Простой способ перевода из DTO в Entity и Entity в DTO?
В последнее время я работал над несколькими распределенными клиент-серверными проектами, и мы всегда сталкиваемся с одной из основных проблем - переводом объектов DTO в наши сущности и наоборот. Мне было интересно, есть ли у кого-нибудь "простое" решение для этого времени?
Одна вещь, о которой я подумал, - это придумать какой-то перевод с использованием рефлексии... Я думаю, вам нужно убедиться, что имена ваших свойств совпадают с каждой стороны провода - но, похоже, это может сработать.
Просто ищу способ избежать некоторой задержки этого времени в моей разработке.
Спасибо!!
4 ответа
Боль и риск
получения / установки свойств вручную! Вы пробовали это: http://dozer.sourceforge.net/.
Гибкая и настраиваемая структура для перевода бина в бин. Может помочь!
Я успешно использовал такие инструменты, как XDoclet (хотя это не должно быть сложно для сценариев), чтобы автоматически генерировать объекты переноса и простые преобразования сущностей.
Тем не менее, если вы считаете, что ваши переводы сущностей достаточно просты, чтобы их можно было сделать с помощью отражения, есть ли причина, по которой вы не можете просто передавать объекты сущностей по проводам вместо DTO? Возможно, лучше иметь немного настраиваемую сериализацию, чем полноценный DTO.
Используйте ValueInjecter, с его помощью вы можете сопоставить что угодно, например:
object <-> object
object <-> Form/WebForm
DataReader -> object
и у него есть интересные функции, такие как: сплющивание и отстегивание
загрузка содержит множество примеров (примеры приложений для asp.net mvc, веб-формы, winforms, юнит-тесты)