如何为模型生成影子表?

问题描述

假设我有一个[dbo].[Persons],我将通过一个更新影子表[audit].[Persons]的触发器来跟踪更改。影子表具有与原始表相同的字段,外加其他字段AuditDateAuditId(此处存在一个棘手的问题,因为我希望这是影子表的关键而不是原始表的关键表的键)和Auditaction

我想要的东西:

添加某物(是ModelBuilder的扩展,一种数据注释),可以让我将表标记为可审核并正确生成迁移。例如,在初始创建时,它将生成一个迁移,该迁移将创建表,影子表(包括额外的字段)和触发器。更新模型时,它将同时更改表和阴影表。如果删除了模型,则进行的迁移将同时删除两个表和触发器。

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.isAuditable<Person>()
}

我的问题分为两个部分:

  1. 在EF Core 3.1中可能吗?
  2. 我应该看什么内部资料/文档来进行插入? (我已经克隆了该存储库,并且已经进行了一些初步的探索。)

我已经为MigrationBuildermigrationBuilder.EnableAuditing())做了一些扩展功能,现在正在使用它们来创建触发器。但是,我还没有找到检查模型并创建沿该路线行驶的影子表的好方法。更新模型时,它也不会为影子表生成正确的ALTER语句。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)