问题描述
假设我有一个表[dbo].[Persons]
,我将通过一个更新影子表[audit].[Persons]
的触发器来跟踪更改。影子表具有与原始表相同的字段,外加其他字段AuditDate
,AuditId
(此处存在一个棘手的问题,因为我希望这是影子表的关键而不是原始表的关键表的键)和Auditaction
。
我想要的东西:
添加某物(是ModelBuilder的扩展,一种数据注释),可以让我将表标记为可审核并正确生成迁移。例如,在初始创建时,它将生成一个迁移,该迁移将创建表,影子表(包括额外的字段)和触发器。更新模型时,它将同时更改表和阴影表。如果删除了模型,则进行的迁移将同时删除两个表和触发器。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.isAuditable<Person>()
}
我的问题分为两个部分:
- 在EF Core 3.1中可能吗?
- 我应该看什么内部资料/文档来进行插入? (我已经克隆了该存储库,并且已经进行了一些初步的探索。)
我已经为MigrationBuilder
(migrationBuilder.EnableAuditing()
)做了一些扩展功能,现在正在使用它们来创建触发器。但是,我还没有找到检查模型并创建沿该路线行驶的影子表的好方法。更新模型时,它也不会为影子表生成正确的ALTER
语句。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)