Web API EntityTypes
CSDL $metadata ドキュメント内で、サービス名前空間のすぐ下に、EntityTypes のリストがあります。 エンティティ型は、キーを持つ名前付き構造化の種類です。 名前付きプロパティと、テーブルの関連付けを定義します。
EntityType
要素には通常、次の属性があります。
Attribute | Description |
---|---|
Name |
種類の名前: テーブルのLogicalName |
BaseType |
種類が継承する EntityType。 |
たとえば、この XML 要素は account
エンティティの EntityType
で、プロパティとナビゲーション プロパティを除きます。
<EntityType Name="account" BaseType="mscrm.crmbaseentity">
<Key>
<PropertyRef Name="accountid" /> <!--The name of the primary key -->
</Key>
<!--Properties and navigation properties removed for brevity-->
<Annotation Term="Org.OData.Core.V1.Description" String="Business that represents a customer or potential customer. The company that is billed in business transactions." />
</EntityType>
3 つの例外を除いて、すべてのエンティティ型には次の子要素があります。
要素 | Description |
---|---|
Key |
Name 属性がテーブルの主キーを表す <PropertyRef> 要素を含みます。 |
Property |
EntityType のプロパティに関する詳細が含まれています。 Web API プロパティ を参照してください。 |
NavigationProperty |
この EntityType との関連付けに関する詳細が含まれています。 Web API ナビゲーション プロパティ を参照してください |
特別なエンティティ型
Key
、Property
、または NavigationProperty
要素のないエンティティ型が 3 つあります。
crmbaseentity
この要素は、ビジネス データを含むすべてのテーブルに共通する抽象型を定義します。
<EntityType Name="crmbaseentity" Abstract="true" />
ビジネス データを含むすべてのエンティティ型は、crmbaseentity
から継承されるため、値が 1 つのテーブルに特有でない場合に crmbaseentity
が参照されます。
expando
この要素は、crmbaseentity
から継承されたエンティティ型を定義するだけでなく、OData OpenType でもあります。
<EntityType Name="expando" BaseType="mscrm.crmbaseentity" OpenType="true" />
エキスパンド エンティティ タイプは、アクションのパラメーターとして、または関数やアクションからのレスポンス プロパティとして使用することができます。
詳細情報: カスタム API でオープン型を使用する
crmmodelbaseentity
$metadata ドキュメントの下部近くに、次の要素があります。
<EntityType Name="crmmodelbaseentity" Abstract="true" />
この要素は、スキーマ定義の共通の抽象型を定義します。 これは、テーブル定義に使用される別の抽象基本クラスの基本タイプです。 Web API を使用して、テーブル、列、および関連付けを作成および変更する場合を除いて、この型から継承するエンティティ型を使用する必要はありません。 詳細: テーブル定義のある Web API を使用する。
EntityType の継承
ビジネス データの場合、crmbaseentity
から継承する抽象エンティティ型がさらに 2 つあります。
EntityType | 説明 |
---|---|
principal |
principal エンティティ型から継承する systemuser および team エンティティ型。 プリンシパルは、すべてのユーザが所有するテーブルにある ownerid プロパティのみを提供します。 この継承により、ユーザーが所有するレコードをユーザーまたはチームのいずれかに割り当てることができます。 ownerid プロパティは、systemuser および team EntityTypes 両方の主キーです。 |
activitypointer |
アクティビティとして構成されているテーブルはすべて、activitypointer エンティティ型から継承されます。 この型は、appointment 、email 、fax 、letter 、phonecall 、および task などのエンティティ型にある一般的なプロパティを提供します。 アクティビティを表すカスタム テーブルを作成することもできます。 これらの一般的なプロパティを使用すると、さまざまなタイプのアクティビティ一覧を取得できるようになりますactivityid プロパティは、activitypointer から継承されるすべてのエンティティ型の主キーです。 |
テーブル定義を操作する場合、継承の別の階層があります。 MetadataBase エンティティ型は、抽象 crmmodelbaseentity
から継承され、一般的な MetadataId
と HasChanged
プロパティを提供します。 詳細: テーブル定義のある Web API を使用する。
代替キー
エンティティ型に定義された代替キーがある場合、代替キーの定義に関係するプロパティを説明する Annotation
が表示されます。
次の例は、account
エンティティが構成され、accountnumber
プロパティを代替キーとして有効にする場合の注釈についてです。
<Annotation Term="OData.Community.Keys.V1.AlternateKeys">
<Collection>
<Record Type="OData.Community.Keys.V1.AlternateKey">
<PropertyValue Property="Key">
<Collection>
<Record Type="OData.Community.Keys.V1.PropertyRef">
<PropertyValue Property="Alias" String="accountnumber" />
<PropertyValue Property="Name" PropertyPath="accountnumber" />
</Record>
</Collection>
</PropertyValue>
</Record>
</Collection>
</Annotation>
次の手順
プロパティの詳細について説明します。
参照
Web API の種類および操作
Web API サービス ドキュメント
Web API プロパティ
Web API ナビゲーション プロパティ
Web API アクション
Web API 関数
Web API の複合型および列挙の種類
Dataverse Web API を使用する
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。