VSデザイナによって生成されたlinqtosqlクラスを拡張しようとしていますが、特定のフィールドの値が変更されたかどうかを判断する必要があります。テーブル/エンティティのDataContextUpdateメソッドのフィールドの前後の値にアクセスする方法はありますか?
これが私のコードです:
public partial class DataClassesDataContext
{
partial void UpdateActivity(Activity instance)
{
this.ExecuteDynamicUpdate(instance);
//need to compare before and after values to determine if instance.AssignedTo value has changed and take action if it has
}
}
また、Activityエンティティクラスにプロパティを追加して、値が変更されたかどうかを通知することもできますが、値が変更されたかどうかを確認する方法もわかりません。ActivityクラスのOnAssignedToChangedメソッドを使用することはできません。これは、プロパティ値が設定されるたびに発生し、必ずしも変更される必要がないためです。更新にListViewおよびLINQDataSourceコントロールを使用しているので、何があっても設定されます。
また、OnAssignedToChangingメソッドを使用できるかもしれないと思いましたが、Activityインスタンスにはその時点で現在の値がないようです。次のコードはこのようには機能しません。AssignedToは常にnullです。
partial void OnAssignedToChanging(int? value)
{
if (value != this.AssignedTo)
{
_reassigned = true;
}
}