Nearly every table in our database has a FK to the Auditing table which logs created, updated and deleted status (date and username).
We mapped the auditing table to
IMO, the easiest way to implement a soft-delete would be to add a flag in your entities and to use:
delete
(and perform an update of the flag)Not sure how this can fit with your Auditing
table though. Some further exploration and testing are required.