我的问题是: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