Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En el documento $metadata CSDL, inmediatamente debajo del espacio de nombres Service hay una lista de EntityTypes. Un tipo de entidad es un tipo estructurado con nombre con una clave. Define las propiedades y relaciones con nombre de una tabla.
EntityType Normalmente, los elementos tienen los atributos siguientes:
| Atributo | Description |
|---|---|
Name |
El nombre del tipo, el LogicalName de la tabla. |
BaseType |
El EntityType del que se hereda el tipo de entidad. |
Por ejemplo, este elemento XML es el EntityType de la entidad account, excluyendo propiedades y propiedades de navegación.
<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>
Excepto por tres excepciones, todos los tipos de entidad tienen los siguientes elementos secundarios:
| Elemento | Description |
|---|---|
Key |
Contiene un <PropertyRef> elemento donde el Name atributo representa la clave principal de la tabla. |
Property |
Contiene detalles sobre una propiedad de EntityType. Consulte Propiedades de la API web. |
NavigationProperty |
Contiene detalles sobre una relación con este EntityType. Consulte Propiedades de navegación de API web. |
Tipos de entidad especiales
Hay tres tipos de entidad que no tienen Keyelementos , Propertyo NavigationProperty .
crmbaseentity
Este elemento define un tipo abstracto común para cualquier tabla que contenga datos empresariales.
<EntityType Name="crmbaseentity" Abstract="true" />
Dado que todos los tipos de entidad que contienen datos empresariales heredan de crmbaseentity, crmbaseentity se hace referencia cuando un valor no es específico de una tabla.
expando
Este elemento define un tipo de entidad que hereda de crmbaseentity, pero también es un OpenType de OData.
<EntityType Name="expando" BaseType="mscrm.crmbaseentity" OpenType="true" />
Un tipo de entidad expando se puede usar como parámetro para una acción o como una propiedad de respuesta de una función o acción.
Más información: Uso de tipos abiertos con API personalizadas
crmmodelbaseentity
Este elemento existe cerca de la parte inferior del documento de $metadata:
<EntityType Name="crmmodelbaseentity" Abstract="true" />
Este elemento define un tipo abstracto común para las definiciones de esquema. Es el tipo base de otra clase base abstracta que se usa para las definiciones de tabla. A menos que quiera crear y modificar tablas, columnas y relaciones mediante la API web, no es necesario usar tipos de entidad que hereden de este tipo. Más información: Use la API web con definiciones de tabla.
Herencia de EntityType
Para los datos empresariales, hay dos tipos de entidad más abstractos que heredan de crmbaseentity:
| EntityType | Description |
|---|---|
principal |
systemuser y team heredan del tipo de entidad principal. Principal solo proporciona la propiedad ownerid, que cada tabla de propiedad del usuario tiene. Esta herencia es lo que permite asignar registros propiedad del usuario a un usuario o a un equipo. La ownerid propiedad es la clave principal para systemuser y team EntityTypes. |
activitypointer |
Cualquier tabla configurada como actividad hereda del activitypointer tipo de entidad. Este tipo proporciona propiedades comunes que se encuentran en tipos de entidad como, por ejemplo, appointment, emailfax, letter, phonecally task. También puede crear una tabla personalizada que represente una actividad. Estas propiedades comunes permiten recuperar una lista de actividades de diferentes tipos mediante estas propiedades comunes.La activityid propiedad es la clave principal de todos los tipos de entidad que heredan de activitypointer. |
Al trabajar con definiciones de tabla, hay otra jerarquía de herencia.
MetadataBase El tipo de entidad hereda del abstracto crmmodelbaseentity para proporcionar propiedades MetadataId y HasChanged comunes. Más información: Use la API web con definiciones de tabla.
Claves alternativas
Cuando un tipo de entidad tiene definidas claves alternativas, hay un Annotation que describe las propiedades implicadas en la definición de clave alternativa.
En el ejemplo siguiente se muestra la anotación cuando la account entidad se ha configurado para habilitar la accountnumber propiedad como una clave alternativa.
<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>
Más información: Recuperación del registro mediante una clave alternativa
Pasos siguientes
Obtenga información sobre las propiedades.
Consulte también
Operaciones y tipos de API web
Documentos del servicio API web
Propiedades de api web
Propiedades de navegación de api web
Acciones de API web
Funciones de API web
Tipos complejos y enumeración de API web
Usar la API web de Dataverse