13

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

现在,我们正在尝试将 Breeze 集成到我们的解决方案中。然而,尽管 Breeze 网站称它们与 Microsoft 无关,但似乎如果您不使用 EF,您将与 Breeze 一起经历一段漫长而痛苦的旅程。

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

所以,我的问题是:

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

- 如果可以轻松地使 Breeze 不使用 EF 并在服务器端直接使用 ADO.NET,是否有更好的示例或文档来说明如何做到这一点?

-- 鉴于我们的 SPA 实现非常类似于 John Papa 的带有 durandal、knout、Web API 等的 SPA 拱门,除了(再次)我们没有使用 EF,还有比 Breeze 更好的选择吗?

-- 然后是 SignalR... 我们计划稍后实现 SignalR,Breeze 甚至可以与 SignalR 一起使用吗?

谢谢!

4

1 回答 1

7

SO.com 上有很多更具体的示例,但我想解决您的一些关键问题 -

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

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

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

无论您使用哪种后端,Breeze 都是一个绝佳的选择。完成设置确实存在不同程度的困难,具体取决于您使用的其他技术,但是一旦您掌握了窍门,您会回过头来嘲笑它比手动创建自己的数据库要容易得多。这是一个很棒的免费信息示例,可用于指导您了解如何使用各种技术 -为什么我的 Breeze.js 实体没有创建 ko.observables?

如果可以轻松地使 Breeze 不使用 EF 并在服务器端直接使用 ADO.NET,是否有更好的示例或文档显示如何执行此操作?

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

扎-http : //www.breezejs.com/samples/zza

  • 角,MongoDb,节点

埃德蒙兹 - http://www.breezejs.com/samples/edmunds

  • Angular 根本没有数据库,只是 API 消耗

很多时候,您会发现只需要在查询中使用 toType 即可从查询中创建实体。有时您需要更深入地研究,但这又取决于技术。

鉴于我们的 SPA 实现非常类似于 John Papa 的带有 durandal、knout、Web API 等的 SPA 拱门,除了(再次)我们没有使用 EF,还有比 Breeze 更好的选择吗?

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

然后是 SignalR……我们计划稍后实现 SignalR,Breeze 甚至可以与 SignalR 一起使用吗?

更新了 Ward 的建议- SignalR 和 Breeze 似乎为您的应用程序服务于不同的目的。我认为看看你的应用程序是否能更好地与 SignalR 一起工作比 Breeze 是否能更好地工作是明智的,因为它们的关注点不同。

于 2013-08-05T15:50:52.843 回答