-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Soft Delete #4025
Comments
We're putting this one on the backlog as a feature we would like to have at some point. In the meantime, you probably could do this by overriding some of the low level components... but that is going to be fairly complex to do. If you decide to try... then you will probably make things less painful if you have your soft delete flag mapped as a shadow state property. For SaveChanges, you could look at a custom implementation of cc @anpete in case he can give you a pointer of where to look for query. |
Enabled in b1379b1 |
I think we definitely need an opt-out operator like: |
@seriouz - The opt-out operator is named |
Unless we want to track a specific high-level Soft Delete feature. |
I think we do want to track that feature. Specifically, I should be able to delete objects normally in my graph or with .Remove, and then have it automatically soft delete those entities. |
Agreed. Query filters only solves a part of what we need. |
Note to implementer: remember to make cascade delete (of tracked entities) work. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
To me soft deletes don't make sense. On a database level: Any unique constraint will break. What about a foreign key that has been soft deleted? Do we need cascading soft deletes? You could build an entire shadow database with soft deleted entities. To me soft deletes should be related to business logic, e.g. add an start and end date to a subscription. Soft delete will only work on database that do not have any constraints but then the problem is just moved to the point of where we need to read the data. Maybe temporal tables can be used for soft deletes. |
Yes soft deletes should respect cascade delete. Sure you can implement it easy by youself with thousands of possibilities. But i imagine an EF Core Soft Delete like a ready-to-go solution - where i (as a dev) have not to know how its working behind the scenes and i don't have to touch the queries (apart from when i must read/recover deleted data). |
Hello.
Any suggestions on how to implement a soft delete at Entity Framework 7 ?
Any help is much appreciated.
Regards.
The text was updated successfully, but these errors were encountered: