簡體   English   中英

在LocalDB中重置EF代碼優先數據庫

[英]Reset EF code-first database in LocalDB

我正在使用Entity Framework 5.0 RC與預配置了VS 2012 RC的LocalDB數據庫進行一些原型設計和代碼優先數據庫的測試。

經過幾個周期的更改我的代碼優先數據庫和運行“更新數據庫”后,我做了一個巨大的改變,自動遷移失敗了。 我不關心解決這個沖突,因為這只是原型設計,所以丟失數據很好。

如何重置或刪除數據庫? 重置還必須重置遷移表,這似乎在Visual Studio中的服務器資源管理器中隱藏。

在Visual Studio中刪除整個數據庫

  1. 打開SQL Server對象資源管理器
  2. 找到您正在使用的數據庫右鍵單擊並選擇刪除
  3. 選中兩個復選框(刪除備份和還原歷史記錄,然后關閉現有連接),然后單擊“確定”
  4. 再次運行程序,它應該重新創建dabase

到目前為止,這是我發現的最佳方法。

  1. 使__MigrationHistory成為非系統表。
  2. 執行SQL腳本以刪除所有表。

要更改__MigrationHistory表,請參閱此文章以處理現有數據庫和使用代碼優先創建的新數據庫。

SQL腳本如下:

EXEC sp_MSforeachtable @command1 = "DROP TABLE ?";

我使用Database .NET v4 Free來運行這個SQL腳本,因為我的Visual Studio 11 RC副本不允許我出於某種原因在LocalDB上運行查詢。 此外,我需要運行該腳本兩次,因為一些外鍵會丟棄所有表。 我沒有費心去解決這個問題,因為它似乎工作得很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM