Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Innerhalb des CSDL-$metadata Dokuments befindet sich unmittelbar unterhalb des Dienstnamespaces eine Liste von EntityTypes. Ein Entitätstyp ist ein benannter strukturierter Typ mit einem Schlüssel. Sie definiert die benannten Eigenschaften und Beziehungen einer Tabelle.
EntityType Elemente weisen in der Regel die folgenden Attribute auf:
| Merkmal | Description |
|---|---|
Name |
Der Name des Typs; die LogicalName für die Tabelle. |
BaseType |
Der EntityType, von dem der Typ erbt. |
Dieses XML-Element ist zum Beispiel die EntityType für die Entität account, ohne Eigenschaften und Navigationseigenschaften.
<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>
Mit Ausnahme von drei Ausnahmen weisen alle Entitätstypen die folgenden untergeordneten Elemente auf:
| Element | Description |
|---|---|
Key |
Enthält ein <PropertyRef> Element, bei dem das Name Attribut den Primärschlüssel für die Tabelle darstellt. |
Property |
Enthält Details zu einer Eigenschaft von EntityType. Siehe Web-API-Eigenschaften. |
NavigationProperty |
Enthält Details zu einer Beziehung mit diesem EntityType. Siehe Web-API-Navigationseigenschaften |
Spezielle Entitätstypen
Es gibt drei Entitätstypen, die keine Key, Property oder NavigationProperty Elemente haben.
crmbaseentity
Dieses Element definiert einen allgemeinen abstrakten Typ für jede Tabelle, die Geschäftsdaten enthält.
<EntityType Name="crmbaseentity" Abstract="true" />
Da alle Entitätstypen, die crmbaseentity Geschäftsdaten enthalten, davon erben, wird auf crmbaseentity verwiesen, wenn ein Wert nicht spezifisch für eine Tabelle ist.
expando
Dieses Element definiert einen Entitätstyp, der von crmbaseentity erbt, aber auch ein OData OpenType ist.
<EntityType Name="expando" BaseType="mscrm.crmbaseentity" OpenType="true" />
Ein Expando-Entitätstyp kann als Parameter für eine Aktion oder als Antworteigenschaft aus einer Funktion oder Aktion verwendet werden.
Weitere Informationen: Verwenden von offenen Typen mit benutzerdefinierten APIs
crmmodelbaseentity
Dieses Element ist im unteren Bereich des $metadata Dokuments vorhanden:
<EntityType Name="crmmodelbaseentity" Abstract="true" />
Dieses Element definiert einen allgemeinen abstrakten Typ für alle Schemadefinitionen. Es ist der Basistyp für eine andere abstrakte Basisklasse, die für Tabellendefinitionen verwendet wird. Es sei denn, Sie möchten Mithilfe der Web-API Tabellen, Spalten und Beziehungen erstellen und ändern, müssen Sie keine Entitätstypen verwenden, die von diesem Typ erben. Weitere Informationen: Verwenden Sie die Web-API mit Tabellendefinitionen.
EntityType-Vererbung
Für Geschäftsdaten gibt es zwei weitere abstrakte Typen von Entitäten, die von crmbaseentity erben:
| EntityType | Description |
|---|---|
principal |
systemuser und team Entitätstypen erben vom Entitätstyp principal . Prinzipal stellt nur die ownerid Eigenschaft bereit, über die jede benutzereigene Tabelle verfügt. Diese Vererbung ermöglicht, dass benutzereigene Datensätze entweder einem Benutzer oder einem Team zugewiesen werden. Die ownerid Eigenschaft ist der Primärschlüssel sowohl für die systemuser- als auch für die team-EntityTypes. |
activitypointer |
Jede Tabelle, die als Aktivität konfiguriert ist, erbt vom activitypointer Entitätstyp. Dieser Typ stellt allgemeine Eigenschaften bereit, die in Entitätstypen wie appointment, email, fax, letter, phonecall und task zu finden sind. Sie können auch eine benutzerdefinierte Tabelle erstellen, die eine Aktivität darstellt. Diese allgemeinen Eigenschaften ermöglichen das Abrufen einer Liste von Aktivitäten verschiedener Typen mithilfe dieser allgemeinen EigenschaftenDie activityid Eigenschaft ist der Primärschlüssel für alle Entitätstypen, die von activitypointer. |
Beim Arbeiten mit Tabellendefinitionen gibt es eine weitere Vererbungshierarchie. Der MetadataBase-Entitätstyp erbt von der abstrakten crmmodelbaseentity, um allgemeine MetadataId- und HasChanged-Eigenschaften bereitzustellen. Weitere Informationen: Verwenden Sie die Web-API mit Tabellendefinitionen.
Alternativschlüssel
Wenn ein Entitätstyp alternative Schlüssel definiert hat, gibt es eine Annotation Beschreibung der Eigenschaften, die an der Alternativen Schlüsseldefinition beteiligt sind.
Das folgende Beispiel zeigt die Anmerkung, wenn die account Entität so konfiguriert wurde, dass die accountnumber Eigenschaft als alternativer Schlüssel aktiviert wird.
<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>
Weitere Informationen: Datensatz unter Verwendung eines alternativen Schlüssels abrufen
Nächste Schritte
Erfahren Sie mehr über Eigenschaften.
Siehe auch
Web-API-Typen und -Vorgänge
Web-API-Dienstdokumente
Web-API-Eigenschaften
Web-API-Navigationseigenschaften
Web-API-Aktionen
Web-API-Funktionen
Komplexe Web-API- und Enumerationstypen
Verwenden der Dataverse-Web-API