Когда я пытаюсь очистить коллекцию (вызов .Clear
), я получаю следующее исключение:
Произошла ошибка при сохранении объектов, которые не отображают свойства внешнего ключа для своих отношений. Свойство EntityEntries вернет значение null, потому что один объект не может быть идентифицирован как источник исключения. Обработка исключений при сохранении может быть упрощена путем отображения свойств внешнего ключа в ваших типах объектов. Подробнее см. В InnerException.
Внутреннее исключение:
Отношения "Association_Availability" AssociationSet находятся в состоянии "Удалено". Учитывая ограничения множественности, соответствующий "User_Availability_Target" также должен находиться в состоянии "Удалено".
Пользователь выглядит так:
....
ICollection<Availability> Availability { get; set; }
Доступность выглядит следующим образом:
int ID { get; set; }
User User { get; set; }
DateTime Start { get; set;
DateTime End { get; set; }
Конфигурация выглядит следующим образом:
HasMany(x => x.Availability).WithRequired(x => x.User);
HasRequired(x => x.User).WithMany(x => x.Availability);
Код, вызывающий проблему:
user.Availability.Clear();
Я рассмотрел другие варианты, такие как использование DbSet для удаления элементов, но я не чувствую, что мой код будет таким же чистым. Есть ли способ сделать это, очистив коллекцию?