6

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

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

4

1 回答 1

3

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

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

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

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

于 2013-03-20T12:15:54.573 回答