MS_CRMPrimaryKeyField - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

主キー フィールド

概要

CRM のエンティティの主キー列

一意の GUID が格納される。

これにより、

  • 組織や環境をまたいでもキーが衝突しない
    (ソリューションでの移送や、組織間のデータ移行が可能になる)。
  • レコードの作成時にクライアント側で採番でき、
    サーバへの往復なしに関連レコードを組み立てられる。
  • URL やプラグイン・Web API で、レコードを一意に指し示せる。

移行メモ(補完): 元ページは「これにより、・・・。」で途切れていたため、
GUID を主キーにしたことの帰結を補った。
著者による本文が加筆された場合は置き換えること。

名称

CRM のエンティティの主キー フィールドの名称は、

  • 接頭辞_(エンティティ名)ID

となる。

補足(システム エンティティには接頭辞が付かない): 接頭辞が付くのは
カスタム エンティティ(発行元の接頭辞、既定では new_)で、
例えば new_projectId のようになる。
システム エンティティの主キーは接頭辞なしの
accountid / contactid / incidentid のような名称である。

補足(主キーとプライマリ フィールドは別物): 主キー フィールド(GUID)は
レコードの同一性を担うもので、画面には出てこない。
一方、検索フィールドやビューでレコードの「名前」として表示されるのは
プライマリ フィールド(テキスト型)であり、こちらは一意である必要がない。
両者の名称が似てしまうと高度な検索などで混乱するため、
プライマリ フィールドにエンティティ名を使わないよう推奨されている
(「CRM エンティティのカスタマイズ」を参照)。

補足(代替キー): CRM 2015 で**代替キー(Alternate Key)**が追加され、
業務上の一意キー(顧客コードなど)を宣言して
外部システムからの Upsert のキーに使えるようになった。
ただし内部の主キーは、その後も GUID のままである。

参考


Tags: Dynamics CRM

⚠️ **GitHub.com Fallback** ⚠️