我正在使用實體框架代碼首先,我有一個使用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;
}
}
我想運行這個計算的代碼,但具有持續時間值保存到數據庫與起始和結束時間值一起(以方便以後的路線當我來運行報告反對這些數字)。
我的問題是,我怎麼能得到這個只讀屬性映射回來,並保存到數據庫中使用代碼第一?
啊,好主意,以它的保護!你是否也試圖讓制定者爲「私人」?知道EF是否會將該屬性映射到數據庫列會很有趣。 – Slauma 2011-04-14 14:05:09
我剛剛嘗試過一個「私人」制定者,並且令人驚訝的是它繼續工作! – KevB 2011-04-14 15:02:27
EF每次加載此實體時都會更新數據庫。我們猜測EF的變更跟蹤錯誤地認爲這個屬性已經改變。對我們來說,這會導致意外的併發衝突。 – 2012-12-05 23:33:49