2012-04-27 3 views
1

동일한 이름의 속성 (비즈니스 클래스 1 개와 데이터 클래스 1 개)을 가진 클래스가 2 개 있습니다. 내가 다른 모든 속성 밴 1 클래스를 매핑하는 '변환'방법을 쓴이 순간 클래스 속성을 다른 (동일한 속성) 클래스로 매핑

는 :

private class BusinessLogic convert(Datalogic dataclass) 
{ 
    Businesslogic businessclass = new BusinessLogic(); 
    businessclass.ID = dataclass.ID; 
    businessclass.name = dataclass.name; 
    ..... 
    return businessclass; 
} 

훨씬 더 간단한 방법이있을 것 같다. 나는 그것을 검색하는 방법을 모른다. 누군가 나를 올바른 길로 인도 할 수 있습니까?

답변

4

이것은 매핑 도구의 작업입니다. AutoMapper - 모든 속성의 이름이 동일하면 규칙에 따라 대상 클래스의 해당 속성에 매핑되므로 거의 한 줄로 표시됩니다. 될 수있는 특정 예를 들어

:

Mapper.CreateMap<Datalogic, BusinessLogic>(); 
BusinessLogic businessclass = Mapper.Map<Datalogic, BusinessLogic>(dataclass); 
+0

멋지 단 하나 개의 질문은 왼쪽 . 매핑이 클래스 라이브러리에서 사용되는 경우 매핑은 어디에 정의합니까? –

2

AutoMapper 당신이 Object to Object 매핑을 실시 사용할 수있는 라이브러리입니다.

AutoMapper와

은 당신의 코드는

Mapper.CreateMap<Datalogic , Businesslogic >(); 
Product product= GetProductFromDB(2); 
Businesslogic productViewItem = Mapper.Map<Datalogic , Businesslogic >(product); 

홈 페이지와 같은 어떤 것을 줄일 수있다 : http://automapper.org/

는 출처 : https://github.com/AutoMapper/AutoMapper

튜토리얼 링크 http://www.codeproject.com/Articles/61629/AutoMapper

관련 문제