首页 > 解决方案 > 在 Audit.NET 中审计 n 到 m 关系(DB 优先)

问题描述

我正在将Audit.NET /EF 添加到传统的 DB-first 项目中。(它使用从数据库模式构建的 edmx 文件来生成域模型。)

数据库在表 A 和表 B 之间具有多对多的关系,通常使用链接表 A_B 建模。然而,生成的域模型没有 A_B 类。相反,A 有一个 Bs 容器,B 有一个 As 容器。

我发现 Audit.NET 没有看到 A 和 B 之间关联的更改。(它确实看到了对 A 字段或 B 字段的更改)。

我错过了什么吗?或者这在 Audit.NET 中根本不可能?

参考:GitHub Audit.NET 问题

标签: c#entity-frameworkaudit.net

解决方案


请检查问题 #78

您需要将设置IncludeIndependantAssociations设置为 true,以包含独立关联(没有连接实体的多对多关系):

Audit.EntityFramework.Configuration.Setup()
    .ForAnyContext(cfg => cfg
        .IncludeIndependantAssociations());

请注意,它们记录在事件输出的不同属性中EntityFrameworkEvent.Associations

Audit.Core.Configuration.AddOnCreatedAction(scope =>
{
    var associations = scope.GetEntityFrameworkEvent().Associations;
    // ...
});

推荐阅读