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; }
}
}
您是否嘗試過使用遷移-ContextTypeName {NameOfTheContextType}?我認爲目前只有第一個上下文才能啓用遷移,並且因爲這個類沒有任何變化,所以沒有發生任何事情。順便說一句。我相信多租戶在EF6中真正支持,而不是在EF5中(請參閱:https://entityframework.codeplex.com/wikipage ?title = Multi-Tenant%20Migrations) – Pawel
Pawel - 非常感謝。 **確實EF5「啓用遷移」一次只能處理一個上下文**。按照您的指示,完整的命令是「Enable-Migrations -ContextTypeName {xyz} ** - Force **」。運行命令「Enable-Migrations -Force」(沒有特定的上下文名稱)將導致控制檯錯誤:「在程序集中找到多個上下文類型...」。另一個相關的SO線程可以在這裏找到:[鏈接](http://stackoverflow.com/questions/12281492/entity-framework-automated-migration-multiple-context) – orberkov