0

Я использую подход Entity Framework Code First. Я смог использовать Add-Migration для автоматического обнаружения, когда я добавил новую таблицу в мой контекст. Но, когда я изменяю внешний ключ на одной из моделей, Add-Migration не может обнаружить изменения и генерировать коды для обновления внешнего ключа.Entity Framework 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)] 

Есть ли способы сделать надстройку миграции автоматически генерировать коды, которые мне нужно обновить база данных?

ответ

0

для миграции, которые необходимо выполнить две команды в пакете менеджер консоли:

1. Add-Migration AddOrder1ContactFK 
2. Update-Database 
+0

Я уже сделал это. Но я думаю, что поскольку метод Up() и Down() в классе DbMigration, который автоматически генерируется при выполнении команды Add-Migration, пуст, Update-Database ничего не сделает. –

0

Set AutomaticMigrationsEnabled собственности на истину, которая определяется в конструкторе Configuration.cs. Его значение по умолчанию - false, когда вы впервые включаете миграцию. Затем переустановите решение и попробуйте обновить базу данных еще раз.

Смежные вопросы