Exemplo: Inserir ou atualizar um registro usando Upsert
Publicado: janeiro de 2017
Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Este código de exemplo mostra como inserir ou atualizar registros usando a mensagem Upsert. Para obter mais informações sobre o recurso demonstrado por este exemplo, consulte Usar Upsert para inserir ou atualizar um registro.
Isso está disponível para download de Inserir ou atualizar um registro usando Upsert.
Pré-requisitos
Tenha acesso a uma organização do Microsoft Dynamics 365 ou do Atualização do CRM Online 2016.
Baixe o projeto UpsertSample do Visual Studio.
Abra o projeto UpsertSample do Visual Studio e instale o Pacote NuGet do Microsoft.CrmSdk.CoreAssemblies versão 8.0.0-preview ou posterior. Consulte Instalar pacotes NuGet para obter instruções.
Depois de instalar os pacotes NuGet, consulte Executar o exemplo para obter instruções sobre como executar o exemplo e o que esperar.
Neste tópico
O que este exemplo faz
Instalar pacotes NuGet
Executar o exemplo
O que este exemplo faz
O método Run da classe ProductUpsertSample chama o método ImportUpsertSampleSolution, que detecta primeiro se a solução gerenciada UpsertSample já está instalada. Caso não esteja, o arquivo UpsertSample_1_0_0_0_managed.zip será importado para instalar essa solução gerenciada.
Essa solução gerenciada contém uma entidade sample_product personalizada usada por este exemplo. A entidade tem uma chave alternativa sample_productcode que cria uma restrição exclusiva nos valores armazenados no atributo.
O método WaitForEntityAndKeysToBeActive é necessário porque as chaves alternativas exigidas por este exemplo podem não ficar prontas imediatamente após a instalação da solução UpsertSample. Este método sonda os metadados da entidade sample_product para atrasar a execução do resto do exemplo até que as chaves alternativas estejam prontas.
Na primeira vez que o método ProcessUpsert for chamado, ele processará dados no arquivo newsampleproduct.xml para representar novos produtos. O UpsertRequest é passado para o método Execute para criar 13 novos registros.
A propriedade UpsertResponse.RecordCreated retorna verdadeiro para indicar que novos registros foram criados.
Antes da conclusão do método ProcessUpsert, o programa perguntará se você deseja exibir os registros da entidade do produto de exemplo. Se você responder com 'y', o programa tentará abrir o Internet Explorer para uma exibição mostrando os registros recém-criados.
Na segunda vez que o método ProcessUpsert for chamado, ele processará dados no arquivo updatedsampleproduct.xml para representar atualizações para produtos anteriormente criados. A mensagem Upsert é usada para atualizar 6 registros. A propriedade UpsertResponse.RecordCreated retornará falso mostrando que registros foram atualizados.
Novamente, o método ProcessUpsert perguntará se você deseja exibir os registros no navegador. Se você já tiver a exibição aberta, poderá simplesmente atualizar a exibição para observar as alterações.
Por fim, DeleteUpsertSampleSolution solicitará que você exclua a solução gerenciada Exemplo de Upsert.
Se você escolher "y", a solução gerenciada será excluída, incluindo a entidade sample_product e todos os dados dessa entidade. Nada será adicionado à sua organização.
Se você escolher "n", poderá inspecionar os detalhes da solução, incluindo os dados criados pelo exemplo. Mas é preciso excluir manualmente a solução gerenciada para que sua organização retorne para o estado original.
Instalar pacotes NuGet
Use as etapas a seguir para instalar os assemblies necessários para este exemplo:
Baixe este exemplo e extraia os arquivos.
Navegue até a pasta C# e abra o arquivo UpsertSample.sln usando o Visual Studio.
No Visual Studio, clique com o botão da direito no projeto UpsertSample e clique em Gerenciar pacotes NuGet.
Para a versão de visualização, clique em Incluir Pré-lançamento em vez de Somente Estável nos critérios da pesquisa. Em seguida, procure "Microsoft Dynamics CRM 2016 SDK core assemblies". Não se esqueça de selecionar a versão mais recente ou posterior de 8.0.0-preview.
Clique em Instalar. Você precisará aceitar os termos de licença para concluir a instalação desse pacote.
Executar o exemplo
No Visual Studio, com a solução aberta e os pacotes NuGet necessários instalados, pressione F5.
Caso você não tenha executado antes um dos exemplos de código gerenciado do Microsoft Dynamics 365, será necessário inserir informações para executar o código; caso contrário, insira o número para um dos servidores do Dynamics 365 configurado anteriormente.
Solicitar
Descrição
Insira um nome de servidor do Dynamics 365 e uma porta [crm.dynamics.com]
Digite o nome do seu servidor do Microsoft Dynamics 365. O padrão para Microsoft Dynamics 365 (online) é crm.dynamics.com na América do Norte.
Exemplo:
myservername
myprefix.myservername:5500
crm5.dynamics.comNão inclua o nome da sua organização ou protocolo Internet (http ou https). Você receberá uma solicitação para isso mais tarde.
Este servidor é configurado para Secure Sockets Layer (https) (y/n) [n]
Digite y se a URL que você usa para acessar o Microsoft Dynamics 365 começa com https://. Caso contrário, digite n.
Esta organização foi provisionada no Microsoft Office 365 (y/n) [n]
Digite y se esta for uma organização provisionada pelo Microsoft Office 365. Caso contrário, digite n.
Insira domínio\nome de usuário
Digite sua conta da Microsoft.
Para Microsoft Dynamics 365, digite seu domínio de rede e o nome do usuário separados por uma barra invertida (\).Insira a senha
Digite sua senha. Os caracteres serão mostrados como "*" na janela. Sua senha é salva com segurança no Microsoft Credential Manager para reutilização posterior.
Especificar um número da organização (1-n) [1]
Na lista de organizações mostradas que você participa, digite o número correspondente. O padrão é 1, indicando a primeira organização na lista.
O exemplo executará as operações descritas em O que este exemplo faz e pode solicitar a você opções adicionais.
Quando o exemplo for concluída, pressione Enter para fechar a janela do console.
Confira Também
Usar Upsert para inserir ou atualizar um registro
Microsoft Dynamics 365
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais