我已经为表中的 5 个字段启用了变更数据捕获,该表具有 10 个用于 Dynamics ax 数据库的字段
在这 5 个字段中,我修改了 By 字段可用。因此,每当我更改该字段中的字段时,修改的 10 个字段都会更改,并在 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 捕获事务。我不想跟踪。
你能给我一些解决方案吗?提前谢谢。
更新记录时,系统都会更新字段ModifiedBy
,无论更改哪个字段。
因此,您必须:
- 停止现场
ModifiedBy
的数据捕获
或:
- 创建您自己的字段,该字段在 5 个字段更新时更新,例如
SomeFieldsModifiedBy
此字段的更新很简单:
public void update()
{
if (this.G != this.orig().G || this.H != this.orig().H || ...)
this.SomeFieldsModifiedBy = curUserId();
super();
}
还要考虑更新插入时的字段。