1
嗨,我上的ASPNET核心應用程序,它使用EF核心版本命名爲工作對象:EF核心:目前已經在數據庫
「Microsoft.EntityFrameworkCore.Design」:「1.1.0」 , 「Microsoft.EntityFrameworkCore.SqlServer」:「1.1.0」
和dotnet標準1.6.1。
這裏是我的scenaro:
- 4的DbContext只有一個數據庫
- DBSet或任何其它可以在兩個或三個上下文,例如AContext包含表A顯示, BContext還含有TABLEA。但他們都不會包括所有的表格,因爲我希望特定的上下文關注它的目的。表之間
- 許多foreigne鍵
這將導致數據庫中的DUP表,但要解決這個問題,我在下面
- 完成創建MigrationDBContext包括所有DBSet
- 在這個MigrationDBContext添加遷移
這裏是我所得到的
- 成功創建數據庫,並與合適的模式和名稱
- 錯誤表時,電話:serviceScope.ServiceProvider.GetService()Database.Migrate()。 錯誤消息:數據庫中已存在一個名爲「A」的對象。
unfortunitly,與-v EF核心將不會顯示SQL腳本更新數據庫命令,腳本遷移只顯示簡單的創建SQL語句。
我的問題是
- 如何將這種這種情況調試?
- 檢查了遷移文件,確實有一種向下和向上的方法,但是這個錯誤看起來像ef核心只調用遷移 文件中的up方法而沒有首先調用down,並且導致一些dup,因爲表 仍然是那裏。那麼,是否有任何切換來控制遷移行爲?