2014-09-27 21 views
1

我正在使用代碼優先的方法在ASP.NET MVC 5和Entity Framework中開發應用程序。生成腳本sql腳本的第二次嘗試不起作用

首先,我有我的數據上下文文件中的一個類,一切工作。 enable-migrationsadd-migrationupdate-database都工作正常,但第二次,我增加了更多的類,並試圖執行這些語句:

enable-migrations -ContextTypeName IdentityDb -MigrationsDirectory DAL\IdentityMigrations 

enable-migrations -ContextTypeName SMSContext -MigrationsDirectory DAL\SMSMigrations 

add-migration -ConfigurationTypeName SMSApp.DAL.IdentityMigrations.Configuration "InitialCreate" 

我得到一個異常:

先前的遷移稱爲「InitialCreate」已經應用於目標數據庫。如果您打算重新搭建'InitialCreate',請通過運行'Update-Database -TargetMigration $ InitialDatabase'來恢復它,然後刪除'201409261933262_InitialCreate1.cs'並再次運行'Add-Migration InitialCreate'。

+0

這實際上似乎是一個相當直接的例外。你有什麼理由不能做它建議你做的事嗎? – 2014-09-27 11:51:41

+0

謝謝Ann L.請在我的完整帖子在這裏。 http://stackoverflow.com/questions/26067259/more-than-one-migrations-configuration-type-was-found-in-the-assembly-smsapp – maifs 2014-09-27 13:01:54

回答

1

在解決方案資源管理器中,單擊圖標顯示所有文件。比去App_Data,右鍵單擊mdf文件並打開。

在服務器資源管理器中單擊連接並右鍵單擊您的連接,然後關閉它,然後再次右鍵單擊然後刪除它,然後從解決方案資源管理器中刪除該mdf文件(這會將其移動到垃圾箱,它不是如果你決定把它拿回來,你會失去)。然後在電源殼包控制檯update-database

注意:這將完全重建您的數據庫插入記錄,從Configuration/Migrations.csSeed方法,您將失去其他數據。在代碼中找到AutomaticMigrations,並將其設置爲true

+0

謝謝尤達。我正在使用Mysql提供程序。在MYSQL連接器的情況下。我應該要求刪除mysql數據庫嗎? – maifs 2014-09-27 15:20:51

+0

謝謝尤達,我的問題解決了。感謝您的建議尤達。它在我的情況下工作。 我如何標記您的回覆答案或給予評論? – maifs 2014-09-27 15:28:32

+0

@maifs您可以通過我答案左側的✓(勾號按鈕)接受我的回答,當您的聲望高於15分時,您可以投票回答我的答案。那麼未來的觀衆會知道我的答案奏效。 – Yoda 2014-09-27 15:42:09