c# - 在 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 中根本不可能?
解决方案
请检查问题 #78
您需要将设置IncludeIndependantAssociations
设置为 true,以包含独立关联(没有连接实体的多对多关系):
Audit.EntityFramework.Configuration.Setup()
.ForAnyContext(cfg => cfg
.IncludeIndependantAssociations());
请注意,它们记录在事件输出的不同属性中EntityFrameworkEvent.Associations
Audit.Core.Configuration.AddOnCreatedAction(scope =>
{
var associations = scope.GetEntityFrameworkEvent().Associations;
// ...
});
推荐阅读
- python - 在 Django/Python 中,我将一个对象 (A) 与另一个对象 (B) 的两个实例相关联,因此如果我调用 B.A_set.all(),它适用于 B 的任一实例
- javascript - 将 Instana 错误跟踪集成到 Angular 2 应用程序中
- android - viewModelScope.launch(Dispatchers.IO) 用途
- java - 插入@OneToMany 关系对象与子表中未插入父ID 的子表?
- android - BiometricPrompt:如何加密几个字符串?
- ruby-on-rails - Ruby on Rails + Carrierwave:为什么我的显示页面上的 image_tag 返回错误?
- java - ARROW_DOWN 键在 selenium 中不起作用( Key Down / Up 事件仅对修饰键有意义。)
- visual-studio - 一个 MEX 文件来管理所有函数并在 DLL 中绑定它们
- laravel-5.5 - 如何在 Laravel 5.5 中使用文件数组验证输入框数组
- javascript - 如何从类外部访问类函数,相同的 .ts 文件