Introdução aos atributos de entidade no Microsoft Dynamics CRM 2015
Publicado: novembro de 2016
Aplicável a: Dynamics CRM 2015
Entidades incluem um conjunto de atributos que representam os dados a serem incluídos em cada registro. Os desenvolvedores precisam compreender os diferentes tipos de atributos e como trabalhar com eles. Os metadados para atributos descrevem operações válidas e comportamentos de diferentes tipos de atributos. Vários tipos de atributos podem ser agrupados por comportamentos comuns.
Os desenvolvedores de conhecimento específicos terão dependências de estilo de desenvolvimento que escolherem.Para obter mais informações:Programação da entidade (early bound X late bound X extensões para desenvolvedores).
Observação
Este tópico inclui referências a muitas propriedades de metadados.Para exibir os metadados de entidade da sua organização, instale a solução Navegador dos Metadados descrita em Procurar os metadados da sua organização. Também é possível exibir os metadados de uma organização não personalizada no arquivo do Excel chamado EntityMetadata.xlsx, incluído na pasta de nível superior do download do SDK.
Neste tópico
Operações válidas em atributos
Tipos de atributos
Atributos de categorização de dados
Atributos de conjunto de dados
Atributo data e hora
Atributos de data da imagem
Atributos de dados de quantidade
Atributos de dados de referência
Atributos de data da cadeia de caracteres
Atributos de dados do identificador exclusivo
Atributos virtuais
Atributos lógicos
Operações válidas em atributos
Cada atributo tem os metadados que descrevem as operações que oferece suporte. Você precisa estar ciente das operações que são válidas para os atributos que você trabalha.
Propriedade AttributeMetadata |
Descrição |
---|---|
Verdadeiro se este valor de atributo for válido para ser definido quando um registro é criado, caso contrário, falso. |
|
Verdadeiro se este valor de atributo pode ser recuperado, caso contrário, falso. |
|
Verdadeiro se este valor de atributo for válido para ser definido quando um registro é atualizado, caso contrário, falso. |
Tipos de atributos
Atributos são definidos nos metadados e a propriedade AttributeMetadata.AttributeTypeName contém o valor descrevendo o tipo. Os membros AttributeTypeDisplayName estáticos fornecem a lista de possíveis tipos.
Observação
A propriedade mais antiga AttributeType contém dados que estão mais alinhados com o AttributeTypeName, com exceção de que mostra os atributos ImageType como Virtual. Use a propriedade AttributeTypeName em vez da propriedade AttributeType.
A seção a seguir agrupa os tipos de atributos nas seguintes categorias para poder comparar com mais facilidade:
Atributos de categorização de dados
Atributos de conjunto de dados
Atributo data e hora
Atributos de data da imagem
Atributos de dados de quantidade
Atributos de dados de referência
Atributos de data da cadeia de caracteres
Atributos de dados do identificador exclusivo
Atributos virtuais
Atributos de categorização de dados
Cada um dos cinco atributos nesse grupo herdam uma classe base EnumAttributeMetadata comum e usa um conjunto predefinido de valores válidos para agrupar registros em categorias.
Definir atributos Lista de seleção, Status e Estado usando OptionSetValue com uma propriedade Value definida para um inteiro que representa uma opção válida nos metadados.
Definir atributos boolianos usando um valor booliano, mas reconhecer que essa é uma categorização limitada de apenas duas opções.
Os atributos EntityName usam um valor de cadeia de caracteres que é restrito a ser um nome lógico da entidade válida na organização.
Atributos Lista de Seleção e Booliano personalizados podem ser definidos como atributos calculados.Para obter mais informações:Atributos calculados.
Tipo de Metadados |
AttributeTypeName Valor |
Descrição |
---|---|---|
PicklistType |
Os valores válidos são definidos em OptionMetadata.Value para esse atributo definido dentro do OptionSetMetadata.Options. Nas ferramentas de personalização do aplicativo esses atributos são chamados de campos de Conjunto de Opções. |
|
StatusType |
Esses atributos do sistema são geralmente chamados StatusCode. Os valores válidos são definidos em StatusOptionMetadata.Value para esse atributo definido dentro do OptionSetMetadata.Options. A propriedade StatusOptionMetadata.State para cada opção descreve o valor válido para o valor StateCode correspondente. Antes de definir StatusCode você deve verificar se é válido para o valor atual de StateCode. Use a mensagem SetStateRequest para definir os valores de atributo StatusCode e StateCode quando precisar alterar o estado do registro. Esses atributos podem ter limitações adicionais nos valores que podem ser definidos. A propriedade StatusOptionMetadata.TransitionData pode conter informações sobre quais opções são permitidas quando o valor EntityMetadata.EnforceTransitions é true.Para obter mais informações:Definir transições de modelo de estado personalizadas. |
|
StateType |
Esses atributos do sistema são geralmente chamados StatusCode. Os valores válidos são definidos em StateOptionMetadata.Value para esse atributo definido dentro do OptionSetMetadata.Options. StateCode não é válido para atualização. Depois que o registro é criado, StateCode pode ser definido usando a mensagem SetStateRequest. A propriedade StateOptionMetadata.DefaultStatus para cada opção descreve o StatusCode padrão que será usado quando não definido como um parâmetro no SetStateRequest. |
|
BooleanType |
Atributos boolianos podem ser definidos diretamente usando um valor Booleano, mas como outros eles também têm uma propriedade OptionSet com propriedades FalseOption e TrueOption que correspondem às opções boolianas. Cada uma dessas propriedades define um conjunto de rótulos traduzidos que representam o que verdadeiro e falso significam para o atributo. Nas ferramentas de personalização do aplicativo, esses atributos são chamados de campos de Duas Opções porque o significado para cada opção pode ser um par de opções mutuamente exclusivas, não apenas verdadeiro e falso. Por exemplo, as opções podem ser grandes e pequenas. |
|
EntityNameType |
Esses atributos do sistema são geralmente emparelhados com um identificador exclusivo ou atributo de referência que seja válido para vários tipos. O valor desse atributo é um valor de cadeia de caracteres que representa o nome lógico de uma entidade. Se o atributo de referência correspondente é um EntityReference, o valor desse atributo é o mesmo que o valor da propriedade EntityReference.Name. |
Atributos de conjunto de dados
Esses atributos do sistema retornam conjuntos de valores.
Valor AttributeTypeName |
Descrição |
---|---|
CalendarRulesType |
Não há um atributo real que usa o CalendarRulesType. Ao usar o estilo de associação inicial, a ferramenta de geração de código criará os dois seguintes atributos simulados que não estão presentes nos metadados. Esses atributos representam realmente uma exibição de registros de regras de calendário associados em um relacionamento um-para-muitos para a instância de entidade.
|
PartyListType |
Os seguintes atributos permitem que vários EntityReference sejam definidos para vários tipos de atividades. ActivityPointer.allparties |
Atributo data e hora
Atributos no valor de AttributeTypeName de metadados de DateTimeType. Defina esses atributos usando o System.DateTime.
A propriedade DateTimeAttributeMetadata.Format pode ser um dos seguintes valores DateTimeFormat:
DateAndTime: Exibe a data e hora.
DateOnly: Exibir somente a data
Atributos Data e hora personalizados podem ser definidos como atributos calculados ou de acúmulo.Para obter mais informações:Atributos calculados e de acúmulo.
Atributos de data da imagem
Para as entidades que suportam atributos de imagem, o SchemaName do atributo de imagem da entidade será sempre EntityImage.
Para obter mais informações:Atributos de imagem, Imagens de entidade e Exemplo: Definir e recuperar imagens de entidade.
Atributos de dados de quantidade
Atributos nessa categoria usam dados numéricos. Cada um desses atributos tem uma de metadados de MaxValue e MinValue para definir um intervalo de valores válidos.
Atributos Decimal, Inteiro e Moeda personalizados podem ser definidos como atributos calculados ou de acúmulo.Para obter mais informações:Atributos calculados e de acúmulo.
Tipo de Metadados |
Valor AttributeTypeName |
Descrição |
---|---|---|
BigIntType |
Atributos BigInt são apenas para uso interno. |
|
DecimalType |
Use valores decimais. A propriedade de metadados Precision define a precisão a ser usada para o atributo. |
|
DoubleType |
Use valores duplos. A propriedade de metadados Precision define a precisão a ser usada para o atributo. |
|
IntegerType |
Use valores inteiros. |
|
MoneyType |
Use Money que tem uma propriedade de decimalValue. Cada atributo Monetário correspondente é um atributo monetário de moeda base calculado que é usado para calcular o valor na moeda base da organização onde várias moedas foram habilitadas para a organização. A propriedade IsBaseCurrency identifica se um atributo monetário representa a moeda base.Para obter mais informações:Entidade da moeda de transação (moeda). O atributo monetário também têm uma propriedade de metadados PrecisionSource que pode especificar o nível de precisão a ser usado. O valor inteiro nesta propriedade determina se:
|
Atributos de dados de referência
Esses atributos são geralmente referenciados como atributos de pesquisa e cada um deles contêm um valor EntityReference. A diferença entre esses atributos é os tipos de entidades que podem associar. A propriedade de metadados Targets contém um String[] de nomes lógicos de entidades válidas que representam destinos válidos para a pesquisa. Os atributos de pesquisa personalizados só podem ter um único tipo de propriedade Targets.
O PartyListType também representa um tipo de atributo de dados de referência, mas como contém uma coleção de referências, são incluídos no Atributos de conjunto de dados.
Atributos de data da cadeia de caracteres
Existem dois tipos de atributos que utilizam dados da cadeia de caracteres.
Tipo de Metadados |
Valor AttributeTypeName |
Descrição |
---|---|---|
StringType |
Um atributo para um valor de cadeia da caracteres no qual um formato pode ser aplicado.Para obter mais informações:Formatos StringAttributeMetadata. Atributos de Cadeia de caracteres personalizados podem ser definidos como atributos calculados.Para obter mais informações:Atributos calculados. |
|
MemoType |
Um atributo para um valor de cadeia de caracteres destinado a anotações. Esses atributos são equivalentes aos atributos Cadeia de caracteres com o valor de propriedade FormatName definido para TextArea. |
Atributos de dados do identificador exclusivo
Atributos com o valor de metadados AttributeTypeName de UniqueidentifierType contêm valores System.Guid nulos.
Cada instância de entidade contém um atributo que representa o identificador exclusivo do registro. Este atributo tem um nome de esquema que acompanha a convenção nomenclatura <nome do esquema de entidade>+Id. Por exemplo, o nome de esquema da entidade Conta para o atributo que representa o identificador exclusivo é de AccountId. Esse valor também está disponível diretamente usando a propriedade Entity.Id. Esse atributo será sempre retornado quando você recupera uma entidade, mesmo que não inclua no ColumnSet de uma consulta. Esse valor é nulo para uma entidade recentemente instanciada. Embora seja válido definir um valor de GUID para definir o identificador exclusivo quando você cria um novo registro, para melhor desempenho, recomendamos deixar nulo e permitir que o sistema atribua um valor quando o registro é criado. Depois que um registro é salvo, esse valor se torna somente leitura.
As entidades podem incluir outros atributos de identificador exclusivo dependendo dos recursos da entidade. Por exemplo, entidades que estejam habilitadas para processos empresariais conterão atributos de identificador exclusivo para ProcessId e StageId para acompanhar o processo empresarial atual associado ao registro. Certas relacionamentos do sistema que geralmente podem usar um valor EntityReference usará um identificador exclusivo. Por exemplo, as entidades Conta e Contato têm dois atributos de identificador exclusivos (Address1_AddressId e Address2_AddressId) que correspondem aos registros de CustomerAddress criados quando uma Conta ou Contato é criado.
Atributos virtuais
Os metadados para uma entidade incluirão alguns atributos com o valor de metadados AttributeTypeName de VirtualType. Esses não podem ser usados no código.
Atributos lógicos
Atributos lógicos contêm valores que são armazenados em tabelas do banco de dados diferentes dos outros atributos da entidade. Na maioria dos casos, essa implementação interna não é relevante para o trabalho com o Microsoft Dynamics CRM. Ao usar atributos lógicos como fontes para um campo calculado, os valores no campo calculado não podem ser classificados. Use a propriedade AttributeMetadata.IsLogical para detectar se um atributo é um atributo lógico.
A maioria dos atributos lógicos são comuns para aqueles que armazenam informações de endereço de várias entidades especiais: CompetitorAddress, CustomerAddress, InternalAddress, LeadAddress e PublisherAddress. Há 8 entidades do sistema que incluem um conjunto completo de atributos para dois endereços usando atributos lógicos. Cada um desses atributos é iniciado com "Address", como Address1_City ou Address2_Latitude.
Confira Também
Introdução às entidades no Microsoft Dynamics CRM 2015
Atributos de imagem
Atributos calculados e de acúmulo
Exemplo: Recuperar transições de status válidos
Exemplo: Definir e recuperar imagens de entidade
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais