Store read-only calculated field with Entity Framework Code First

I am using Entity Framework Code First, and I have an entity defined with a StartTime property, an EndTime property and a Duration property (along with some others). The Duration property is a calculated field and it is the duration in minutes between the start and end time. My property declarations are shown below:

public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public int Duration
{
    get
    {
        return (int)this.EndTime.Subtract(this.StartTime).TotalMinutes;
    }
}

I would like to run this calculation in code, but have the duration value persisted to the database along with the start and end time values (to make it easier later down the line when I come to run reports against these figures).

My question is, how can I get this read-only property to map back and save to the database using code first?

11
задан KevB 14 April 2011 в 12:50
поделиться