2014-06-10 117 views
3

我正在使用實體框架4的.Net 4.0項目。我們的底層數據模型已更改,我想更新實體框架組件,特別是模型的EDMX文件。目前我正在手動完成這項任務,既費時又容易出錯。如何重新生成EDMX文件?

有沒有辦法自動重新生成EDMX文件?

此外,我寧願如果模型類不重新生成,因爲這些已被擴展了額外的邏輯。我可以手動編輯這些類,我只是想自動生​​成EDMX文件。

+1

你必須去模型瀏覽器右鍵單擊並從數據庫更新模型 –

回答

7

在模型瀏覽器或模型圖中,您可以右鍵單擊並使用「從數據庫更新模型...」功能。但是,這將重新生成類,因爲它應該。

我認爲你應該重新考慮直接編輯模型類,而是使用部分類來擴展它們的功能(生成的類默認是部分的)。

您還可以編輯模型模板文件(展開.edmx文件時的.tt文件)以您想要的方式生成它們。搜索T4模板以查找關於此的教程。

+0

完全同意,部分類是有這種用途。我使用了一個MyPartialEntities文件夾,並將所有要添加到我的模型中的代碼放入其中。我從來沒有真正成功automatifc更新,所以我用來刪除edmx和修改數據庫後的模型 –

0

沒有自動刷新EDMX(如果他們在某些時候實現這個功能,它會很好),並且最好和最準確的刷新EDMX的方法是刪除圖中的所有表,然後刪除所有複雜類型等在模型瀏覽器中。之後,通過右鍵單擊圖再次生成EDMX,然後單擊從數據庫更新模型...

我不會建議擴展.tt文件,因爲他們將在下一次重新生成EDMX類時消失,而是有一個模型項目或一個DTO項目,您可以在其中處理反映EDMX屬性並在那裏處理您的數據。

相關問題