1

我需要将更改从 SQL 服务器数据库推送到 CRM。SQL端有两张表:

转移

  • TransferID(顺序)
  • 实体(字符串,SQL 表名)
  • PKOfEntity(int,也来自表)
  • 操作(创建、更新、销毁)

转移场

  • 字段 ID(顺序)
  • TransferID(外键)
  • 字段名(字符串)
  • 字段值(字符串)

现在,我需要将这些更改纳入 CRM。我有一个 SQL 表到 CRM 实体的映射,以及一个 SQL 列到 CRM 属性的映射。但是,我没有将 CRM 属性映射到手头的 CRM 类型。

我正在使用该Microsoft.Xrm.Sdk.Client.OrganizationServiceContext对象。它的SetAttributeValue方法接受一个对象,但它不做任何转换;一个 int 字段需要传入一个 int,依此类推。现在,我真的非常非常希望能够在一个简单的 foreach 中将字段名称和值作为字符串动态传递,而不是手动检查和设置数十个模型的数十个属性。有没有合理的方法来做到这一点?

4

2 回答 2

1

我有它的工作。对于遇到的每种类型的实体,我从 CRM 中获取实体元数据,然后构建一个Dictionary从属性名称到AttributeTypeCodes. 我有一个函数可以打开类型代码并返回正确的对象类型。

于 2012-06-06T20:15:55.960 回答
0

对于 csv/xml 数据导入项目,这听起来像是一个理想的情况,Import.ModeCode其中ImportModeCode.Update. 查看以下链接了解更多详情。

于 2012-06-05T17:18:36.367 回答