unity.mvc3和ntier app中的工作单元?

时间:2011-12-01 14:52:20

标签: asp.net-mvc asp.net-mvc-3 dependency-injection unity-container unit-of-work

慢慢将MVC应用程序与类库放在一起:MVC>服务> IRepository> EFRepository。现在,我的EFRepository实现每个都在它们的构造函数中创建一个新的dbContext,但这会阻止测试,所以我需要注入dbContext。

我在我的应用程序的其余部分成功使用了unity.mvc3,但我对如何正确实现dbContext注入感到困惑。

  • dbContext是否作为工作单元?
  • 将dbContext注入存储库是否正确?
  • 我认为每个请求都需要实例化dbContext吗?

想想我离这儿有点失落。我认为我应该有一个工作单元,但在我看来,这将发生在服务层。

所有帮助表示赞赏,

詹姆斯

1 个答案:

答案 0 :(得分:3)

  • 是(但你可以包装成一个自定义工作单元)
  • 是(Unity.MVC3中的分层生命周期管理器)