I am attempting to accomplish a soft delete of entities without much luck. I have constructed each table to have a column indicating "deleted". I would like to be able to mark the object as deleted instead of the DB removal. How can this be accomplished?
You can either funnel all of your queries/find operations through a central controller which filters for these "deleted items" or you could construct the controller to always add a parameter to your queries to not return said items.
Another option is to use triggers to move those rows to a history table.