У меня есть объект «Поставщик», каждый объект «Поставщик» может ссылаться на другой объект «Поставщик» в качестве «родителя».
public class Supplier
{
public int? Id { get; set; }
public virtual Supplier Parent { get; set; }
}
Это все работает, как и ожидалось, пока я не попытаюсь удалить связь, так как у этого поставщика больше нет родителя. Я могу изменить его с нуля на конкретного поставщика и установить другого поставщика, но его значение не сохраняется после SaveChanges ().
supplier.Parent = null;
Внешний ключ «ParentId» в таблице «Поставщик» имеет значение NULL. Явное определение отношений не помогает.
modelBuilder.Entity<Supplier>().HasOptional(s => s.Parent).WithMany();
Я уверен, что упускаю что-то очевидное.