Легкий способ перевода с DTO на Entity и Entity в DTO?

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

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

Просто ищет способ избежать того, чтобы часть этого времени погрузилась в мое развитие.

Спасибо!!

Ответ 1

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

Ответ 2

Боль и риск

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

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

Ответ 3

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

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

Ответ 4

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

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

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

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