【问题标题】:Custom datamodel setter自定义数据模型设置器
【发布时间】: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


    【解决方案1】:

    你可以做的是添加一个带有属性的附加属性

    [NotMapped] 
    

    这些属性将被忽略。

    【讨论】:

      猜你喜欢
      • 2012-10-10
      • 1970-01-01
      • 2017-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多