如何为 Dynamics 365 中的所有实体启用更改跟踪?

How to enable change tracking for ALL entities in Dynamics 365?

我正在尝试在 Azure SQL 数据库 (https://docs.microsoft.com/en-us/dynamics365/customer-engagement/admin/replicate-data-microsoft-azure-sql-database#create-an-export-profile) 中复制 Dynamics 365。

这需要我在约 800 个实体上启用 "change tracking"。有没有办法以编程方式执行此操作,还是我必须为每个实体手动启用它?

我在 XrmToolBox 中找不到实现此目的的插件。

最好编写一个控制台应用程序,它将使用 检索所有实体,然后遍历检索到的元数据集合中的每个实体并通过设置 EntityMetadata.ChangeTrackingEnabled 属性 更新回来.

来自 this reference 的示例片段:

UpdateEntityRequest updateBankAccountRequest = new UpdateEntityRequest
{
     Entity = BankAccountEntity,
     ChangeTrackingEnabled = true //or false here
};

_serviceProxy.Execute(updateBankAccountRequest);

您也可以使用网络 api。 Read more.

git 上存在一个 C# 程序作为 XRMToolbox 的插件。免费提供,Cobalt 的“Bulk Update Entity Change Tracking”允许用户批量更新实体上的更改跟踪属性。它是在 OP 提出问题后大约 2 个月发布的。

我在我的电脑上克隆并编译了它,然后重新启动 XRMToolbox 它成功了。

它需要一个非托管解决方案来应用更改。我在使用该工具之前创建了一个空的解决方案。从该工具完成保存后,请记住从该解决方案发布所有自定义项

干杯

Bulk Update Entity Change Tracking