Dot-Net
如何為多個上下文啟用 EF 遷移到單獨的數據庫?
如何為同一項目中的多個 DB 上下文啟用 Entity Framework 5(版本 5.0.0)遷移,其中每個上下文對應於自己的數據庫?當我
Enable-Migrations在 PM 控制台(Visual Studio 2012)中執行時,由於存在多個上下文而出現錯誤:PM> Enable-Migrations More than one context type was found in the assembly 'DatabaseService'. To enable migrations for DatabaseService.Models.Product1DbContext, use Enable-Migrations -ContextTypeName DatabaseService.Models.Product1DbContext. To enable migrations for DatabaseService.Models.Product2DbContext, use Enable-Migrations -ContextTypeName DatabaseService.Models.Product2DbContext.如果我執行,則
Enable-Migrations -ContextTypeName DatabaseService.Models.Product1DbContext不允許執行Enable-Migrations -ContextTypeName DatabaseService.Models.Product2DbContext,因為遷移已經存在:Migrations have already been enabled in project 'DatabaseService'. To overwrite the existing migrations configuration, use the -Force parameter.
對 Enable-Migrations 的第二次呼叫失敗,因為 Configuration.cs 文件已經存在。如果重命名該類和文件,您應該能夠執行第二個 Enable-Migrations,這將創建另一個 Configuration.cs。
然後,您需要指定在更新數據庫時要使用的配置。
Update-Database -ConfigurationTypeName MyRenamedConfiguration