Проблема заключается в том, что библиотека поддерживает только одно действие для каждого типа цели (типа аудита).
Когда вы звоните .Map
с таким действием:
.Map<Article, Audit_Article>((evt, entry, auditTbl) => { /*some action*/ })
Будет сохранено действие, относящееся к типу Audit_Article
, но ваш следующий вызов:
.Map<ArticleProposal, Audit_Article>((item, auditTbl) => { /*overriding action*/ })
отменит ваше предыдущее действие для любого типа, который отображается на Audit_Article
.
Итак, моя первоначальная рекомендация - использовать общее действие через .AuditEntityAction<IAudit>
. Это вызывает у вас какие-либо проблемы?
Я думаю, что можно расширить библиотеку, чтобы разрешить сопоставление нескольких типов с одним целевым типом с независимыми действиями для каждого. Я посмотрю.
UPDATE
Это было реализовано в Audit.EntityFramework версии 13.2.0, теперь вы можете иметь несколько сущностей, сопоставляемых с одним и тем же типом аудита с независимым действием для каждого.