2011-10-26 6 views
1

나는 NHibernate와 함께 일하고있다. 데이터를 전달하기 위해 DTO를 생성해야합니다. 나는 그것을 손으로하고 싶지 않다. 그러므로 나는 지름길과 도구를 찾고 있습니다. 데이터베이스 테이블을 미러링하는 객체를 생성하는 간단한 도구를 찾고 싶었습니다. 이 오브젝트의 특성에는 데이터베이스 테이블과 동일한 이름과 동등한 유형이 있습니다.코드 생성 - 데이터베이스 테이블을 참조하여 DTO 생성.

+0

T4 사용을 고려하십시오. –

+0

@MichaelMaddox T4를 보았지만 정확하게하는 방법을 찾을 수 없었습니다. T4를 사용하여 내가하려는 일을 수행하는 방법에 대한 예가 있습니까? –

+0

완벽한 예는 아니지만 여기에서 아이디어를 얻을 수 있습니다. http://stackoverflow.com/questions/2223421/t4-template-to-create-multiple-html-for-example-output-files-per-table- from/3070406 # 3070406 –

답변

0

http://summerofnhibernate.com/ 세션 (특히 세션 08 : 데이터베이스 기반 모델링을위한 효과적인 기술) 중 하나를 보면서 찾고있는 것을 찾았습니다.

그는 데이터베이스 테이블을보고 DTO를 빌드하는 MyGeneration이라고하는 도구를 사용합니다.

0

데이터베이스를보고 유형을 만드는 도구를 ORM (Object Relational Mapper)이라고합니다. Entity Framework와 LLBLGEN은 마음과 마음을 사로 잡습니다. 이미 유형이있는 경우

, 당신은 DTO들로 변환 AutoMapper을 사용할 수

AutoMapper는 객체 - 객체 매퍼이다. 오브젝트 - 오브젝트 맵핑은 에 의해 작동하여 한 유형의 입력 오브젝트를 다른 유형의 출력 오브젝트로 변환합니다. AutoMapper가 흥미로운 이유는 유형 B에 대해 더러운 작업을 수행하는 몇 가지 흥미로운 규칙을 제공한다는 것입니다. B 유형이 인 경우 AutoMapper의 규정에 따라 거의 매핑이 필요하지 않습니다. 매핑이 필요합니다. 두 가지 유형.

+0

더 명확하게하기 위해 제 질문을 업데이트했습니다. 이미 NHibernate를 사용하고 있습니다. 나는 DTOs를 생성해야하고 나는 그것을 직접하고 싶지 않다. 그러므로 나는 지름길과 도구를 찾고 있습니다. –

+0

AutoMapper는 이미 매핑 할 객체가있을 때 좋은 도구입니다. –

+0

당신이 NHibernate를 사용하고 있다면, 당신은 이미 당신의 객체를 가지고있는 것입니다, 그렇습니까? –

0

Visual Nhibernate은 데이터베이스 스키마에서 도메인 개체를 생성 할 수 있습니다. 그런 다음 이러한 개체를 수정하고 필요한 DTO로 끝낼 수 있습니다. 두 가지 객체 유형을 모두 갖게되면 Mitch의 조언을 따르고 EmitMapper 또는 AutoMapper와 같은 도구를 사용하여 Domain 객체를 DTOS에 자동으로 매핑 할 수 있습니다.

관련 문제