Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
No documento $metadata CSDL, imediatamente abaixo do namespace de serviço há uma lista de EntityTypes. Um tipo de entidade é um tipo estruturado nomeado com uma chave. Ele define as propriedades nomeadas e as relações de uma tabela.
EntityType os elementos geralmente têm os seguintes atributos:
| Attribute | Description |
|---|---|
Name |
A nome do tipo; o LogicalName da tabela. |
BaseType |
O tipo de entidade do qual o tipo herda. |
Por exemplo, esse elemento XML é o EntityType para a entidade account, excluindo propriedades e propriedades de navegação.
<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>
Com exceção de três casos, todos os tipos de entidade têm os seguintes subelementos:
| Elemento | Description |
|---|---|
Key |
Contém um <PropertyRef> elemento em que o Name atributo representa a chave primária da tabela. |
Property |
Contém detalhes sobre uma propriedade do EntityType. Consulte as propriedades da API Web. |
NavigationProperty |
Contém detalhes sobre uma relação com esse EntityType. Consulte as propriedades de navegação da API Web |
Tipos de entidade especial
Há três tipos de entidade que não têm Key, Propertyou NavigationProperty elementos.
crmbaseentity
Esse elemento define um tipo abstrato comum para qualquer tabela que contenha dados de negócios.
<EntityType Name="crmbaseentity" Abstract="true" />
Como todos os tipos de entidade que contêm dados empresariais herdam de crmbaseentity, crmbaseentity é referenciado quando um valor não é específico de uma tabela.
Expando
Esse elemento define um tipo de entidade que herda de crmbaseentity, mas também é um OData OpenType.
<EntityType Name="expando" BaseType="mscrm.crmbaseentity" OpenType="true" />
Um tipo de entidade expando pode ser usado como um parâmetro para uma ação ou como uma propriedade de resposta de uma função ou ação.
Mais informações: Usar tipos abertos com APIs personalizadas
crmmodelbaseentity
Esse elemento existe próximo à parte inferior do documento $metadata:
<EntityType Name="crmmodelbaseentity" Abstract="true" />
Esse elemento define um tipo abstrato comum para qualquer definição de esquema. É o tipo base para outra classe base abstrata usada para definições de tabela. A menos que você queira criar e modificar tabelas, colunas e relações usando a API Web, você não precisará usar tipos de entidade que herdam desse tipo. Mais informações: use a API Web com definições de tabela.
Herança de EntityType
Para dados de negócios, há mais dois tipos de entidade abstratos que herdam de crmbaseentity:
| Tipo de Entidade | Description |
|---|---|
principal |
Os tipos de entidade systemuser e team herdam do tipo de entidade principal. Principal fornece apenas a ownerid propriedade, que cada tabela pertencente ao usuário tem. Essa herança é o que permite que os registros de propriedade do usuário sejam atribuídos a um usuário ou a uma equipe. A ownerid propriedade é a chave primária para systemuser EntityTypes e team EntityTypes. |
activitypointer |
Qualquer tabela configurada como uma atividade herda do activitypointer tipo de entidade. Esse tipo fornece propriedades comuns encontradas em tipos de entidade, como: appointment, , email, fax, , letter, phonecalle task. Você também pode criar uma tabela personalizada que representa uma atividade. Essas propriedades comuns possibilitam recuperar uma lista de atividades de diferentes tipos usando essas propriedades comunsA activityid propriedade é a chave primária para todos os tipos de entidade que herdam de activitypointer. |
Ao trabalhar com definições de tabela, há outra hierarquia de herança.
MetadataBase O tipo de entidade herda do abstrato crmmodelbaseentity para fornecer propriedades MetadataId comuns e HasChanged. Mais informações: use a API Web com definições de tabela.
Chaves Alternativas
Quando um tipo de entidade tem chaves alternativas definidas, há uma Annotation que descreve as propriedades envolvidas na definição de chave alternativa.
O exemplo a seguir mostra a anotação quando a account entidade foi configurada para habilitar a accountnumber propriedade como uma chave 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>
Mais informações: Recuperar registro usando uma chave alternativa
Próximas Etapas
Saiba mais sobre as propriedades.
Consulte também
Tipos e operações de API Web
Documentos do Serviço de API Web
Propriedades da API Web
Propriedades de navegação da API Web
Ações de API Web
Funções de API Web
Tipos Complexos e de Enumeração de API Web
Utilizar a API Web do Dataverse