У меня есть объект типа ScheduleItem
public class ScheduleItem : EntityBase
{
[MaxLength(500)]
[Required]
public string TitleAr { get; set; }
[MaxLength(300)]
[Required]
public string TitleEn { get; set; }
public int? ParentScheduleItemId { get; set; }
public int? PreviousDestinationId { get; set; }
public int? NextDestinationId { get; set; }
public ScheduleItem ParentScheduleItem { get; set; }
[InverseProperty("ParentScheduleItem")]
public ICollection<ScheduleItem> ChildrenScheduleItems { set; get; }
public ScheduleItem PreviousDestination { get; set; }
public ScheduleItem NextDestination { get; set; }
}
Этот объект является родительским объектом, внутри него есть набор дочерних элементов.
Каждый дочерний элемент имеет необязательную ссылку на следующий дочерний элемент (последний дочерний элемент будет иметь NextDestinationId = null) и необязательную ссылку на предыдущий дочерний элемент (PreviousDestinationId для первого дочернего элемента должен иметь значение null).
Код построителя модели:
modelBuilder.Entity<ScheduleItem>().HasOptional(t => t.NextDestination).WithMany().HasForeignKey(t => t.NextDestinationId);
modelBuilder.Entity<ScheduleItem>().HasOptional(t => t.PreviousDestination).WithMany().HasForeignKey(t => t.PreviousDestinationId);
Однако при сохранении я получаю эту ошибку невозможно определить допустимый порядок зависимых операций. Зависимости могут существовать из-за ограничений внешнего ключа, требований модели или значений, сгенерированных хранилищем.
Каково решение этой проблемы? мне нужно звонить SaveChanges()
дважды?