自定义数据模型设置器

时间:2014-12-18 18:07:11

标签: c# entity-framework enums entity-framework-6

我使用的是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中的私有变量。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以做的是使用属性

添加其他属性
[NotMapped] 

属性将被忽略。