Я рассматриваю возможность использования PostSharp для сопоставления сущностей с DTO и DTO с сущностями. Выполнение этой задачи вручную для примерно 100 объектов было бы кошмаром обслуживания. Я посмотрел на AutoMapper на codeplex, но я думаю, что издержки могут быть серьезной проблемой в моем случае, кроме того, я чувствую, что PostSharp может дать мне дополнительный контроль над соглашением о сопоставлении. Если бы кто-нибудь мог поделиться каким-либо опытом с этим королем проблем, это было бы здорово.
Направление, в котором я думаю, примерно такое (пожалуйста, кто-нибудь, скажите мне, если это невозможно):
Аспект, который я планирую придерживаться класса, заполнит следующие два метода содержимым:
EntityType EntityToDTO(DTOType DTO) {}
DTOType DTOToEntity(EntityType Entity) {}
Первый метод вернул бы сущность на основе DTO, второй - противоположный. Внутри аспекта я планирую перебрать каждое свойство, создать новую цель и назначить значение свойства аналогу целевого объекта. Возможно ли это сделать во время компиляции без каких-либо накладных расходов во время выполнения?