Я пытаюсь реализовать Soft Delete для моих зависимых объектов. У меня есть модель данных, похожая на:
public class Order {
public IEnumerable<OrderItem> Items {get; set;}
}
public Order Item {
public Order {get;set;}
public bool IsDeleted {get;set;}
}
Сначала я использую DB и использую fluent-api в OnModelCreating для успешной фильтрации любого OrderItem, для которого установлен флаг IsDeleted.
Когда OrderItem удаляется из коллекции Item Order, и Order сохраняется, OrderItem жестко удаляется из базы данных. Мне не удалось найти хук, который позволил бы мне указать, что на самом деле OrderItem должен быть обновлен с флагом IsDeleted, установленным в true, а не жестко удаленным.
Я бы ожидал, что это довольно распространенный вариант использования, но за всю жизнь я не смог найти решение. Любые мысли / идеи будут оценены.