私の質問は:
Breeze.js で、このエンティティを保存する前にサーバー上のエンティティのプロパティ値を変更/設定することは可能ですか?
たとえば、Productというエンティティがあり、このエンティティにPriceというプロパティがあると仮定すると、サーバーでエンティティを保存する前に、Price値に定数を掛けます。
hereとhereを見て、次の方法を使用してみました: BeforeSaveEntity(entityInfo)
、BeforeSaveEntities(saveMap)
、SaveChangesCore(saveMap)
。
ソース コードでは、BeforeSaveEntity(entityInfo)
とBeforeSaveEntities(saveMap)
はエンティティの検証にのみ使用されることを理解しました。それは私が探しているものではありません。
ここ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);
}
前もって感謝します、
ベルナルド・パチェコ