2016-12-02 33 views
2

В настоящее время я работаю над большим проектом ASP.NET MVC 5, и я реализую DI, используя фреймворк Ninject для MVC. На самом деле это первый раз, когда я использую Ninject, и мне крайне необходимо знать, что лучше всего использовать AutoMApper 5.2.0.Как использовать AutoMApper.5.2.0 С Ninject?

После Googling я нашел несколько примеров, демонстрирующих старую версию AutoMapper с некоторыми устаревшими методами в новой версии.

Мое решение состоит из следующих проектов:

  1. Ядро
  2. данных
  3. служба
  4. Web

Я работаю над проектом в этом link.

+0

Там нет такого понятия, как наилучшей практики, прочитайте [здесь] (http://meta.stackoverflow.com/questions/265928/is-a-best-practice-question-off-topic). Есть только примеры использования и бизнес-потребности в том, как вы хотите/должны его реализовать ... Если вы сообщите нам более подробную информацию, мы могли бы _probably_ дать вам некоторые конкретные ответы. – kayess

+0

Благодарим за помощь, этот проект, над которым я работаю http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pattern-and-dep/ – Morz

+0

В каком слое вы хотите сделать сопоставление? – kayess

ответ

4

есть три вещи, которые необходимо настроить для AutoMapper в Ninject.

  1. Bind() 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

Кстати, это с AutoMapper 4.2.1. Я надеюсь, что это не слишком отличается в v5. –

+1

Большое вам спасибо, ваш ответ помог мне разобраться в загадочных вещах. – Morz

 Смежные вопросы

  • Нет связанных вопросов^_^