我的問題是:Breeze.js - 更改服務器上的實體的屬性值保存實體之前
是否有可能,在Breeze.js,改變/設置實體上的屬性值服務器保存此實體之前?
例如,假設有一個名爲產品的實體,這個實體有一個名爲價格,我想屬性,在服務器和存儲的實體之前,乘以一個常數價格值。
尋找here和here,我嘗試使用下面的方法:BeforeSaveEntity(entityInfo)
,BeforeSaveEntities(saveMap)
,SaveChangesCore(saveMap)
。
在source code中,我瞭解BeforeSaveEntity(entityInfo)
和BeforeSaveEntities(saveMap)
僅用於驗證實體。這不是我要找的。
在具有源代碼描述here方法SaveChangesCore(saveMap)
,我認爲在這裏是改變的實體的屬性值的位置。
所以我嘗試了以下,但它沒有奏效。值未更新數據庫提前
protected override List<KeyMapping> SaveChangesCore(Dictionary<Type, List<EntityInfo>> saveMap)
{
foreach (var entity in saveMap[typeof(Product)])
{
var product = (Product)entity.Entity;
product.Price = product.Price * 10; // changing the value of the property
}
return base.SaveChangesCore(saveMap);
}
感謝,
貝爾納多·帕切科
你指給我解答我的問題的答案。謝謝。 – 2013-03-28 15:17:33
嗨@Julian Yuste,你的想法非常好。但你想告訴我,我如何重寫SaveChanges()方法。我沒有找到SaveChanges()的任何重寫方法。請給我完整的例子。謝謝。 – Shohel 2014-08-03 05:49:59