1

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

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

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

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

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

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

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

4

1 回答 1

0

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

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

问候,

伊恩

于 2014-01-20T09:30:10.650 回答