在使用Entity Framework 6.0代碼的新開發項目中,我首先必須更新我的模型。在Package Manager Console中使用Add-Migration
自動生成的更新腳本變得相當複雜,因此我決定重新開始。爲此,我從本地主機刪除數據庫,並刪除項目中的Migrations
文件夾。然而,當我重新跑Add-Migration
-command我得到了下面的消息,並再次產生相同的更新腳本:實體框架代碼優先瞄準LocalDb而不是本地SQL Server Express主機
這個遷移文件設計器代碼包括您 當前的Code First模型的快照。當您搭建下一個遷移時,此快照用於計算對您的模型的更改 。
我很確定這是因爲__MigrationHistory
-table仍然在那裏。我再次進入數據庫,但沒有創建任何數據庫,數據庫仍然消失。在web.config
使用
連接字符串:
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=localhost;Initial Catalog=WebApp;Integrated Security=sspi;Pooling=false;"
providerName="System.Data.SqlClient" />
</connectionStrings>
然後我檢查了我的過程,看到了sqlservr.exe
進程外的兩個版本的LocalDB浮現在腦海。我連接到(LocalDb)\MSSQLLocalDB
,並且有一個名爲「DefaultConnection」的新數據庫,其中包含項目的所有表。當我刪除這個數據庫時,我從Add-Migration
-command得到了一個新腳本。在某處沿線必須有一臺交換機,因爲我100%肯定我在某個時間(在更新腳本之前的所有表格,當我刪除數據庫時)一直在使用SQL Server Express主機,以及所有我的其他項目localhost與Data Source=localhost
合作。我不明白爲什麼數據庫名稱是DefaultConnection
而不是WebApp
。連接到本地主機,數據庫名稱爲WebApp
。有誰之前經歷過這個嗎?