Я показал модель клиента ниже. В этой модели атрибуты company и parent также являются типом клиента, при построении все миграции работали безупречно, но при добавлении объекта customer в базу данных исключение ниже возникает из свойства навигации.
Ошибка:
Невозможно определить действительный порядок для зависимых операций. Зависимости могут существовать из-за ограничений внешнего ключа, требований модели или сгенерированных в хранилище значений.
Без свойства навигации оно работает нормально, но если есть какое-либо другое решение, пожалуйста, ответьте
public class Customer
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
[ForeignKey("Company")]
public int? CompanyId { get; set; }
[InverseProperty("Company")]
public Company Company { get; set; }
[ForeignKey("Parent")]
public int? ParentId { get; set; }
[InverseProperty("Parent")]
public Parent Parent { get; set; }
public bool IsActive { get; set; }
}
public class Company : Customer{
}
public class Parent : Customer
{
}
Из приведенной выше модели я могу добавить клиента без ошибок.