【问题标题】:BreezeJS without Entity Framework?BreezeJS 没有实体框架?
【发布时间】:2013-08-15 09:38:26
【问题描述】:

我想使用 Microsoft MVC4 和 AngularJS 创建一个单页应用程序。我已经看到并测试了这里提供的一些示例http://www.asp.net/single-page-application/overview/templates

BreezeJS 引起了我的注意,他在客户端提供了一些不错的数据操作功能,但是在保存更改和将数据存储到数据库时,Breeze 坚持使用实体框架。或者至少我有这样的印象,我找不到一个例子或解释如何在没有 EF 的情况下使用 Breeze(NodeJS 不是这个的解决方案)。

我想知道是否可以在没有实体框架的情况下使用 Breeze saveChanges 方法保存更改以及如何保存?

我猜想从 Breeze 发送并由 MVC4 控制器(或 Web API)接收的 JObject 需要“手动”处理以提取下一个信息:

  • 发生了什么样的变化 - 查看“entityState”(添加, 修改、删除)
  • 哪一个实体发生了变化 - 查看“entityTypeName”
  • 提取实体属性值并将其转换为正确的类属性或变量(或不)
  • 然后为某些 DB 层创建适当的对象和操作,甚至创建适当的查询

这种方法需要大量工作来创建元数据(特别是对于更大数量的表),这可能会花费很多时间。

任何形式的帮助都会很有用。 谢谢。

【问题讨论】:

  • 您打算使用 ASP.NET MVC 4 还是在寻找其他技术?
  • 是的,我打算使用 MVC4 并希望使用 Angular JS 创建 SPA。所以我正在考虑使用 MVC4 来创建索引页面和 WEB API 来与 SPA 进行通信。

标签: breeze


【解决方案1】:

希望我能理解您的问题。我看到它轻而易举的方式可以跟踪实体框架(EntityAspect)的变化。 http://www.breezejs.com/documentation/change-tracking

在您的服务器 Web API 上的控制器中发生的事情对您的 SPA 的工作方式没有影响。所以你可以使用任何你喜欢的持久性模型。如果您不使用 EF,则必须创建 MetadataStore 客户端,但这相当容易。

问候,

伊恩

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 2011-10-05
    • 1970-01-01
    • 2015-11-26
    • 2011-12-06
    相关资源
    最近更新 更多