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 ナビゲーション プロパティ を参照してください

特別なエンティティ型

KeyProperty、または 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 エンティティ型から継承されます。 この型は、appointmentemailfaxletterphonecall、および task などのエンティティ型にある一般的なプロパティを提供します。 アクティビティを表すカスタム テーブルを作成することもできます。 これらの一般的なプロパティを使用すると、さまざまなタイプのアクティビティ一覧を取得できるようになります

activityid プロパティは、activitypointer から継承されるすべてのエンティティ型の主キーです。

テーブル定義を操作する場合、継承の別の階層があります。 MetadataBase エンティティ型は、抽象 crmmodelbaseentity から継承され、一般的な MetadataIdHasChanged プロパティを提供します。 詳細: テーブル定義のある 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 分かかります。 個人データは収集されません (プライバシー ステートメント)。