Breeze控制器端实体更新无法正常工作

时间:2013-08-16 14:49:23

标签: breeze

我正在使用BeforeSaveEntity事件来初始化来自第三方服务的坐标(纬度,经度)信息。

我将EntityInfo.Entity转换为所需的目标类型,然后更新其中的值。但是当它转到saveChanges()方法时,它不会将我更新的值推送到数据库。

我假设上下文无法跟踪我对实体所做的修改。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

这里只是一个猜测但是在Breeze v 1.1.3中我们添加了一个 EntityInfo.ForceUpdate 布尔属性,但它从未进入主要的Breeze文档,它只出现在发行说明中。

当对现有实体的任何属性进行服务器端修改时,此属性可用于强制整个实体的服务器端更新。可以使用的另一种方法是显式更新EntityInfo.OriginalValuesMap。

这两个背后的想法是,在更新时,Breeze仅为已更改的那些se属性创建更新语句。由于Breeze的跟踪机制在“originalValuesMap”中添加了一个条目,因此会自动检测到任何客户端更改,但这不能自动完成服务器端更改,因为服务器端实体未被检测为执行有关属性更改的通知。