9

필자는 이전 질문 중 하나 인 here에 대한 응답으로 AutoMapper를 읽었습니다.

AutoMapper는 복잡한 도메인 모델을 평평하게 만든다고 말합니다. 그러나 나는 그 반대의 것을 필요로합니다. 뷰 모델을 도메인 모델로 신속하게 변환 할 수 있도록 복잡한 뷰 모델 (플랫 도메인 모델)을 복잡한 도메인 모델에 연결해야합니다.

뷰 모델을 가져 와서 복잡한 도메인 모델로 만드는 AutoMapper와 비슷한 것이 있습니까?AutoMapper는 도메인 모델을 평평하게하지만 반대의 역할을합니까? 그렇지 않다면, 무엇을합니까?

+0

을 http://valueinjecter.codeplex.com/ – Omu

답변

1

유용하지는 않겠지 만 극도로 일반적이어야하기 때문입니다. 플랫 팅 할 때 패턴을 구분하는 것은 쉽지만 다른 방법은 '라운드 ... 너무 많은 맞춤 로직'입니다.

+2

ValueInjecter는 않습니다 그것은 http://valueinjecter.codeplex.com/ – Omu

+0

뿐만 아니라 양방향 매핑이 의심스러운 관행 인 것 같습니다 : http://lostechies.com/jimmybogard/2009/09/18/the-case-for -two-way-mapping-in-automapper /. 자신을 코드화하는 응용 프로그램 – gabe

4

할 수 있습니다!. 오른손/왼손 코딩을 수행하고 두 코드를 함께 동기화하는 MapToModel 메서드를 만듭니다.

public MyModel MapToModel(MyViewModelForm vmf) 
{ 
    //new up MyModel model; 
    model.foo = vmf.foo; 

    return model; 
} 

응용 프로그램을 코딩 한 경우 생존을 위해 정확히 무엇을해야합니까?

+2

:) – Omu

2

ValueInjecter 그것을 수행하고, 사용하기 매우 쉽습니다 : 당신이 ValueInjecter 함께 할 수

//flatenning 
personDto.InjectFrom<FlatValueInjection>(person); 

//unflattening 
person.InjectFrom<UnflatValueInjection>(personDto); 

//this is just mapping without flattening/unflattening 
foo.InjectFrom(bar) 
관련 문제