https://celery94.github.io/posts/implementing-audit-logs-ef-core-without-polluting-entities/