Javascript 在没有实体框架的情况下使用Breeze.js

Javascript 在没有实体框架的情况下使用Breeze.js,javascript,entity-framework,signalr,breeze,single-page-application,Javascript,Entity Framework,Signalr,Breeze,Single Page Application,我们正在尝试使用与John Papa的Pluralsight课程(如Web API、knockout、jquery等)类似的技术和技术开发SPA。然而,作为一家公司,我们决定不使用实体框架。我们希望使用标准ADO.NET编写服务器端数据层 现在,我们正在尝试将Breeze集成到我们的解决方案中。然而,尽管Breeze网站说他们与微软没有联系,但如果你不使用EF,你将在Breeze上经历一段漫长而痛苦的旅程 我们尝试评估nodbbreeze示例,但这件事非常复杂且难以理解(以及如何在服务器端的标准

我们正在尝试使用与John Papa的Pluralsight课程(如Web API、knockout、jquery等)类似的技术和技术开发SPA。然而,作为一家公司,我们决定不使用实体框架。我们希望使用标准ADO.NET编写服务器端数据层

现在,我们正在尝试将Breeze集成到我们的解决方案中。然而,尽管Breeze网站说他们与微软没有联系,但如果你不使用EF,你将在Breeze上经历一段漫长而痛苦的旅程

我们尝试评估nodbbreeze示例,但这件事非常复杂且难以理解(以及如何在服务器端的标准分层架构中实现它-所有内容似乎都是紧密耦合的,只是放在MVC/webapi项目的Models文件夹中)

因此,我的问题是:

--如果不使用EF,Breeze是否是客户端数据库的错误选择

--如果Breeze可以很容易地不使用EF,而只在服务器端使用直接的ADO.NET,那么有没有更好的示例或文档说明如何做到这一点

--考虑到我们的SPA实现与John Papa的SPA arch非常相似,有durandal、knockout、Web API等,除了(再次)我们没有使用EF,还有比Breeze更好的选择吗

--还有信号员。。。我们计划稍后实现Signal,Breeze是否与Signal一起工作


谢谢

在SO.com上有很多更具体的例子,但我想谈谈你的几个关键问题-

我们尝试评估NoDB-Breeze示例,但这非常有用 复杂且难以理解(以及如何 在服务器端的标准分层架构中实现它- 一切似乎都是紧密耦合的,只是放在模型中 MVC/Web API项目的文件夹)

根据您使用的数据库类型,StackOverflow和Breeze上还有多个其他示例以及操作指南。我可以在这里列出它们,但如果您添加了您打算使用的数据库类型,那么提供更好的答案可能会容易一些

如果您正在使用客户端数据库,那么Breeze是错误的选择吗 不使用EF

无论您使用哪种后端,Breeze都是一个很好的选择。根据您使用的其他技术的不同,完成设置确实有不同程度的困难,但一旦您了解了其中的诀窍,您就会回过头来嘲笑这比手动创建自己的数据库要容易得多。这是一个非常棒的免费信息示例,可以帮助您了解如何使用各种技术-

如果微风可以很容易地使不使用EF和只使用直线 在服务器端的ADO.NET中,是否有更好的示例或文档 展示如何做到这一点

我会查看一些其他可用的示例,具体取决于您尝试使用的技术。以下是一些不使用EF-

Zza-

  • 角度,MongoDb,节点
埃德蒙兹-

  • 角度,根本没有数据库,只有API消耗
很多时候,您会发现您只需要在查询中使用toType就可以从查询中创建实体。有时您需要更深入地了解,但这又取决于技术

鉴于我们的SPA实施与John Papa的SPA非常相似 arch与durandal、knockout、WebAPI等一起使用,但(再次)我们不是 使用EF,是否有比Breeze更好的选择

还有其他客户端库,JayData可能是最流行的。您可能需要让您的团队聚在一起,决定哪些技术对您更有意义,同时考虑到许多不同的因素,这些因素与我们对StackOverflow的想法无关

还有信号员。。。我们计划稍后实施信号器, 微风能和信号器一起工作吗


更新了Ward的建议-Signal和Breeze将为您的应用提供不同的用途。我认为,与Breeze相比,更明智的做法是看看你的应用程序是否能与Signal一起很好地工作,因为他们的关注点不同。

回答得不错,PW Kad!关于信号机,它可能不是“或”。我喜欢用signar来通知,用Breeze来获取、管理和保存数据。它们一起工作,各自解决一个单独的问题。披露:“我喜欢微风”部分是因为我是一位合著者:)谢谢你的详细回答,PW Kad。我很感激。我确实看到了Edmunds的例子,但我从来没有看过Angular,所以我不想让它妨碍我理解如何将Breeze与Durandal、Knockout和WebAPI结合使用。但是,我以后可能会看一看。现在,我已经决定把微风放在次要位置。我有一个原型项目,需要在不到一个月的时间内完成(我花了4天的时间试图找出微风,但仍然无法让它工作)。我以后再去看。再次感谢。