Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体框架添加迁移无法检测我对外键所做的更改_Entity Framework_Ef Code First_Foreign Keys_Entity Framework 6_Entity Framework Migrations - Fatal编程技术网

Entity framework 实体框架添加迁移无法检测我对外键所做的更改

Entity framework 实体框架添加迁移无法检测我对外键所做的更改,entity-framework,ef-code-first,foreign-keys,entity-framework-6,entity-framework-migrations,Entity Framework,Ef Code First,Foreign Keys,Entity Framework 6,Entity Framework Migrations,我使用的是实体框架代码优先的方法。我能够使用添加迁移来自动检测何时将新表添加到上下文中。但是,当我在其中一个模型上更改外键时,Add Migration无法检测到更改并生成代码来更新外键 这是我的模型 public class PhoneInfo { [Key] [Column(Order = 2)] public String ID { get; set; } [Required] [Key] [ForeignKey("Contact"), Co

我使用的是实体框架代码优先的方法。我能够使用添加迁移来自动检测何时将新表添加到上下文中。但是,当我在其中一个模型上更改外键时,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; }
}
我正在更新下面的列(顺序=1)


有没有办法让添加迁移自动生成更新数据库所需的代码?

对于迁移,您需要在package manager控制台中执行两个命令:

1. Add-Migration AddOrder1ContactFK
2. Update-Database

对于迁移,您需要在package manager控制台中执行两个命令:

1. Add-Migration AddOrder1ContactFK
2. Update-Database

将AutomaticMigrationsEnabled属性设置为true,该属性在Configuration.cs的构造函数中定义。首次启用迁移时,其默认值为false。然后重建您的解决方案并再次尝试更新数据库。

将AutomaticMigrationsEnabled属性设置为true,该属性在Configuration.cs的构造函数中定义。首次启用迁移时,其默认值为false。然后重新构建解决方案并再次尝试更新数据库。

我已经这样做了。但我认为,由于在执行Add Migration命令时自动生成的DbMigration类中的Up()和Down()方法是空的,所以Update Database不会做任何事情,我已经做了。但我认为,由于在执行Add Migration命令时自动生成的DbMigration类中的Up()和Down()方法是空的,所以Update Database不会做任何事情。