2009-05-21 19 views
2

Dynamics CRMの使用エンティティのインスタンスを作成しようとしています。私は手動でGUIDを設定したいと思いますが、DynamicEntityへの主キーである属性があった場合、次のエラーが発生します。特定のGUIDを使用して新しいレコードを作成する方法

サービスは、私がDynamicEntityを構築していますし、失敗する要求は、[エンティティ名] id属性を引き起こし設定要求

を処理できませんでした。これは2つのCRMインスタンス間でデータを移動させるので、CRM間でレコードをコピーするためのより良い方法を誰もが知っていれば、それも機能します。それ以外の場合は、GUIDのポイントとしてインスタンス間で一致させるためにGUIDを使用したいと思います。

答えて

3

幸いにも、それは 2つのCRMインスタンスでこれを行うことができます!同僚は解決策を知っていたので、クレジットは本当に彼のものです。

私の間違いはUniqueIdentifierProperty型のプロパティを作成していたことです。エンティティの主キー属性は、KeyPropertyと入力する必要があります。これらの2つのプロパティはほぼ同じです。つまり、Keyを保持し、UniqueIdentifierを保持する点を除いて、プロパティの型は同じです。 Key/UniqueIdentifierは両方ともGUIDを保持します。 (Microsoftのもう一日!)

私がやっていることは、DynamicEntityを作成し、エンティティ名を入力し、属性の大部分を埋めていることです。 PK属性(メタデータから判断できる)は、KeyPropertyで埋められます。私はUniqueIdentifierPropertyでそれを埋めていました.CommunityはCRMを拒否し、無意味で無益なエラーメッセージで応答します。

+1

* sigh *プロットは濃くなります。上記はうまくいくが、CRMはまだ途方に暮れている。 CRMでレコードを削除した場合、削除されたレコードは削除されているだけで、削除マークが付けられているだけです(DeletionStateCodeを参照)。これらはすべて削除されます(ここに任意の数字を挿入します)。ただし、GUIDはデータベースに残っているため、別のレコード(重複したPK)を挿入することはできません。エンティティ全体を削除して再作成することで、この問題を回避することができます。なぜ神の名前でマイクロソフトではこれが明るいアイデアだと私が判断したものではないと判断しました。それは削除されます。ちょうどレコードをドロップする... – Thanatos

0

私は解決策を過度に単純化していますが、他のインスタンスguidのミラーになる両方のインスタンスにカスタムフィールドを追加しないと謝罪しますか?

関連する問題