我在嘗試向資料庫表中添加新列時開始收到此訊息。我并沒有試圖做出任何改變,在DB的鍵列。
要更改列的 IDENTITY 屬性,需要洗掉并重新創建該列。
因此,在線研究各種潛在的解決方案,我一直在嘗試洗掉表格并替換它等,但沒有任何運氣。當我在 PMC 中運行 Update-Database 時,我遇到了同樣的錯誤,因此無法洗掉任何內容,也無法將任何內容添加到資料庫中。它完全被阻止,我不知道為什么,因為我沒有更改資料庫中的任何基本內容,我只是在表中添加了一個普通的 int 列并嘗試遷移更新。
然后,我在網上看到資訊說我應該洗掉表并更新資料庫,EF core 將替換該表以使資料庫恢復同步。我在 VS SQL Server 物件資源管理器中右鍵單擊該表并將其洗掉。但是當我添加遷移并運行時Update-Database,我再次收到錯誤訊息:
要更改列的 IDENTITY 屬性,需要洗掉并重新創建該列。
這還沒有投入生產,所以我不關心洗掉我的表造成的資料丟失,但它完全阻止了我。我怎樣才能讓我的資料庫更新再次運行,這樣我就可以恢復我的表而看不到這個錯誤?
我不知道是什么導致了這個問題。在這一點上,我想我應該在 Azure 中為我的解決方案創建一個全新的資料庫并一個一個地重新創建表,但這需要數天/數周,我不知道它是否會解決這個問題。
有沒有人遇到過這個問題,你知道從頭開始重新創建我的資料庫是否會解決這個問題,或者它是否通常起源于一個完整的資料庫娛樂不會有幫助的地方?
uj5u.com熱心網友回復:
我修好了它!有時您只需要將其寫下來,就能以全新的方式回來!
通過使用 ''Update-Database -Migration [migration name]'',我能夠一次又一次地嘗試每一次遷移,從最近一次開始。通過這樣做,我確定問題出在特定的遷移 4 或 5 次遷移中。值得慶幸的是,我總是保持較小的遷移。然后我使用 Remove-Migration 將它們一一移除,回到最后一個好的。這使我能夠按照我在網上找到并嘗試昨天的步驟來創建一個新表。但是我有另一個關于重復列名的錯誤,所以我需要創建沒有列的新表,并在洗掉有問題的表之前從舊表的模型中洗掉一些列(仍然不知道它為什么停止作業)。然后我將舊表模型添加到新表模型以恢復我的列并重命名新表以匹配舊表。現在作業正常。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/313347.html
標籤:sql-server 实体框架 实体框架核心
上一篇:樹視圖MVC未正確填充
