Я перезаписываю свой метод DbContext SaveChanges и записываю записи ChangeTracker.
public override int SaveChanges()
{
var entries = ChangeTracker.Entries();
return base.SaveChanges();
}
У меня есть объект под названием «Диапазон», который имеет свойство навигации для другого объекта под названием «Элемент»
public class Range
{
//other code
public virtual ICollection<Feature> Features { get; set; }
}
Я удаляю элемент из диапазона и затем сохраняюизменения
var featureToRemove = range.Features.First(f => f.ID == featureId);
range.Features.Remove(featureToRemove);
centralProducts.SaveChanges();
После вызова этого кода функция успешно удалена, но все записи в ChangeTracker имеют EntityStatus неизменен (не только рассматриваемый объект диапазона).
Что-тоизменение или база данных не будет обновлена.
Есть ли способ зафиксировать это изменение в методе SaveChanges?Действительно ли «Без изменений» будет состояние, которое я ожидаю увидеть при удалении чего-либо из свойства навигации?
Я знаю, что фактически измененная таблица называется Range_Features и не является ни Range, ни самой функцией.