使用EF在執行數據庫操作時,異常提示生成的表名和實際實體名稱不一致的解決方案

1 問題回放

最近同事在使用EF DBFIRST進行實體框架開發的時候,遇到了一個奇怪的問題,提示主外鍵約束存在問題,但是該表並沒有設置外鍵,而且軟件提示的數據庫表名不存在,但是提示的數據庫表名和我EF實體名稱完全不一致,最後經過分析,找出了問題並解決,在此做一個記錄,方便日後查閱!

2 問題產生原因

出現這種情況的主要原因是,在創建了數據庫表並設置完主鍵以後,在後期的開發過程中人爲的修改了數據庫表名,造成之前生成的主鍵名稱和現在的表名對不上,而EF在動態生成表名的時候會從EF中的主鍵名稱中去查找表名,導致系統在修改表名以後出現還使用的是之前的主鍵名稱,在生成SQL的時候,EF還是會按照之前的主鍵名稱來生成表名,造成EF中的表名和實際的實體名稱並不一致!

3 問題解決方案

大家記得在修改表名以後,可以刪除之前的主鍵,再重新創建主鍵來解決該問題,或者手動修改主鍵名稱也可以解決該問題!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章