Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Cada tabela fornece a capacidade de armazenar dados estruturados. Para desenvolvedores, as tabelas correspondem às classes que você usa ao trabalhar com dados no Microsoft Dataverse.
Nomes de tabelas
Cada tabela tem um nome exclusivo que você define ao criá-la. Você verá esse nome de várias maneiras:
| Propriedade Nome | DESCRIÇÃO |
|---|---|
SchemaName |
Normalmente, uma versão case de Pascal do nome lógico. Por exemplo, Conta |
CollectionSchemaName |
Uma forma plural do nome do esquema. Por exemplo, Contas |
LogicalName |
Todas as versões minúsculas do nome do esquema. Por exemplo, conta |
LogicalCollectionName |
Todas as versões minúsculas do nome do esquema da coleção. Por exemplo, contas |
EntitySetName |
Usado para identificar coleções com a API Web. Por padrão, é o mesmo que o nome da coleção lógica. Você pode alterar o nome do conjunto de entidades atualizando programaticamente as definições. Mas só faça essa alteração antes de escrever qualquer código de API Web para a tabela. Para obter mais informações, consulte o nome do conjunto de entidades. |
Observação
EntitySetName é gerado automaticamente alterando o EntityName plural desse nome. Exemplo: EntityName: Car EntitySetName: Cars. Ao criar manualmente uma nova tabela, o EntitySetName pode ser alterado. O sistema criado EntitySetName é sempre o plural do EntityName e você não pode alterá-lo por meio da interface do cliente. Essa regra se aplica a tabelas do sistema e tabelas criadas para intersecções de relações de muitos para muitos.
Quando você cria uma tabela personalizada, o valor do prefixo de personalização do editor de soluções acrescenta o nome escolhido. Você não pode alterar os nomes de uma tabela após a criação, exceto o nome do conjunto de entidades. Se você quiser nomes consistentes para itens de definição em sua solução, crie-os no contexto de uma solução criada associada a um editor de soluções que contenha o prefixo de personalização que você deseja usar. Para obter mais informações, consulte o editor de soluções.
Cada tabela também tem três propriedades que podem exibir valores localizados:
| Nome | DESCRIÇÃO |
|---|---|
DisplayName |
Normalmente, o mesmo que o nome do esquema, mas pode incluir espaços. Por exemplo, Conta |
DisplayCollectionName |
Uma forma plural do nome de exibição. Por exemplo, Contas |
Description |
Uma breve frase que descreve a tabela, isto é, Negócio que representa um cliente ou futuro cliente. A empresa que recebe a cobrança em transações comerciais. |
Use esses valores localizáveis para se referir às tabelas em um aplicativo. Você pode alterar esses valores a qualquer momento. Para adicionar ou editar valores localizados, consulte Traduzir texto de tabela, formulário e coluna personalizados em outros idiomas.
Chave primária
O PrimaryIdAttribute valor da propriedade é o nome lógico da coluna que serve como a chave primária para a tabela.
Por padrão, todas as tabelas incluem uma única coluna de identificador exclusivo do GUID chamada <table logical name>Id.
Nome primário
O PrimaryNameAttribute valor da propriedade é o nome lógico da coluna que armazena o valor da cadeia de caracteres que identifica o registro da tabela. Esse valor aparece em um link que abre o registro em uma interface do usuário.
Exemplo: a tabela Contato usa a fullname coluna como a coluna de nome primário.
Observação
Nem todas as tabelas têm um nome primário. Algumas tabelas não devem ser exibidas em uma interface do usuário.
Imagens de entidade
O valor da propriedade PrimaryImageAttribute é o nome lógico da coluna de imagem que você escolhe para representar o registro da entidade. Um aplicativo pode exibir essa imagem.
Exemplo: a coluna EntityImage da tabela de contatos pode armazenar uma imagem do contato.
Observação
Essa imagem é diferente do ícone que os aplicativos controlados por modelo exibem para uma tabela. A IconVectorName propriedade contém o nome do recurso da Web SVG que define o ícone.
Para obter mais informações, consulte:
- Trabalhar com definições de coluna de imagem usando código
- Usar dados de coluna de imagem
- Exemplo: Operações de imagem usando o SDK do Dataverse para .NET
- Exemplo: Operações de imagem usando a API Web do Dataverse
Tipos de tabelas
Os recursos e o comportamento das tabelas dependem de várias propriedades da tabela. A maioria dessas propriedades são relativamente simples e têm nomes descritivos. Quatro propriedades que exigem mais explicação são: Propriedade de Titularidade, Tabelas de Atividade, Tabela Activityparty e Tabelas Filhas.
Propriedade da tabela
Você pode categorizar tabelas pela forma como os dados dentro delas são de propriedade. Esse conceito é importante para entender como aplicar segurança a tabelas. A propriedade OwnershipType contém essas informações. A tabela a seguir descreve os diferentes tipos de propriedade:
| Tipo de Propriedade | DESCRIÇÃO |
|---|---|
| Negócios | Os dados pertencem à unidade de negócios. O acesso aos dados pode ser controlado no nível da unidade de negócios. |
| None | Os dados não pertencem a outra tabela. |
| Organização | Os dados pertencem à organização. O acesso aos dados é controlado no nível da organização. |
| Usuário ou Equipe | Os dados pertencem a um usuário ou a uma equipe. Ações que podem ser executadas nesses registros podem ser controladas em um nível de usuário. |
Quando você cria novas tabelas, as únicas opções de propriedade são: Organização ou Usuário ou Equipe. Você não pode alterar essa opção depois de fazer uma escolha. Escolha Usuário ou Equipe para o controle mais granular sobre quem pode exibir ou executar ações nos registros. Escolha Organização quando esse nível de controle não for necessário.
Tabelas de atividades
Uma atividade é uma tarefa que um usuário executa ou planeja executar. Uma atividade é qualquer ação para a qual você pode fazer uma entrada em um calendário.
As atividades são modeladas de forma diferente de outros tipos de tabelas que armazenam dados comerciais. Os dados sobre atividades são frequentemente exibidos juntos em uma lista, mas cada tipo de atividade requer propriedades exclusivas. Em vez de usar uma única tabela de atividades com todas as propriedades possíveis, use tipos separados de tabelas de atividades. Cada uma dessas tabelas herda propriedades de uma tabela base do ActivityPointer. Essas tabelas têm a IsActivity propriedade definida como true.
| Table | DESCRIÇÃO |
|---|---|
| Compromisso | Compromisso que representa um intervalo de tempo com horários de início e término e duração. |
| Atividade enviada por e-mail. | |
| Fax | Atividade que registra o resultado da chamada e o número de páginas para um fax e, opcionalmente, armazena uma cópia eletrônica do documento. |
| Carta | Atividade que rastreia a entrega de uma carta. A atividade pode conter a cópia eletrônica da carta. |
| Chamada Telefônica | Atividade para rastrear um telefonema. |
| RecurringAppointmentMaster | A nomeação principal de uma série de compromissos recorrentes. |
| SocialActivity | Somente para uso interno. |
| Tarefa | Atividade genérica representando o trabalho que precisa ser feito. |
Quando um usuário cria um registro de tabela de atividades desse tipo, o sistema cria um registro correspondente na tabela ActivityPointer com o mesmo valor na coluna de identificador exclusivo ActivityId. Você não pode criar, atualizar ou excluir instâncias da ActivityPointer tabela, mas pode recuperá-las. Esse design permite que você apresente todos os tipos de atividades em uma lista.
Você pode criar tabelas de atividades personalizadas que se comportam da mesma maneira.
Tabela ActivityParty
Use esta tabela para adicionar estrutura às colunas da tabela PartyListType de atividades que incluem referências a outras tabelas. Use esta tabela ao definir valores para colunas da tabela de atividades como Email.to ou PhoneCall.from. Na tabela ActivityParty, defina a coluna ParticipationTypeMask para definir a função que a referência desempenha. As funções incluem Sender, ToRecipiente Organizermuito mais.
Você pode consultar a ActivityParty tabela, mas não pode criar, recuperar, atualizar ou excluir uma parte da atividade fora da atividade à qual ela está relacionada.
Para obter mais informações, consulte:
Tabelas filho
Tabelas em que a IsChildEntity propriedade é verdadeira nunca têm privilégios definidos e nunca são de propriedade do Usuário ou da Equipe. As operações que você pode executar em uma tabela filha estão vinculadas a uma tabela associada por meio de uma relação muitos-para-um. Se puderem executar a mesma operação na tabela relacionada, os usuários só poderão executar operações em tabelas filhas. As tabelas filho são excluídas automaticamente quando o registro da tabela do qual dependem é excluído.
Por exemplo, PostCommente PostLikePostRole são cada filho da Post tabela.
Teclas
Cada definição de chave alternativa descreve uma ou mais colunas em combinação que identificam exclusivamente uma tabela. Normalmente, você aplica chaves alternativas apenas para integração com sistemas externos. Defina chaves alternativas para identificar exclusivamente um registro. Esse recurso será valioso se você estiver integrando dados a um sistema que não dá suporte a chaves de identificador exclusivas do GUID. Você pode definir um único valor de coluna ou combinação de valores de coluna para identificar exclusivamente uma tabela. Adicionar uma chave alternativa impõe uma restrição de exclusividade nessas colunas. Você não pode criar ou atualizar outro registro de tabela para ter os mesmos valores.
Para obter mais informações, consulte:
Estados de tabela
A maioria das tabelas tem duas propriedades para acompanhar o estado de um registro. Essas propriedades são StateCode, que aparecem como Status em aplicativos controlados por modelos e StatusCodeque aparecem como Motivo do Status em aplicativos controlados por modelos.
Ambas as propriedades contêm um conjunto de opções que exibem os valores válidos. Os StateCode valores e os StatusCode valores são vinculados para que apenas determinadas StatusCode opções sejam válidas para determinado StateCode.
Esse link pode variar de acordo com a tabela, mas o padrão comum para muitas tabelas e o padrão para tabelas personalizadas é este padrão:
| Opções do StateCode | Opções de Código de Status |
|---|---|
| 0: Ativo | 1: Ativo |
| 1: Inativo | 2: Inativo |
Algumas tabelas têm diferentes conjuntos de opções.
Exemplo: PhoneCall tabela StateCode e StatusCode opções
| Código do estado | CódigoDeStatus |
|---|---|
| 0: Abrir | 1: Abrir |
| 1: Concluído | 2: Feito 4: Recebido |
| 2: Cancelado | 3: Cancelado |
Não é possível personalizar o conjunto de códigos de estado válidos para uma tabela, mas você pode personalizar os códigos de status. Você pode adicionar mais StatusCode opções para um correspondente StateCode.
Para tabelas personalizadas, você pode definir mais critérios para transições válidas entre status.
Para obter mais informações, consulte: