-
Notifications
You must be signed in to change notification settings - Fork 110
8. Soft Deletable
Bilal edited this page Jun 21, 2016
·
1 revision
Version 3.4 introduces support for soft deletion on entities.
Suppose you have an interface/abstract class/base class which has "IsDeleted" property or ANY bool property which indicated that this entity is virtually deleted.
Then you can use this method to set it up. Just run it once on your application startup.
GlobalTrackingConfig.SetSoftDeletableCriteria<ISoftDeletable>
(entity => entity.IsDeleted);
- Note that
ISoftDeletable
from the above example can be an interface or any base class. - It needs to be created by you and won't be provided in this tracking library
-
IsDeleted
from above example can have any name but need to be a bool property with public getter and setter
- If you change the soft-delete property from
false
totrue
and save that entity, the event type saved in audit log will beSoftDeleted
. - Important: If you change multiple properties including soft-delete property, it will still be detected and saved as
SoftDeleted
instead ofModified
.
Un-deletion works the same way you would expect it to work; change soft delete property from true
to false
and log will be saved as Undeleted