Entity Framework 注意事項
Entity Framework(EF) database first 是自行先建立好 DB Table,再透過 EF 將 Table 拉進來使用,是使用 EF 的其中一種方法,只是有些地方須要注意一下: (一) Table 一定要有定義 Primary Key(PK),如此 EF 對它做 Insert、Update、Delete 時才能成 功,但不影響 Select。 (二) 如果 Table 沒有定義 PK,在 EF 4 是加不進 Model 的,麻煩的是還沒有任何錯誤訊息提示,以前都傻傻的以為是 Model 壞了...(EF 之後的版本不知道有沒有更新了)。 確實 我這邊EF4是真的加不進來而且不會有ERROR 所以我才找到這篇 這個有一個解法 就是自己手動設定PK 但是會與DB不符合 到時候下一個修改DB後引入的人可能就會再碰一次這個錯誤 非常麻煩 但是如果你一開始有建立 PK 並加入 Model 了,然後再將 Table 的 PK 取消掉,再執行 EF 的 Update model from database,此時 Model 裡的 Table PK 會被取消,如果你對它做 Insert、Update、Delete 其中一個指令,就會出現如下錯誤訊息: (三) 另一種情況是 Table 沒有定義 PK,但有定義部份欄位 Nullable,這樣加到 EF Model 後,會自動將 Nullable 的欄位都變成 PK,這時如果你對這些欄位要做異動,就要遵守唯一值的原則,否則會出現如下錯誤訊息: Entity Framework 更新模組功能 Entity 的 更新模組功能就結論上來講不會因為你改變了資料庫便更新 參考: https://d8890007.blogspot.com/2017/08/aspnet-entity-framework-database-first.html