【问题标题】:unity.mvc3 and Unit of Work in ntier app?unity.mvc3 和 ntier 应用程序中的工作单元?
【发布时间】:2011-12-01 14:52:19
【问题描述】:

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

我在整个应用程序的其余部分中成功地将 unity.mvc3 用于 DI,但对如何正确实现 dbContext 注入感到困惑。

  • dbContext 是否充当工作单元?
  • 将 dbContext 注入 Repository 是否正确?
  • 我认为需要根据请求实例化 dbContext 是否正确?

认为我只是有点迷失从这里去哪里。我在想我应该有一个工作单元,但在我看来这会发生在服务层。

感谢所有帮助,

詹姆斯

【问题讨论】:

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


    【解决方案1】:
    • 是的(但您可以封装到自定义工作单元中)
    • 是的
    • 是(Unity.MVC3 中的分层生命周期管理器)

    【讨论】:

    • 简洁,我喜欢!我一直在研究这个,似乎 Repo 类不应该调用 context.save,它们应该只是改变状态。它在 UoW 中,该状态被持久化到数据库中。现在 Repos 需要上下文来改变状态,但是谁会调用 context.save?服务?正在努力解决如何设置这一切!
    • 看看我的博客引擎:palmmedia.de/Blog/2011/2/7/…也许你可以重用一些概念。我目前没有使用 Unity.MVC3,但我计划尽快更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 2011-03-29
    • 2010-11-27
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多