【问题标题】:breezejs with a repository带有存储库的微风
【发布时间】:2013-03-20 20:15:54
【问题描述】:

我们一直在密切关注使用 Breezejs 在客户端和服务器之间提供数据上下文的 SPA。这些功能在客户端上看起来很棒,但我们希望在服务器上使用存储库模式并获得良好的关注点分离,而不必从 EFContextProvider 继承,这会导致 IoC 和可能的单元测试/模拟问题。我们一直在关注 John Papa 在 Pluralsight 上的 Code Camper 示例,该示例最初使用没有 Breeze 的 Respository/UoW 模式,然后我们查看了包含 Breeze 的 Hot Towel 模板。

有谁知道如何将 Breeze 抽象为一个存储库,该存储库保持 DbContext 干净(如果使用实体框架)封装。此外,如果您不使用实体框架并更喜欢使用其他 ORM,例如 nHibernate,会发生什么情况。

【问题讨论】:

    标签: entity-framework-5 repository-pattern breeze single-page-application


    【解决方案1】:

    感谢您在这里发帖,我相信其他人会问这个:)

    如果您不使用 EF,那么您将无法获得 Breeze 提供的自动元数据创建功能。但是,您当然可以将 EF 上下文抽象到一个 Repo 中,并且仍然可以获得好处。

    Breeze/Knockout ASP.NET SPA 模板显示了已分解的存储库。我相信某处有 UoW 的样本 - 但它在哪里逃跑了。我已经要求 Breeze 的人指出一个答案。

    如果您使用 nHibernate,则没有自动元数据 - 但是我可以看到 Breeze 的一个很棒的功能请求。

    【讨论】:

    • 很好的答案,约翰。我们正在努力使在服务器上为 any CLR 模型生成元数据变得更加容易。应该能够很快描述它......在一两个星期内。
    • 我在我的待办事项中添加了一个“UoW/Repository 和模型在单独的项目中”的简单示例。为了快速推出它,它将使用 EF ...因为重点是关注点分离,而不是数据访问技术本身。一旦我们(在其他地方)演示如何为任何模型创建元数据,读者应该能够随意更换 EF
    • 我强烈推荐 Scott Allen 在 Pluralsight Design Patterns course 中关于 Repository 和 UOW 的视频……这可能是我见过的对这些模式的最清晰、无术语的阐述。
    • 嗨 Ward,这听起来令人兴奋 :) 有关于为任何 CLR 模型生成元数据的更新,就像您在第一条评论中提到的那样?
    • @Ward 是否有一个如何使用 Uow 进行操作的示例?或者有没有办法让一个微风控制器拥有多个存储库?
    猜你喜欢
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 2013-09-14
    相关资源
    最近更新 更多