我正在使用Entity Framework Code First,定义了一个实体,其中包含一个StartTime
属性,一个EndTime
属性和一个Duration
属性(以及其他一些属性)。Duration
属性是一个计算字段,它表示开始时间和结束时间之间的分钟数。以下是我的属性声明:
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public int Duration
{
get
{
return (int)this.EndTime.Subtract(this.StartTime).TotalMinutes;
}
}
我想在代码中运行这个计算,但是希望将持续时间值与开始和结束时间值一起保存到数据库中(以便日后运行报告时更加方便)。我的问题是,如何通过Code First让这个只读属性映射回并保存到数据库中?
private
?如果 EF 仍然会将该属性映射到数据库列,那就很有趣了。 - Slaumaprivate
的setter,令人惊讶的是它仍然可以工作! - KevB