发布日期: 2017年1月
适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online
此示例代码显示如何使用 RetrieveEntityChangesRequest 消息检索实体的更改,以及如何将数据与外部系统同步。 有关此示例演示的功能的详细信息,请参阅 使用更改跟踪将数据与外部系统同步。
此示例需要 Microsoft Dynamics CRM Online 2015 更新 1、Microsoft Dynamics CRM Online 2016 更新或 Microsoft Dynamics 365(内部部署)。 此示例可以从使用更改跟踪将数据与外部系统同步下载。
必备项
- 可访问 Microsoft Dynamics CRM Online 2015 更新 1、Microsoft Dynamics CRM Online 2016 更新 或 Microsoft Dynamics 365(本地部署)组织。 
- 下载 ChangeTrackingSample Visual Studio 项目。 
- 打开 ChangeTrackingSample Visual Studio 项目并安装最新的 Microsoft.CrmSdk.CoreAssemblies NuGet 包。 有关说明,请参阅 安装 NuGet 包。 
- 在安装 NuGet 包后,请参阅 运行示例 了解有关如何运行示例以及应抱有哪些期待的说明。 
本主题内容
此示例的用途
- ChangeTrackingSample 类 Run 方法调用 ImportChangeTrackingSolution 方法,后者首先检测 ChangeTrackingSample 托管解决方案是否已安装。 如果未安装,ChangeTrackingSample_1_0_0_0_managed.zip 文件将被导入以安装此托管解决方案。 - 此托管解决方案包含此示例使用的自定义 sample_book 实体。 此实体拥有 sample_bookcode 备用键,其创建存储在该属性中的值的唯一约束。 
- WaitForEntityAndKeysToBeActive 方法是必需的,因为此示例所需的备用键可能不会在 ChangeTrackingSample 解决方案安装后立即准备就绪。 此方法将轮询 sample_book 实体的元数据以延迟其余示例的执行,直到备用键准备就绪。 
- CreateRequiredRecords 方法在 sample_book 实体中生成 10 条记录。 
- 第一次呼叫 RetrieveEntityChangesRequest;执行初始同步并且检索实体中的所有记录以及版本号,并缓存检索到的记录。 
- 在缓存初始记录后,程序将询问是否查看 sample_book 实体记录。 如果您的响应为“y”,程序将尝试在视图中打开 Internet Explorer,显示新建的记录。 
- UpdateRecords 方法添加 10 条新记录,更新现有记录并删除 sample_book 实体中的记录。 
- 在更新记录后,程序重置分页信息并实例化缓存对象。 
- 当 RetrieveEntityChangesRequest 再次调用时,它仅检索自上次同步后更新的记录。 
- 在检索更改后,程序将询问是否查看 sample_book 实体记录。 如果您的响应为“y”,程序将尝试在视图中打开 Internet Explorer,显示新建的记录。 
- 最后,DeleteChangeTrackingSampleSolution 将提示您删除 ChangeTrackingSample 托管解决方案。 - 如果选择“y”,托管解决方案将被删除,包括 sample_book 实体和所有该实体中的数据。 您的组织将保持原样不进行任何添加。 - 如果选择“n”,您可以检查解决方案的详细信息,包括示例所创建的数据。 但是,您必须手动删除托管解决方案以将您的组织返回原始状态。 
安装 NuGet 包
使用以下步骤安装此示例所需的程序集:
- 下载此示例并提取文件。 
- 使用 Visual Studio 导航到文件夹 C#,然后打开 ChangeTrackingSample.sln 文件。 
- 在 Visual Studio 中,右键单击 ChangeTrackingSample 项目并选择“管理 NuGet 包”。 
- 对于预览版,请确保在搜索条件中选择“包括预发行”而不是“仅稳定”。 然后搜索“Microsoft Dynamics CRM 2016 SDK core assemblies”。 请确保选择最新版本。 
- 单击“安装”。 您需要接受许可条款以完成该程序包的安装。 
运行示例
- 在 Visual Studio 中(已打开解决方案并安装了必需的 NuGet 包),请按 F5。 
- 如果之前尚未运行某个 Microsoft Dynamics 365 托管代码示例,您需要输入信息以运行代码,或者为在之前设置的一个 Dynamics 365 服务器输入该数字。 - 提示 - 说明 - 输入 Dynamics 365 服务器的名称和端口 [crm.dynamics.com] - 键入 Microsoft Dynamics 365 服务器的名称。 默认为北美的 Microsoft Dynamics 365 (online) (crm.dynamics.com)。 - 示例: 
 myservername
 myprefix.myservername:5500
 crm5.dynamics.com- 不包括您的组织名称或 Internet 协议(http 或 https)。 之后系统会提示您。 - 此服务器是否配置了安全套接字层 (https) (y/n) [n] - 如果用来访问 Microsoft Dynamics 365 的 URL 以 https:// 开头,则键入 y,否则键入 n。 - 是否在 Microsoft Online Services 中配置了该组织 (y/n) [n] - 如果是配置了 Microsoft Online Services 的组织,键入 y。 否则,键入 n。 - 输入域名\用户名 - 键入您的 Microsoft 帐户。 
 对于 Dynamics 365(本地),键入用反斜杠 (\) 分隔的网络域名和用户名。- 输入密码 - 键入密码。 窗口中的字符将显示为“*”。 您的密码将保存在 Microsoft Credential Manager 中以便日后重复使用。 - 指定组织编号 (1-n) [1] - 在您所属的所示组织列表中,键入相应数字。 默认值为 1,表示列表中的第一个组织。 
- 示例将执行 此示例的用途 中介绍的操作,并且会向您提示其他选项。 
- 在示例结束后,请按 ENTER 关闭控制台窗口。 
另请参阅
Microsoft Dynamics 365
© 2017 Microsoft。 保留所有权利。 版权