代替キーを使用してレコードを参照
Dataverse レコードの主キー値が分からない場合は、データ投稿で代替キーを使いデータ操作を操作します。 定義されているテーブルに対してのみ、代替キーを使用できます。 ほとんどの Dataverse テーブルには、代替キーを含めるようにカスタマイズされていない限り、代替キーはありません。
テーブルの代替キーを定義および特定する方法については、次の記事を参照してください。
Dataverse Web API または .NET 用 SDK を使い、代替キーを使用できます。
Web APIを使用する場合は、URL を使用して特定のレコードを参照し、POST
、PATCH
または DELETE
Http メソッドを使用してデータ操作を実行します。 また、URL を使用し、@odata.bind
構文を使用する単一値ナビゲーション プロパティに対して、または関数およびアクションのパラメーターとして値を設定します。
次の表に、相対 URL を使用してレコードを参照する方法を示す例を示します。
状況 | 例 |
---|---|
主キーを使用する | /accounts(00000000-0000-0000-0000-000000000001) またはaccounts(accountid=00000000-0000-0000-0000-000000000001) systemuser および team エンティティ タイプについては、次の注記を参照 |
単一の代替キーを使用する | /accounts(accountnumber='ABC123') |
マルチパートである代替キーを使用する | /contacts(firstname='Joe',emailaddress1='abc@example.com') |
検索列を使用する 代替キーを使用する | /accounts(_primarycontactid_value=00000000-0000-0000-0000-000000000002) 検索列に代替キーが定義されている場合、対応する検索プロパティの名前を使用する必要があります。 検索プロパティは、次の名前付け規則に従います: _<name of single-valued navigation property>_value 。 |
注意
systemuser および team エンティティ型が principal エンティティ型から継承される方法により、名前の付いた主キーを使用してこれらのエンティティを参照することはできません。 これらのエンティティの両方の主キーは systemuserid
または teamid
ではなく、ownerid
です。 principal
エンティティ型は、GET
操作をサポートしていません。 詳細: EntityType の継承
Web API を用いた代替キー使用時の例外
代替キーを使用するときは、以下のような条件と起こり得る例外に注意してください。
- 一意のキーとして定義されていない列を指定する場合は、一意のキー列の使用が必要であることを示すエラーがスローされます。 エラー メッセージは、
The key in the request URI is not valid for resource 'Microsoft.Dynamics.CRM.<table logical name>'. Ensure that the names and number of key properties match the declared or alternate key properties for the resource 'Microsoft.Dynamics.CRM.<table logical name>'.
です - 次の文字
/
、<
、>
、*
、%
、&
、:
、\\
、?
、+
を含む代替キーバリューは、現在サポートされていません。
関連項目
テーブルの代替キーを定義する
変更の追跡を使用してデータを外部システムに同期
Upsert を使用してレコードを挿入または更新
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。