People often ask which ORM supports "Soft Delete" or "Logical Delete". Let's try to figure out what it is and whether ORM should internally support it.
"Soft Delete" is a way of removing business entities, which implies that we mark an entity as deleted instead of physically removing it from the database. This approach is often used in Line of Business applications because of its several advantages:
* It allows us to keep history for different auditing sceneries. For example, somebody removed one document in the past from our workflow system, we surely want to be able to audit removing log and data removed document contained.