ここで次のコードを見つけました: Breeze BeforeSaveEntityonlyは、2 番目の回答で追加されたエンティティへの更新のみを許可します。私が理解している限り、プロパティModificationDate
は一般的なエンティティの既知のプロパティではないため、(そのままでは) 機能しません。コンパイルエラーが発生しましたobject does not contain a definition for 'ModificationDate' and no extension method 'ModificationDate' accepting a first argument of type 'object' could be found
protected override bool BeforeSaveEntity(EntityInfo entityInfo)
{
if(entityInfo.EntityState== EntityState.Modified)
{
var entity = entityInfo.Entity;
entityInfo.OriginalValuesMap.Add("ModificationDate", entity.ModificationDate);
entity.ModificationDate = DateTime.Now;
}
}
次のように進めます。
protected override bool BeforeSaveEntity(EntityInfo entityInfo)
{
if(entityInfo.EntityState== EntityState.Modified)
{
Product entity = (Product)entityInfo.Entity;
entityInfo.OriginalValuesMap.Add("ModificationDate", entity.ModificationDate);
entity.ModificationDate = DateTime.Now;
}
}
次に、この修正されたバージョンのコードでは、指定されたエンティティに指定されProduct
たプロパティがModificationDate
あり、すべてが適切にコンパイルされます。
私の質問:var
このコードを別のエンティティ (製品、クライアントなど) に使用したいので、(宣言を使用して) ジェネリック エンティティを使用したい場合はどうすればよいでしょうか。出来ますか?
私の質問が十分に明確であることを願っています。
ありがとう。