Asp.net mvc 将Automapper应用程序转换为新的Ninject项目

Asp.net mvc 将Automapper应用程序转换为新的Ninject项目,asp.net-mvc,dependency-injection,ninject,automapper,ninject.web.mvc,Asp.net Mvc,Dependency Injection,Ninject,Automapper,Ninject.web.mvc,我们的团队继承了一个使用Automapper的MVC项目。我们将在此项目的基础上进行增强。总的来说,它的编码非常好,对我们来说是一个很好的框架。问题是我们喜欢在所有项目中使用Ninject。逐步完成使用automapper的项目代码需要一些时间,因为我们使用automapper的经验非常少。我们最终希望构建一个新的MVC5项目,实现Ninject,并将大量使用automapper的代码复制/粘贴到将使用Ninject依赖项注入的新项目中 有人有过类似的情况吗?我们是否应该更熟悉AutoPaPER

我们的团队继承了一个使用Automapper的MVC项目。我们将在此项目的基础上进行增强。总的来说,它的编码非常好,对我们来说是一个很好的框架。问题是我们喜欢在所有项目中使用Ninject。逐步完成使用automapper的项目代码需要一些时间,因为我们使用automapper的经验非常少。我们最终希望构建一个新的MVC5项目,实现Ninject,并将大量使用automapper的代码复制/粘贴到将使用Ninject依赖项注入的新项目中

有人有过类似的情况吗?我们是否应该更熟悉AutoPaPER,并考虑不使用Nyject来进行这个新项目?任何建议都将不胜感激

好的,在阅读了更多关于Automapper的内容后,我想现在我已经了解了它的工作原理。我通常填充viewmodels的方式是执行以下操作:

public class Main
{
   public int MainID { get; set; }
   public string MainString { get; set; }
}

public class MainViewModel
{
  public int Main { get; set; }
  public string MainString { get; set; }
}



[HttpGet]
public ActionResult MainController()
{
  MainViewModel model = new MainViewModel();
  return View(model);
}


[HttpPost]
public ActionResult MainController(MainViewModel model)
{
  if (ModelState.IsValid)
  {
    Main objMain = new Main();
    objMain.MainString = model.MainString;
    mainRepository.SubmitMain(objMain);
  }
  return View(model);
}
查看示例后,我注意到以下代码:

MainViewModel model = Mapper.Map<Main, MainViewModel>(mainRepository.GetMain(id));

Automapper的总体优势是什么?它只是减少了代码行吗

你知道automapper和ninject做完全不同的事情吗?完全不同的事情?我也有类似的想法。你可能会想到autofac,而不是automapper