1

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

在这 5 个字段中,我修改了字段可用。因此,每当我更改这 10 个字段中的字段时,modifiedBy 都会发生变化,并在 CDC 表中对其进行跟踪。但是,如果其他 5 个未跟踪的字段发生更改,我不想跟踪 CDC 表中的更改。

例如:表 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 捕获交易。我不想跟踪。

您能否为此建议我一些解决方案。提前致谢。

4

1 回答 1

0

ModifiedBy每次更新记录时,系统都会更新该字段,而不管更改了哪个字段。

因此,您必须:

  • 停止字段的数据捕获ModifiedBy

或者:

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

这个字段的更新是微不足道的:

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

还可以考虑在插入时更新字段。

于 2015-01-03T15:34:42.460 回答