Compartilhar via


Passo a passo: criar uma lista externa no SharePoint usando dados corporativos

O serviço BDC (Conectividade de Dados Corporativos) permite que o SharePoint exiba dados corporativos de aplicativos de servidor de back-end, serviços Web e bancos de dados.

Este passo a passo mostra como criar um modelo para o serviço BDC que retorna informações sobre contatos em um banco de dados de exemplo. Em seguida, você criará uma lista externa no SharePoint usando esse modelo.

Este passo a passo ilustra as seguintes tarefas:

  • Criação de um projeto.
  • Adicionar uma entidade ao modelo.
  • Adicionar um método Finder.
  • Adicionar um método Specific Finder.
  • Testar o projeto.

Pré-requisitos

Você precisará dos seguintes componentes para concluir este passo a passo:

  • Edições com suporte do Windows e do SharePoint.

  • Acesso ao banco de dados de exemplo AdventureWorks. Para obter mais informações sobre como instalar o banco de dados AdventureWorks, consulte Bancos de dados de exemplo do SQL Server.

Criar um projeto que contém um modelo BDC

  1. Na barra de menus no Visual Studio, escolha Arquivo>Novo>Projeto.

    A caixa de diálogo Novo Projeto será aberta.

  2. No Visual C# ou no Visual Basic, expanda o nó SharePoint e escolha o item 2010.

  3. No painel Modelos, escolha Projeto do SharePoint 2010, dê ao projeto o nome AdventureWorksTest e escolha o botão OK.

    O Assistente de Personalização do SharePoint é exibido. Neste assistente, você pode especificar o site que usará para depurar o projeto e definir o nível de confiança da solução.

  4. Escolha o botão de opção Implantar como uma solução de farm para definir o nível de confiança.

  5. Clique em Concluir para aceitar o site local padrão do SharePoint.

  6. No Gerenciador de Soluções, escolha o nó de projeto do SharePoint.

  7. Na barra de menus, escolha Projeto>Adicionar Novo Item.

    A caixa de diálogo Adicionar Novo Item é aberta.

  8. No painel Modelos, escolha Modelo de Conectividade de Dados Corporativos (Somente Solução de Farm), nomeie o projeto AdventureWorksContacts e escolha o botão Adicionar.

Adicionar classes de acesso a dados ao projeto

  1. Na barra de menus, escolha Ferramentas>Conectar ao Banco de Dados.

    A caixa de diálogo Adicionar Conexão será aberta.

  2. Adicione uma conexão ao banco de dados de exemplo do SQL Server AdventureWorks.

    Para obter mais informações, consulte Adicionar/modificar conexão (Microsoft SQL Server).

  3. No Gerenciador de Soluções, escolha o nó do projeto.

  4. Na barra de menus, escolha Projeto>Adicionar Novo Item.

  5. No painel Modelos Instalados, escolha o nó Dados.

  6. No painel Modelos, escolha Classes de LINQ to SQL.

  7. Na caixa Nome, especifique AdventureWorks e selecione o botão Adicionar.

    Um arquivo .dbml é adicionado ao projeto e o Designer Relacional de Objetos é aberto.

  8. Na barra de menus, escolha Exibir>Gerenciador de Servidores.

  9. No Gerenciador de Servidores, expanda o nó que representa o banco de dados de exemplo AdventureWorks e expanda o nó Tabelas.

  10. Adicione a tabela Contato (Pessoa) ao Designer Relacional de Objetos.

    Uma classe de entidade é criada e aparece na superfície de design. A classe de entidade tem propriedades que são mapeadas para as colunas na tabela Contato (Pessoa).

Remover a entidade padrão do modelo BDC

O projeto Modelo de Conectividade de Dados Corporativos adiciona uma entidade padrão chamada Entity1 ao modelo. Remova essa entidade. Posteriormente, você adicionará uma nova entidade. Começar com um modelo vazio reduz o número de etapas necessárias para concluir o passo a passo.

  1. No Gerenciador de Soluções, expanda o nó BdcModel1 e abra o arquivo BdcModel1.bdcm.

  2. O arquivo de modelo de Conectividade de Dados Corporativos é aberto no designer BDC.

  3. No designer de tela, abra o menu de atalho de Entity1 e escolha Excluir.

  4. No Gerenciador de Soluções, abra o menu de atalho de Entity1.vb (no Visual Basic) ou Entity1.cs (em C#) e escolha Excluir.

  5. Abra o menu de atalho de Entity1Service.vb (no Visual Basic) ou Entity1Service.cs (em C#) e escolha Excluir.

Adicionar uma entidade ao modelo

Adicione uma entidade ao modelo. Você pode adicionar entidades da Caixa de Ferramentas do Visual Studio ao designer BDC.

  1. Na barra de menus, escolha Exibir>Caixa de Ferramentas.

  2. Na guia BusinessDataConnectivity da Caixa de Ferramentas, adicione uma Entidade ao designer BDC.

    A nova entidade aparece no designer. O Visual Studio adiciona um arquivo chamado EntityService.vb (no Visual Basic) ou EntityService.cs (em C#) ao projeto.

  3. Na barra de menus, escolha Exibir>Propriedades>Janela.

  4. Na janela Propriedades, defina o valor da propriedade Nome como Contato.

  5. No designer, abra o menu de atalho da entidade, escolha Adicionar e escolha Identificador.

    Um novo identificador aparece na entidade.

  6. Na janela Propriedades, altere o nome do identificador para ContactID.

  7. Na lista Nome do Tipo, escolha System.Int32.

Adicionar um método Specific Finder

Para habilitar o serviço BDC a exibir um contato específico, adicione um método Specific Finder. O serviço BDC chama o método Specific Finder quando um usuário escolhe um item em uma lista e, em seguida, escolhe o botão Exibir Item na Faixa de Opções.

Adicione um método Specific Finder à entidade Contato usando a janela Detalhes do Método BDC. Para retornar uma entidade específica, adicione código ao método.

  1. No designer BDC, escolha a entidade Contato.

  2. Na barra de menus, escolha Exibir>Outras Janelas>Detalhes do Método BDC.

    A janela Detalhes do Método BDC é aberta.

  3. Na lista Adicionar um Método, escolha Criar Método Specific Finder.

    O Visual Studio adiciona os elementos a seguir ao modelo. Esses elementos aparecem na janela Detalhes do Método BDC.

    • Um método chamado ReadItem.

    • Um parâmetro de entrada para o método.

    • Um parâmetro de retorno para o método.

    • O descritor de tipo para cada parâmetro.

    • Uma instância de método para o método.

  4. Na janela Detalhes do Método BDC, abra a lista que aparece para o descritor de tipo Contato e escolha Editar.

    O BDC Explorer é aberto e fornece uma exibição hierárquica do modelo.

  5. Na janela Propriedades, abra a lista ao lado da propriedade TypeName, escolha a guia Projeto Atual e escolha a propriedade Contato.

  6. No BDC Explorer, abra o menu de atalho do Contato e escolha Adicionar Descritor de Tipo.

    Um novo descritor de tipo chamado TypeDescriptor1 aparece no BDC Explorer.

  7. Na janela Propriedades, defina o valor da propriedade Nome como ContactID.

  8. Abra a lista ao lado da propriedade TypeName e escolha Int32.

  9. Abra a lista ao lado da propriedade Identificador e escolha ContactID.

  10. Repita a etapa 6 para criar um descritor de tipo para cada um dos campos a seguir.

    Nome Nome do Tipo
    Nome System.String
    LastName System.String
    Telefone System.String
    EmailAddress System.String
    EmailPromotion System.Int32
    NameStyle System.Boolean
    PasswordHash System.String
    PasswordSalt System.String
  11. No designer BDC, na entidade Contato, abra o método ReadItem.

    O arquivo de código do serviço de Contato é aberto no Editor de Códigos.

  12. Na classe ContactService, substitua o método ReadItem pelo código a seguir. Esse código executa as seguintes tarefas:

    • Recupera um registro da tabela Contato do banco de dados AdventureWorks.

    • Retorna uma entidade Contato para o serviço BDC.

    Observação

    Substitua o valor do campo ServerName pelo nome do servidor.

    public static Contact ReadItem(int contactID)
    {
        const string ServerName = "MySQLServerName";
        AdventureWorksDataContext dataContext = new AdventureWorksDataContext
              ("Data Source=" + ServerName + ";" +
               "Initial Catalog=AdventureWorks;Integrated Security=True");
    
        Contact Contact =
            (from contacts in dataContext.Contacts.AsEnumerable().Take(20)
             where contacts.ContactID == contactID
             select contacts).Single();
        return Contact;
    }
    

Adicionar um método Finder

Para habilitar o serviço BDC a exibir os contatos em uma lista, você precisa adicionar um método Finder. Adicione um método Finder à entidade Contato usando a janela Detalhes do Método BDC. Para retornar uma coleção de entidades ao serviço BDC, adicione código ao método.

  1. No designer BDC, escolha a entidade Contato.

  2. Na janela Detalhes do Método BDC, recolha o nó ReadItem.

  3. Na lista Adicionar um Método sob o método ReadList, escolha Criar Método Finder.

    O Visual Studio adiciona um método, um parâmetro de retorno e um descritor de tipo.

  4. No designer BDC, na entidade Contato, abra o método ReadList.

    O arquivo de código do serviço de Contato é aberto no Editor de Códigos.

  5. Na classe ContactService, substitua o método ReadList pelo código a seguir. Esse código executa as seguintes tarefas:

    • Recupera dados da tabela Contatos do banco de dados AdventureWorks.

    • Retorna uma lista de entidades de Contato para o serviço BDC.

      Observação

      Substitua o valor do campo ServerName pelo nome do servidor.

      public static IEnumerable<Contact> ReadList()
      {
          const string ServerName = "MySQLServerName";
          AdventureWorksDataContext dataContext = new AdventureWorksDataContext
                ("Data Source=" + ServerName + ";" +
                 "Initial Catalog=AdventureWorks;Integrated Security=True");
      
          IEnumerable<Contact> Contacts =
              from contacts in dataContext.Contacts.Take(20)
              select contacts;
          return Contacts;
      
      }
      

Testar o projeto

Quando você executa o projeto, o site do SharePoint é aberto e o Visual Studio adiciona seu modelo ao serviço de Conectividade de Dados Corporativos. Crie uma lista externa no SharePoint que faça referência à entidade Contato. Os dados de contatos no banco de dados AdventureWorks aparecem na lista.

Observação

Talvez seja necessário modificar as configurações de segurança no SharePoint antes de depurar a solução. Para obter mais informações, confira Criar um modelo de conectividade de dados corporativos.

  1. Pressione a tecla F5.

    O site do SharePoint é aberto.

  2. No menu Ações do Site, escolha o comando Mais Opções.

  3. Na página Criar, escolha o modelo Lista Externa e, em seguida, o botão Criar.

  4. Nomeie a lista personalizada Contatos.

  5. Escolha o botão Procurar ao lado do campo Tipo de Conteúdo Externo.

  6. Na caixa de diálogo Seletor de Tipo de Conteúdo Externo, escolha o item AdventureWorksContacts.BdcModel1.Contact e escolha o botão Criar.

    O SharePoint cria uma lista externa que contém contatos do banco de dados de exemplo AdventureWorks.

  7. Para testar o método Specific Finder, escolha um contato na lista.

  8. Na Faixa de Opções, escolha a guia Itens e o comando Exibir Item.

    Os detalhes do contato escolhido aparecem em um formulário.