更改数据捕获跟踪字段中的所有更改,即使它仅分配给 Dynamics ax table 中的几个字段

Change Data Capture Tracking all changes in fields even though its assigned for only few fields in Dynamics ax table

我已经为 table 中的 5 个字段启用了更改数据捕获,其中有 10 个字段用于 Dynamics ax 数据库

在我修改过的那 5 个字段中,字段可用。因此,每当我更改 modifiedBy 的 10 个字段中的一个字段时,它就会在 CDC tables 中进行跟踪。 但是我不想跟踪 CDC tables 中的更改,如果在其他 5 个未跟踪的字段中进行了更改。

例如:表 1

A B C D E F G H I J(MODIFIEDBY)
1 2 3 4 5 6 7 8 9 10
8 6 4 3 2 4 5 6 7 8

我正在跟踪 G、H、I、J、F。 但是 J 是 modifiedBy 字段,每当您在九个字段中的任何一个中进行更改时,该字段都会更改。 因此,如果您在字段 A 中进行更改,J 将更新,以便 CDC 捕获交易。 我不想跟踪。

你能给我一些解决方案吗? 提前致谢。

每次更新记录时,系统都会更新字段 ModifiedBy,无论哪个字段发生更改。

所以你必须:

  • 停止字段的数据抓取ModifiedBy

或:

  • 创建你自己的字段,当 5 个字段更新时更新,比如 SomeFieldsModifiedBy

这个字段的更新很简单:

public void update()
{
    if (this.G != this.orig().G || this.H != this.orig().H || ...)
        this.SomeFieldsModifiedBy = curUserId();
    super();
}

同时考虑在插入时更新字段。