【发布时间】:2014-12-18 18:07:10
【问题描述】:
我使用的是 EF6 Code First,我得到了一份具有以下属性的 Job:
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 中不支持的私有变量。
我该怎么办?
【问题讨论】:
标签: c# entity-framework enums entity-framework-6