2

저는 대형 ASP.NET MVC 5 프로젝트를 요즘하고 MVC 용 Ninject 프레임 워크를 사용하여 DI를 구현하고 있습니다. 실제로 Ninject를 사용하는 것은 처음이며 AutoMApper 5.2.0을 사용하는 가장 좋은 방법은 무엇인지 알아야합니다.Ninject와 함께 AutoMApper.5.2.0을 사용하는 방법?

Google 검색 후 새 버전에서 일부 권장되지 않는 메소드가있는 AutoMapper의 이전 버전을 시연하는 몇 가지 예를 발견했습니다.

내 솔루션은 다음 프로젝트로 구성되어

  1. 코어
  2. 데이터
  3. 서비스

나는이 link에서 동일한 프로젝트에서 일하고 있어요.

+0

가장 좋은 방법 같은 건 없다, [여기] (http://meta.stackoverflow.com/questions/265928/is-a-best-practice-question-off-topic)을 읽으십시오. 사용 사례와 비즈니스 요구 사항은 어떻게 구현하고 싶습니까/구현해야하는지에 대한 것입니다 ... 세부 정보를 좀 더 알려 주면 확실한 답을 줄 수 있습니다. – kayess

+0

도움을 주셔서 감사합니다.이 프로젝트는 제가 작업하고 있습니다. http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pattern-and-dep/ – Morz

+0

매핑 할 레이어를 선택 하시겠습니까? – kayess

답변

4

Ninject에서 AutoMapper를 설정하는 데 필요한 세 가지가 있습니다.

  1. 바인딩() AutoMapper.IMapper
  2. 하여 지시에 AutoMapper는 해당 서비스에 대한 Ninject에를 사용하고,
  3. 은 매핑으로 AutoMapper를 초기화합니다. 여기

나는이 목적을 위해 사용하는 NinjectModule입니다 :

public class AutoMapperModule : NinjectModule 
{ 
    public override void Load() 
    { 
     Bind<IMapper>().ToMethod(AutoMapper).InSingletonScope(); 
    } 

    private IMapper AutoMapper(Ninject.Activation.IContext context) 
    { 
     Mapper.Initialize(config => 
     { 
      config.ConstructServicesUsing(type => context.Kernel.Get(type)); 

      config.CreateMap<MySource, MyDest>(); 
      // .... other mappings, Profiles, etc.    

     }); 

     Mapper.AssertConfigurationIsValid(); // optional 
     return Mapper.Instance; 
    } 
} 

다음 당신은 그냥 사용하는 대신 수업에 AutoMapper.IMapper를 주입 할 정적 Mapper

+0

btw, 이것은 AutoMapper 4.2.1입니다. v5에서 너무 다르지 않기를 바랍니다. –

+1

정말 고마워요, 당신의 대답은 제가 신비로운 물건을 이해하는 데 도움이되었습니다. – Morz

관련 문제