entity-framework-5 - 带有存储库的 Breeze

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

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

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

最佳答案

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

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

Breeze/Knockout ASP.NET SPA 模板显示了已拆分的存储库。我相信在某处有一个 UoW 的样本——尽管它让我逃过了一劫。我已经请 Breeze 的人指出了一个答案。

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

关于entity-framework-5 - 带有存储库的 Breeze ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15523190/

相关文章:

visual-studio-2010 - Entity Framework 5 - 列名无效 - 逆向工程师代码优先

asp.net-mvc - 如何在Visual Studio 2012中降级Entity Framework 5迁移?

asp.net-mvc - 存储库和服务层之间的区别?

javascript - breeze.config.MetadataHelper 不是 Durandal 和 Breeze 的构造函数错误

.net - 如何在数据库优先方法中进行迁移

c# - AutoMapper.dll中出现 'AutoMapper.AutoMapperMappingException'类型的异常,但用户代码中没有处理

php - Laravel 仓库模式解释

c# - 结合单例模式和存储库模式

javascript - 面向纯前端/UI 开发人员的 BreezeJs

knockout.js - 使用 knockout/ Durandal 将无效字段标记为红色