确定财产何时发生变化

时间:2018-04-20 20:24:50

标签: c# entity-framework-4

是否有可能知道在实体本身内何时修改了属性?

E.g:

public class StudentEntity{
    public string studentId { get; set; }
    public string studentStatus { get; set; }

   public string getStatusChangeDate{
       get 
       {
        //if studentStatus change then return date
       }
    }
}

2 个答案:

答案 0 :(得分:2)

INotifyPropertyChanged接口用于通知客户端(通常是绑定客户端)属性值已更改。

例如,请考虑具有名为FirstName的属性的Person对象。要提供通用属性更改通知,Person类型实现INotifyPropertyChanged接口,并在FirstName更改时引发PropertyChanged事件。

要在绑定客户端和数据源之间的绑定中发生更改通知,您的绑定类型应该是:

实现INotifyPropertyChanged接口(首选)。

为绑定类型的每个属性提供更改事件。

重写您的代码:

ClassName ClassObjectName = JsonUtility.FromJson<ClassName>(args.Snapshot.GetRawJsonValue());

答案 1 :(得分:0)

您可以使用方法设置值。这意味着每次EF加载记录时,它都不会被覆盖:但当然你必须记住调用方法而不是直接设置属性。

public class StudentEntity {
    public string studentId { get; set; }
    public string studentStatus { get; set; }
    public DateTime studentStatusChanged { get; set; }

    public void SetStudentStatus(string status) {
        studentStatus = status; 
        studentStatusChanged = DateTime.Now;
    }
} 

示例:https://dotnetfiddle.net/kF8VZR