ObjectContext の SavingChanges イベントをタイムスタンプ エントリに処理しています。要件は、ColumnA のみが変更された場合、変更時にエントリにタイムスタンプを付けないことです。
このイベント中に変更された (変更されている) 列を見つける方法はありますか?
ObjectContext の SavingChanges イベントをタイムスタンプ エントリに処理しています。要件は、ColumnA のみが変更された場合、変更時にエントリにタイムスタンプを付けないことです。
このイベント中に変更された (変更されている) 列を見つける方法はありますか?
これはうまくいくはずです。これにより、追加/変更されたエントリがループされます。変更されたプロパティが複数あり、「ColumnA」でない場合は、タイムスタンプを変更できます。
public int SaveChanges()
{
foreach( ObjectStateEntry entry in ObjectStateManager.GetObjectStateEntries( EntityState.Added | EntityState.Modified ) )
{
var properties = entry.GetModifiedProperties();
if (!(properties.Count() == 1 && properties.First() == "ColumnA"))
{
//modify timestamp here
}
}
return base.SaveChanges();
}