我剛開始使用EF5。我創建了一個MSSQL數據庫,然後創建了模型(edmx)文件,然後使用「添加代碼生成項目」創建EF5 dbcontext
類。我看到「從數據庫更新模型」不起作用,我需要刪除並重新創建模型。 這對我來說沒問題,但是model.tt
模板文件生成的DbContext
類會怎樣?我還必須再次生成所有DbContext
類嗎?更新edmx模型後,DbContext又如何?
使用數據庫優先環境並使.edmx
模型和DbContext
類與數據庫保持同步的正確方法是什麼?
我剛開始使用EF5。我創建了一個MSSQL數據庫,然後創建了模型(edmx)文件,然後使用「添加代碼生成項目」創建EF5 dbcontext
類。我看到「從數據庫更新模型」不起作用,我需要刪除並重新創建模型。 這對我來說沒問題,但是model.tt
模板文件生成的DbContext
類會怎樣?我還必須再次生成所有DbContext
類嗎?更新edmx模型後,DbContext又如何?
使用數據庫優先環境並使.edmx
模型和DbContext
類與數據庫保持同步的正確方法是什麼?
從數據庫更新模型後,請嘗試Run Custom Tool
實體模型,爲我工作並進行測試。
從Entity Model
→右鍵點擊→運行自定義工具
在VS2010有在解決方案資源管理器的非常右上角稱爲「轉換所有模板」,它更新您的生成的類
我可以看到這樣做的兩種方式按鈕:
1)使用EF4方法(也應該可以使用EF5),它使用edmx和數據庫優先流程。然後,無論何時在數據庫中進行更改,只需從edmx designer context-menu中選擇「從數據庫更新模型...」。這會自動更新您生成的實體類。
2)使用EF5方法 - 一次生成POCO類,根本不使用edmx。你可以使用Entity Framework Power Tools來做到這一點,然後使用「逆向工程師代碼優先」。在數據庫模型更改時手動將更改應用於您的類(這顯然只適用於增量數據庫更改)。
其實,如果我改變SQL Server中的字段的數據類型,更新模型將不會更新屬性。我需要按順序刪除並重新添加表格。惱人的 – Vland