EntityTypes de la API web
En el documento $metadata de CSDL, inmediatamente debajo del espacio de nombres de servicio hay una lista de EntityTypes. Un tipo de entidad es un tipo estructurado con nombre con una clave. Define las propiedades y las relaciones con nombre de una tabla.
Los elementos EntityType
suelen tener los atributos siguientes:
Attribute | Descripción |
---|---|
Name |
El nombre del tipo, el LogicalName de la tabla. |
BaseType |
El EntityType del que se hereda el tipo de entidad. |
Por ejemplo, este es el elemento XML es el EntityType
para 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 entidades tienen los siguientes elementos secundarios:
Elemento | Descripción |
---|---|
Key |
Contiene un elemento <PropertyRef> donde el atributo Name representa la clave principal de la tabla. |
Property |
Contiene detalles sobre una propiedad de EntityType. Consulte Propiedades de API web. |
NavigationProperty |
Contiene detalles sobre una relación con este EntityType. Consulte Propiedades de navegación de la API web |
Tipos de entidad especiales
Hay tres tipos de entidades que no tienen los elementos Key
, Property
o NavigationProperty
.
crmbaseentity
Este elemento define un tipo abstracto común para cualquier tabla que contieen datos comerciales.
<EntityType Name="crmbaseentity" Abstract="true" />
Debido a que todos los tipos de entidad que contienen datos comerciales heredan de crmbaseentity
, crmbaseentity
es referenciado 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 utilizar como parámetro para una acción o como propiedad de respuesta desde una función o acción.
Más información: Usar tipos abiertos con API personalizadas
crmmodelbaseentity
Este elemento existe cderca de la parte inferior del documento $metadata:
<EntityType Name="crmmodelbaseentity" Abstract="true" />
Este elemento define un tipo abstracto común para cualquier definición de esquema. Es el tipo básico para otra clase básica abstracta utilizada para definiciones de tablas. A menos que desee crear y modificar tablas, columnas y relaciones usando la API web, no necesitará 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 comerciales, hay dos tipos de entidades abstractas más que se heredan de crmbaseentity
:
EntityType | Descripción |
---|---|
principal |
Los tipos de entidad systemuser y team heredan del tipo de entidad principal . La entidad de seguridad solo proporciona la propiedad ownerid , que tiene cada tabla propiedad de un usuario. Esta herencia es lo que permite que los registros propiedad del usuario se asignen a un usuario o a un equipo. La propiedad ownerid es la clave principal para los EntityTypes systemuser y team . |
activitypointer |
Cualquier tabla que esté configurada como una actividad heredada del tipo de entidad activitypointer . Este tipo proporciona propiedades comunes que se encuentran en tipos de entidad como: appointment , email , fax , letter , phonecall y task . También puede crear una tabla personalizada que represente una actividad. Estas propiedades comunes hacen posible recuperar una lista de actividades de diferentes tipos usando estas propiedades comunesLa propiedad activityid es la clave principal para todos los tipos de entidad que heredan de activitypointer . |
Cuando se trabaja con definiciones de tablas, existe otra jerarquía de herencia. El tipo de entidad MetadataBase hereda del resumen crmmodelbaseentity
para proporcionar las 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 una Annotation
que describe las propiedades que participan en la definición de la clave alternativa.
El siguiente ejemplo muestra la anotación cuando la entidad account
ha sido configurada para habilitar la propiedad accountnumber
como 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: Recuperar registro mediante una clave alternativa
Pasos siguientes
Más información sobre las propiedades.
Consulte también
Tipos y operaciones de API web
Documentos de servicio de la API web
Propiedades de API web
Propiedades de navegación de la API web
Acciones de la API web
Funciones de la API web
Tipos complejos y de enumeración de API web
Usar la API web de Dataverse
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).