엔티티 - DTO 및 DTO - 엔티티 맵퍼에 PostSharp를 사용할 것을 고려하고 있습니다. 이 작업을 약 100 개의 엔터티에 대해 수동으로 수행하는 것은 유지 보수의 악몽이 될 것입니다. 나는 codeplex에서 AutoMapper를 보았다. 그러나 PostSharp가 매핑 규칙에 대한 몇 가지 추가 컨트롤을 제공 할 수 있다고 생각하는 것 외에 오버 헤드가 심각한 문제가 될 수도 있다고 생각한다. 누군가가이 문제의 왕과 어떤 경험을 공유 할 수 있다면 그것은 좋을 것입니다.오브젝트 맵퍼 용 PostSharp
난 내용으로 다음 두 가지 방법을 채울 것이다 클래스에 충실 기획 오전 측면 : 내가있어 방향은 생각
는 다음과 같이 (이 불가능한 경우 누군가가 말해주세요)이다 :
EntityType EntityToDTO(DTOType DTO) {}
DTOType DTOToEntity(EntityType Entity) {}
DTO에 기초 엔티티 반환 제에있어서, 두 번째는 oposite 할 것이다. 애스펙트 안에는 각 속성을 반복하면서 새로운 대상을 만들고 속성의 값을 대상 객체의 대상에 할당합니다. 런타임 오버 헤드없이 컴파일 할 때이 작업을 수행 할 수 있습니까? 당신의 DTO들 필드 이름이 엔티티 필드 이름과 일치하는 경우
왜 오버 헤드가 문제가됩니까? 그것을 측정 했습니까? – Paco
당신이하고있는 일은 간단한 반성을 통해 쉽게 성취 될 수 있습니다. 리플렉션은 퍼포먼스에 나쁜 영향을 미치지 만 솔직히 생각한 것처럼 퍼포먼스는 그렇지 않습니다. 리플렉션은 .Net 프레임 워크의 모든 곳에서 많은 것을 처리하기 위해 사용됩니다. 마음이 감동하는 속도가 필요한 무언가를하지 않는 한, 반성은 당신을 잘 도와 줄 것입니다. 데이타베이스에서 그리고 네트워크를 통해 정보를 얻는 데 걸리는 시간은 약간의 반영보다 느린 규모입니다. 전반적인 성능은 대부분의 인식입니다. – Josh