【问题标题】:Can now use BreezeJS without having to use EF?现在可以不用EF就可以使用BreezeJS了吗?
【发布时间】:2016-10-16 14:50:34
【问题描述】:

以前您必须使用实体框架,因为 Breeze 直接连接到 DbContext 并且该对象在其他地方不存在。 有手动创建元数据的概念(即通过 T4) 我可以访问 SQL 服务器,其中每个表都有自己的 crud usp(SSMS 工具包),ashx 将所有 RMI 执行到数据库中,生成 json 模式等和 DTO 服务模型。我查看了 WCF 服务层 (http://davybrion.github.io/Agatha/),但整体 EF 似乎无处不在。我已经尝试过 Angular 我很高兴使用 ADO 或 Dapper.NET 是否存在 BreezeJS 与高性能后端 (Micro-ORM) 的连接,或者我应该使用 Kendo DataSource (http://docs.telerik.com/kendo-ui/framework/datasource/overview)。这适用于需要无摩擦数据的混合移动应用程序。其他人找到了一个不那么臃肿的简单的客户端/服务器端 JSON 数据集成系统吗? 提前致谢

【问题讨论】:

    标签: c# json entity-framework kendo-ui breeze


    【解决方案1】:

    是的,您可以在没有 EF 的情况下使用 Breeze。这需要更好地推广。

    Breeze.ContextProvider 包不依赖于 EF。它有一个ContextProvider 类,用于处理将来自客户端的 JSON 转换为服务器端 .NET 实体。您将ContextProvider 子类化以实现将实际保存到数据库的部分。

    breeze.server.net 提供两种实现:Breeze.ContextProvider.EF 用于实体框架,Breeze.ContextProvider.NH 用于 NHibernate。您可以查看这些以获取有关如何构建 Dapper 实现的灵感。

    其中一个棘手的问题是以正确的顺序执行添加和删除操作。例如,如果我要添加客户和一些相关的订单,则需要在订单之前将客户添加到数据库中。 EF 自动对添加进行排序,但 NH 不会,因此我们在 NHRelationshipFixer 中有一个 SortDependencies() 方法。如果您的 micro-ORM 不适合您,您可能需要做类似的事情。

    如果您想出一个微 ORM 的实现,请考虑将其贡献给社区。​​p>

    【讨论】:

      猜你喜欢
      • 2011-01-14
      • 2014-06-30
      • 2018-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-25
      相关资源
      最近更新 更多