Is it possible to apply a kind of protection to my entities in order to protect them from accidental deleting?
Or, if not, is it possible to "undo" an operation and restore a deleted thing?
Undo it's not possible ( well you can go to the backups... but's not undo )
There's "Delete" permission on Design Time permissions.
Retrieving data ...