2016-07-19 108 views
0

我有一個自動生成的實體類,我需要添加一些東西。我嘗試創建一個新班級,然後嘗試取消箱並將其重新裝入我的新班級,但這似乎很多工作。從實體框架擴展自動生成的類

有沒有更好的方式仍然利用實體模型,但能夠添加自定義的東西到類中?

public partial class SaveQuotes 
{ 
    public int TableID {get; set;} // Auto Generated 
    public string Column1 {get; set;} // Auto Generated 
    public string Column2 {get; set;} // Auto Generated 

    // My custom additions needed 
    public List<EdmundsVehicleInfo> EdmundsVehicleInfo {get; set;} 
    public List<EdmundsPhoto> EdmundsPhoto {get; set;} 

    // Auto Generated 
    public virtual ContractTypes ContractTypes {get; set;} 
} 

現在,如果我更新模型,我的自定義的東西被刪除,因爲它重新寫入文件。我確定有一種方法可以在某個地方向這個類添加內容,而不需要重寫它。

回答

4

這是EF工具預期的用例。

請注意在class定義中使用partial關鍵字?您可以使用相同的partial關鍵字創建第二個文件,並將類定義分佈在兩個文件中。

這些工具只會覆蓋原始文件,而不是您自定義代碼的新文件。

如果您想了解部分類的更多信息,請致電check this msdn article

+0

我一直在做實體的時間比我想承認不知道這個....... –

+0

@JamesWilson這是VS中大多數自動生成代碼的常見範例。現在還沒有這麼做...... EF代碼 - 首先否定了這一點。 – spender

+0

我們查看了Code-first,但它似乎給我們帶來了麻煩,因爲我們使用的主數據庫是來自第三方的鏡像只讀數據庫,它似乎首先爲我們提供了代碼。 –