1

SQLサーバーデータベースからCRMに変更をプッシュする必要があります。SQL側には2つのテーブルがあります。

移行

  • TransferID(シーケンシャル)
  • エンティティ(文字列、SQLテーブル名)
  • PKOfEntity(int、これもテーブルから)
  • アクション(作成、更新、破棄)

TransferField

  • FieldID(シーケンシャル)
  • TransferID(外部キー)
  • FieldName(文字列)
  • FieldValue(文字列)

次に、これらの変更をCRMに取り込む必要があります。SQLテーブルをCRMエンティティにマッピングし、SQL列の1つをCRM属性にマッピングしています。ただし、CRM属性からCRMタイプへのマッピングは手元にありません。

オブジェクトを使用していMicrosoft.Xrm.Sdk.Client.OrganizationServiceContextます。そのSetAttributeValueメソッドはオブジェクトを受け取りますが、変換は行いません。intフィールドには、intを渡す必要があります。さて、私は本当に、本当に、本当に、フィールド名と値を、数十のモデルの数十の属性を手動でチェックして設定するのではなく、1つの単純なforeachで文字列として動的に渡すことができるようにしたいと思います。これを行うための合理的な方法はありますか?

4

2 に答える 2

1

私はそれを機能させています。遭遇したエンティティのタイプごとに、CRMからエンティティメタデータを取得し、Dictionaryfrom属性名をに構築しますAttributeTypeCodes。タイプコードをオンにして、正しいタイプのオブジェクトを返す関数があります。

于 2012-06-06T20:15:55.960 に答える
0

Import.ModeCodeこれは、がに設定されているcsv/xmlデータインポートプロジェクトにとって理想的な状況のように聞こえImportModeCode.Updateます。詳細については、以下のリンクを確認してください。

于 2012-06-05T17:18:36.367 に答える