在Entity Framework中更新數據庫模式

.net entity-framework schema

我安裝了VS SP1並使用了Entity Framework。

我從現有數據庫創建了一個模式,並嘗試了一些基本操作。

除數據庫架構更新外,其中大部分都進展順利。

我以各種基本方式更改了數據庫:

  • 添加了一張新表
  • 刪除了一張桌子
  • 在現有表中添加了一個新列
  • 從現有表中刪除了一列
  • 更改了現有列的類型

前三個進展順利,但類型更改和列刪除沒有遵循數據庫更改。

有沒有辦法讓設計師工作?或者目前不支持?我還沒有找到任何相關材料,但仍在尋找。

一般承認的答案

我猜這可能不會發生,因為它們會破壞現有代碼的構建,但這只是我的猜測。

這是我的邏輯:

首先,EF應該是超過1:1的表映射,所以很可能只是因為你從表A中刪除一個列並不意味著對於那個實體,不應該有屬性描述。您可能只是將該屬性映射到另一個表。

其次,改變類型可能會破壞構建。那是唯一的理由。


熱門答案

我發現,一般來說,“從數據庫更新模型”功能仍然存在很多錯誤。

密鑰對我來說是殺手鐧 - 我還沒有對外鍵關係進行任何修改或者將一個主鍵添加到表中並讓更新程序正常工作(因為它會對生成的代碼產生編譯錯誤)代碼) - 但要解決這個問題,刪除模型和重新導入(只需要一分鐘)就很簡單 - 這顯然不太理想,但我從來沒有因為“新鮮”的導入而失敗。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因