I like to write one auditing record containing all the details of the changed fields?
No, you have to detect the changes per field on the corresponding event, then before save you can get those together and write your auditor record. Please review the example to see what I mean
. I think there is no other way as if you use the OnUpdateExistingEntity event, the event is called right after the entity was saved, so there is no posibility to detect the old value.