2013-08-16 15 views
0

我正在使用BeforeSaveEntity事件初始化來自第三方服務的座標(緯度,經度)信息。Breeze控制器端實體更新不起作用

我將EntityInfo.Entity轉換爲所需的目標類型,並更新其中的值。但是,當它進入saveChanges()方法時,它不會將更新的值推送到數據庫。

我假設上下文無法跟蹤我對實體所做的修改。

有人可以幫忙嗎?

回答

1

就在這裏,但在微風v 1.1.3猜測我們增加了一個在EntityInfo.ForceUpdate布爾屬性,但它從未進入主微風文檔,它只出現在發行說明。

當對現有實體的任何屬性進行服務器端修改時,可以使用此屬性強制整個實體的服務器端更新。可以使用的另一種方法是顯式更新EntityInfo.OriginalValuesMap。

這兩者背後的想法是,更新Breeze只會爲那些已更改的se屬性創建更新語句。由於Breeze的跟蹤機制會向「originalValuesMap」添加條目,所以會自動檢測到任何客戶端更改,但由於服務器端實體未檢測到執行有關屬性更改的通知,因此無法自動進行服務器端更改。

+0

謝謝!那做了這個工作。在更新服務器端的實體之前,我更新了EntityInfo.OrignalValuesMap。 –