我使用的是EF6 Code First,我得到了一份具有以下属性的作业:
public int Id { get; set; }
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
public JobResult Result { get; set; }
public JobStatus Status { get; set; }
应根据作业的其他属性设置Status属性(如下面的SetStatus()所示)。
现在,每当我更新属性时,我都会手动调用Job的更新方法。
public void SetStatus()
{
if (Result == null && StartTime == null)
status = JobStatus.Pending;
else if (Result == null)
status = JobStatus.Running;
else if (Result.Error == null)
status = JobStatus.Finished;
else
status = JobStatus.Error;
}
我希望每次设置作业的任何属性时都自动完成此操作。但是,这需要我自定义setter和getter,并且不支持EF中的私有变量。
我该怎么做?
答案 0 :(得分:0)
您可以做的是使用属性
添加其他属性[NotMapped]
属性将被忽略。