2013年4月30日

Entity Framework - 使用Code First刪除欄位時,出現"未套用自動移轉,因為這可能會造成資料遺失。"警告

這篇是小小的紀錄文。

這個問題的發生,主要是因為,當我們使用Code First時,從Entity移除了一個欄位;例如原本的Customer裡面有Tel欄位,而把Tel欄位刪除掉時,再去Update-Database就會發生這個警告,而就如小弟所說的,這其實是一個警告, 不算是錯誤,因為沒有警告,就直接把DB的Table內容砍掉,大家可能會想殺人XDD,所以這邊Entity Framework會提出警告。

警告訊息如下

未套用自動移轉,因為這可能會造成資料遺失。

畫面如下:

image

那要怎麼處理呢?

其實只要把指令改成Update-Database -Force就可以了,另外,如果想知道更詳細的,可以下Update-Database -Script -Force,這樣他會帶出T-Sql給使用者確認。

image

大致上就這樣了,總之,在使用前,還是要先確認一下,裡面有沒有重要資料喔!!

後記

結果是去裝了VS 2012語言包,才找到相關資料…中文資源真的好少阿QQ..

參考資料

2 則留言:

  1. 非常感謝!
    正在困擾無法刪除欄位呢!

    回覆刪除
  2. 謝謝~^^~
    希望未來也能持續幫助到您。

    回覆刪除