更新edmx以反映數據庫中所做的更改(.net linq-to-entities)

.net-3.5 entity-framework linq linq-to-entities

  • 所以我製作了我的edmx。
  • 然後我稍微更改了我的數據庫,將列更改為從NOT NULL到允許NULL。
  • 我進入我的edmx,右鍵單擊並選擇“從數據庫更新模型”

現在我進入我的程序並且它實際上沒有更新...我不能在列中放置null。如何正確更新edmx?謝謝。

一般承認的答案

從數據庫中選擇更新模型是更新EDMX的最佳方法。某些屬性未在Conceptual圖層上更新。

通過在“模型查看器”工具箱中查看,確保已更新“商店”圖層。如果商店已正確更新,那麼您沒問題,您的數據庫也是同步的。如果是這樣,請進入可視化設計器,單擊該字段,轉到屬性,然後在Conceptual端更新NotNull屬性。


熱門答案

從EDMX更新/刪除並不總是有效。如果在單擊“從數據庫更新模型”時未更新模型,請說明在更新數據庫中的視圖/表時,請執行以下操作:

1)從模型圖中刪除視圖/表
2)將EDMX切換到xml視圖(右鍵單擊edmx文件並選擇“打開方式”)
3)搜索並刪除xml實體元素
4)切換回EDMX視圖
5)單擊“從數據庫更新模型”

這應該反映您對DB到EDMX所做的任何更改。這很麻煩,但完美無瑕。

在理想的世界中,我希望數據庫中的更新模型能夠同步從DB到EDMX的更改。但是,它在大多數情況下都不起作用。



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