现在可以使用BreezeJS而不必使用EF

本文关键字:不必 EF BreezeJS 可以使 | 更新日期: 2023-09-27 18:13:13

以前,您必须使用实体框架作为直接连接到DbContext的微风,并且该对象不存在于其他地方。有手工创建元数据的概念(即由T4)。我可以访问SQL服务器,其中每个表都有自己的crud usp (SSMS工具包),ashx将所有RMI放入DB,生成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数据集成系统,不是那么臃肿?提前感谢

现在可以使用BreezeJS而不必使用EF

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

微风。ContextProvider包不依赖EF。它有一个ContextProvider类处理将JSON从客户端转换为服务器端。net实体。您子类化ContextProvider来实现实际保存到数据库的部分。

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

其中一个棘手的地方是以正确的顺序执行添加和删除操作。例如,如果我要添加一个Customer和一些相关的Orders,则需要在Orders之前将Customer添加到DB。EF会自动对添加进行排序,但NH不会,所以我们在NHRelationshipFixer中有一个SortDependencies()方法。如果你的micro-ORM不为你做这些,你可能需要做一些类似的事情。

如果你想出了一个micro-ORM的实现,请考虑把它贡献给社区。