0

當表定義位於新的DbContext類中時,我遇到了「添加 - 遷移」指令的問題。實體框架5,使用第二個DbContext不工作的代碼優先和添加遷移

我創建在Visual Studio 2012

一個新的ASP.NET MVC 4應用我跑了 「啓用的遷移」, 「添加遷移mig1」, 「更新-數據庫」。一切都很順利。

比,我添加了一個新的類繼承DbContext到Models文件夾。我希望「Add-Migration mig2」會注意到新的表格定義。但事實並非如此。

任何想法爲什麼?

namespace MvcApplication4.Models 
{ 
    public class CmsContext: DbContext 
    { 
     public CmsContext() 
      : base("DefaultConnection") 
     { 
     } 

     public DbSet<CustomItem> CustomItems { get; set; } 
    } 

    [Table("CustomItems")] 
    public class CustomItem 
    { 
     [Key] 
     [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 
     public int Id { get; set; } 
     public int Ordinal { get; set; } 
     public String Title { get; set; } 
     public String Content { get; set; } 
     public String FilePath { get; set; } 
    } 

} 
+0

您是否嘗試過使用遷移-ContextTypeName {NameOfTheContextType}?我認爲目前只有第一個上下文才能啓用遷移,並且因爲這個類沒有任何變化,所以沒有發生任何事情。順便說一句。我相信多租戶在EF6中真正支持,而不是在EF5中(請參閱:https://entityframework.codeplex.com/wikipage ?title = Multi-Tenant%20Migrations) – Pawel

+0

Pawel - 非常感謝。 **確實EF5「啓用遷移」一次只能處理一個上下文**。按照您的指示,完整的命令是「Enable-Migrations -ContextTypeName {xyz} ** - Force **」。運行命令「Enable-Migrations -Force」(沒有特定的上下文名稱)將導致控制檯錯誤:「在程序集中找到多個上下文類型...」。另一個相關的SO線程可以在這裏找到:[鏈接](http://stackoverflow.com/questions/12281492/entity-framework-automated-migration-multiple-context) – orberkov

回答

相關問題