以前您必须使用Entity Framework,因为Breeze直接连接到DbContext,并且该对象在其他地方不存在。 有手工创建元数据的概念(即T4) 我可以访问SQL服务器,其中每个Table都有自己的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)。这适用于需要无摩擦数据的混合移动应用程序。其他人发现了一个不那么臃肿的简单ClientSide / Server Side JSON数据集成系统? 提前致谢
答案 0 :(得分:0)
是的,您可以在没有EF的情况下使用Breeze。这需要更好地提升。
Breeze.ContextProvider包不依赖于EF。它有一个ContextProvider
类,用于处理将JSON从客户端转换为服务器端.NET实体。您将ContextProvider
子类化为实现实际保存到数据库的部分。
breeze.server.net提供了两个实现:实体框架的Breeze.ContextProvider.EF和NHibernate的Breeze.ContextProvider.NH。您可以查看这些内容,了解如何构建Dapper实现。
其中一个棘手的问题是以正确的顺序执行添加和删除操作。例如,如果我要添加客户和一些相关订单,则需要在订单之前将客户添加到数据库中。 EF会自动对添加内容进行排序,但NH不会,因此我们在NHRelationshipFixer中有一个SortDependencies()
方法。如果你的micro-ORM没有为你做这件事,你可能需要做类似的事情。
如果您想出一个微型ORM的实现,请考虑将其贡献给社区。 p>