Entity Framework при каскадном удалении с мягким удалением - PullRequest
0 голосов
/ 09 июля 2020

У меня есть веб-приложение MVC, которое сначала использует код Entity Framework 6 с SQL Server. Я реализовал на нем мягкое удаление с помощью перехватчика запросов, поэтому каждая команда удаления, найденная в ChangeTracker, отправляется в базу данных как обновление столбца «Deleted = 1». Это создает проблему, потому что из того, что я обнаружил, EF6 реализует WillCascadeOnDelete на уровне базы данных, поэтому, если в базу данных не поступают команды удаления, ничего не делается. Похоже, в EF Core есть опция для ClientCascade, где EF работает с каскадом, а не с базой данных. Я хотел бы реализовать что-то подобное, но не могу понять, как это сделать. Мне нужно, чтобы он был generi c, поэтому, независимо от сущности, DBContext знает, что это за дочерние записи, и «удаляет» их.

...