2017-02-27 34 views
0

我正在嘗試編寫一個EF6中使用的模型,其中包含一個我希望在C#(而不是SQL)中計算的屬性。我的模型是這樣的:在EF6上消除計算屬性代碼從數據庫中的第一個DbSet

public class UploadRequestWorkingHours : UploadRequest 
{ 
    [DatabaseGenerated(DatabaseGeneratedOption.Computed)] 
    public int WorkingHoursSinceResponseDate 
    { 
     get { return DateUtils.WorkingHoursSince(ResponseDate); } 
     private set { } 
    } 
} 

UploadRequest類包含的細節,這個派生類中引入了應該由LINQ/EF /何人當模型被序列來計算的屬性。

不幸的是,這個屬性 - WorkingHoursSinceResponseDate - 正在將它放到數據庫中,儘管我已將該類標記爲Computed。我也試過None。我通過閱讀EF文檔瞭解到DatabaseGeneratedOption仍然會在數據庫中創建一列;我一直在關注有很多選票的帖子such as this one,但實際上,我不認爲這是解決方案。

如何防止模型中的計算屬性進入數據庫? Another post建議在創建的遷移文件中創建遷移並註釋該字段,但這非常臭,而且我無法逃避這一點!

回答

0

發現:[NotMapped]

還是要謝謝你!