Вы можете поместить его в application_start()
из global.asax
В настоящее время у меня есть статический метод, который я вызываю из application_start, который инициализирует все мои сопоставления. Library.AutoMapping.RegisterMaps();
AutoMapper.Mapper.CreateMap(typeof(CoolObject), typeof(CoolObjectViewModel));
AutoMapper.Mapper.CreateMap<CoolObject, CoolObjectViewModel>()
.ForMember(d => d.Property1, f => f.MapFrom(s => s.Property1))
.ForMember(d => d.Property2, f => f.MapFrom(s => s.Property2))
.ForMember(d => d.Property3, f => f.MapFrom(s => s.Property3));
Итак, мой контроллер выглядит примерно так. Вы заметите, что конструктор HomeController требует IDataContext. Я регистрирую IDataContext в Ninject на уровне RequestScope, и для меня создается экземпляр DataContext, который вводится в мой контроллер. Отсюда мой репозиторий уровня запросов.
public class HomeController : Controller {
IDataContext dataContext;
public HomeController(IDataContext dataContext) {
this.dataContext = dataContext;
}
}
У меня есть немного более подробное объяснение о Ninject здесь http://buildstarted.com/2010/08/24/dependency-injection-with-ninject-moq-and-unit-testing/