2
我在我的項目中有一個實體模型,其中包含一些SQL視圖 - 使用「從數據庫更新模型」選項導入的視圖。實體框架與Sql視圖在它生成.sql文件中顯示爲表
現在,當我選擇「從模型生成數據庫」時,我將這些視圖看作表格。我怎樣才能避免這種情況?
我在我的項目中有一個實體模型,其中包含一些SQL視圖 - 使用「從數據庫更新模型」選項導入的視圖。實體框架與Sql視圖在它生成.sql文件中顯示爲表
現在,當我選擇「從模型生成數據庫」時,我將這些視圖看作表格。我怎樣才能避免這種情況?
這是正確的行爲。 EF不知道定義視圖的SQL代碼是什麼,因爲它無法創建它。此外,EF並不關心您創建當前模型的方式,因此如果您首先從包含數據庫的視圖定義模型,然後從該模型創建數據庫,那麼它確實會替換表中的所有視圖。
它可能會這樣做,但這是錯誤的行爲。它可以記住模型來自視圖,並且至少可以選擇在生成數據庫腳本時不生成表。每次創建新的測試數據庫時,我都必須刪除這些定義,以便我可以比較我的數據庫是否與我的模型生成的數據保持同步。 – Dave 2013-08-25 14:54:11
我絕對同意這很煩人。我認爲解決這個問題的方法是在運行生成的模式創建腳本之前創建一個創建視圖腳本。該腳本將錯誤的意見,但繼續前進。 – 2017-11-20 21:12:32