Я использую EF Core 2.1
Это было мое первоначальное определение модели.
public class Customer //Parent
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public BankAccount BankAccount { get; set; }
}
public class BankAccount
{
public int Id { get; set; }
public string Branch { get; set; }
public string AcntNumber { get; set; }
public DateTime CreatedDate { get; set; }
public int CustomerId { get; set; }
public Customer Customer { get; set; }
}
Но я понял, что Id
& CustomerId
обанакладные расходы как отношение «один к одному», я могу обновить определение своей модели BankAccount, как показано ниже.
public class BankAccount
{
public int Id { get; set; }
public string Branch { get; set; }
public string AcntNumber { get; set; }
public DateTime CreatedDate { get; set; }
public Customer Customer { get; set; }
}
В то время как в классе DbContext определен основной объект, как показано ниже.
HasOne(b => b.Customer).WithOne(c => c.BankAccount).HasForeignKey<BankAccount>(f => f.Id);
Хотяработает update-database
Я получаю сообщение об ошибке ниже.
System.InvalidOperationException: Чтобы изменить свойство IDENTITY столбца, столбец необходимо удалить и создать заново.
Однако в идеале мне не следует просто избавлятьсяиз этой ошибки я удалил столбец, ограничения и таблицу, а затем и всю базу данных.Но все та же ошибка.