我正在使用 BeforeSaveEntity 事件来初始化来自第三方服务的坐标(纬度、经度)信息。
我将 EntityInfo.Entity 转换为所需的目标类型,并更新其中的值。但是,当它转到 saveChanges() 方法时,它不会将我更新的值推送到数据库。
我假设上下文无法跟踪我对实体所做的修改。
有人可以帮忙吗?
我正在使用 BeforeSaveEntity 事件来初始化来自第三方服务的坐标(纬度、经度)信息。
我将 EntityInfo.Entity 转换为所需的目标类型,并更新其中的值。但是,当它转到 saveChanges() 方法时,它不会将我更新的值推送到数据库。
我假设上下文无法跟踪我对实体所做的修改。
有人可以帮忙吗?
这里只是一个猜测,但在 Breeze v 1.1.3 中,我们添加了EntityInfo.ForceUpdate布尔属性,但它从未进入主 Breeze 文档,它只出现在发行说明中。
当对现有实体的任何属性进行服务器端修改时,此属性可用于强制对整个实体进行服务器端更新。可以使用的另一种方法是显式更新 EntityInfo.OriginalValuesMap。
这两者背后的想法是,在更新时,Breeze 只会为那些已更改的 se 属性创建更新语句。由于 Breeze 的跟踪机制将自动检测到任何客户端更改,该机制将条目添加到“originalValuesMap”中,但是对于服务器端更改无法自动完成,因为服务器端实体未配备执行有关属性更改的通知。