Простой способ перевода из DTO в Entity и Entity в DTO?

В последнее время я работал над несколькими распределенными клиент-серверными проектами, и мы всегда сталкиваемся с одной из основных проблем - переводом объектов DTO в наши сущности и наоборот. Мне было интересно, есть ли у кого-нибудь "простое" решение для этого времени?

Одна вещь, о которой я подумал, - это придумать какой-то перевод с использованием рефлексии... Я думаю, вам нужно убедиться, что имена ваших свойств совпадают с каждой стороны провода - но, похоже, это может сработать.

Просто ищу способ избежать некоторой задержки этого времени в моей разработке.

Спасибо!!

4 ответа

Решение

Я недавно использовал AutoMapper, и он работает как шарм.

Боль и риск

получения / установки свойств вручную! Вы пробовали это: http://dozer.sourceforge.net/.

Гибкая и настраиваемая структура для перевода бина в бин. Может помочь!

Я успешно использовал такие инструменты, как XDoclet (хотя это не должно быть сложно для сценариев), чтобы автоматически генерировать объекты переноса и простые преобразования сущностей.

Тем не менее, если вы считаете, что ваши переводы сущностей достаточно просты, чтобы их можно было сделать с помощью отражения, есть ли причина, по которой вы не можете просто передавать объекты сущностей по проводам вместо DTO? Возможно, лучше иметь немного настраиваемую сериализацию, чем полноценный DTO.

Используйте ValueInjecter, с его помощью вы можете сопоставить что угодно, например:

 object <-> object
 object <-> Form/WebForm
 DataReader -> object

и у него есть интересные функции, такие как: сплющивание и отстегивание

загрузка содержит множество примеров (примеры приложений для asp.net mvc, веб-формы, winforms, юнит-тесты)

Другие вопросы по тегам