我正在使用Entity Framework Code First方法。我能够使用Add-Migration自动检测何时将新表添加到我的上下文中。但是,当我更改其中一个模型上的外键时,Add-Migration无法检测到更改并生成更新外键的代码。
这是我的模特
public class PhoneInfo
{
[Key]
[Column(Order = 2)]
public String ID { get; set; }
[Required]
[Key]
[ForeignKey("Contact"), Column(Order = 1)]
public String UserID { get; set; }
[Required]
[Key]
[ForeignKey("Contact"), Column(Order = 0)]
public String ContactID { get; set; }
public String Value { get; set; }
public DateTime LastChanged { get; set; }
public String Type { get; set; }
public int Order { get; set; }
public bool IsDeleted { get; set; }
public DateTime DeletedDate { get; set; }
public virtual Contact Contact { get; set; }
}
我正在更新
下面的列(Order = 1)[ForeignKey("Contact"), Column(Order = 1)]
有没有办法让Add-Migration自动生成我需要更新数据库的代码?
答案 0 :(得分:0)
对于迁移,您需要在包管理器控制台中执行两个命令:
1. Add-Migration AddOrder1ContactFK
2. Update-Database
答案 1 :(得分:0)
将AutomaticMigrationsEnabled属性设置为true,该属性在Configuration.cs的构造函数中定义。首次启用迁移时,其默认值为false。然后重建您的解决方案并再次尝试更新数据库。