Condividi tramite


Procedura dettagliata: Creare un elenco esterno in SharePoint usando i dati aziendali

Il servizio Business Data Connessione ivity (BDC) consente a SharePoint di visualizzare i dati aziendali da applicazioni server back-end, servizi Web e database.

Questa procedura dettagliata illustra come creare un modello per il servizio BDC che restituisce informazioni sui contatti in un database di esempio. Verrà quindi creato un elenco esterno in SharePoint usando questo modello.

In questa procedura dettagliata sono illustrati i task seguenti:

  • Creazione di un progetto.
  • Aggiunta di un'entità al modello.
  • Aggiunta di un metodo di ricerca.
  • Aggiunta di un metodo Finder specifico.
  • Test del progetto.

Prerequisiti

Per completare questa procedura dettagliata, è necessario disporre dei componenti seguenti:

  • Edizioni supportate di Windows e SharePoint.

  • Accesso al database di esempio AdventureWorks. Per altre informazioni su come installare il database AdventureWorks, vedere Database di esempio di SQL Server.

Creare un progetto contenente un modello BDC

  1. Nella barra dei menu in Visual Studio scegliere File>nuovo>progetto.

    Verrà visualizzata la finestra di dialogo Nuovo progetto .

  2. In Visual C# o Visual Basic espandere il nodo SharePoint e quindi scegliere l'elemento 2010.

  3. Nel riquadro Modelli scegliere Progetto SharePoint 2010, assegnare al progetto il nome AdventureWorksTest e quindi scegliere il pulsante OK.

    Verrà visualizzata la Personalizzazione guidata SharePoint. In questa procedura guidata è possibile specificare il sito che verrà usato per eseguire il debug del progetto e impostare il livello di attendibilità della soluzione.

  4. Scegliere il pulsante di opzione Distribuisci come soluzione farm per impostare il livello di attendibilità.

  5. Scegliere il pulsante Fine per accettare il sito di SharePoint locale predefinito.

  6. In Esplora soluzioni scegliere il nodo del progetto SharePoint.

  7. Nella barra dei menu scegliere Progetto>Aggiungi nuovo elemento.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento .

  8. Nel riquadro Modelli scegliere Business Data Connessione ivity Model (Farm Solution Only), denominare il progetto AdventureWorksContacts e quindi scegliere il pulsante Aggiungi.

Aggiungere classi di accesso ai dati al progetto

  1. Nella barra dei menu scegliere Strumenti> Connessione in Database.

    Verrà visualizzata la finestra di dialogo Aggiungi connessione.

  2. Aggiungere una connessione al database di esempio AdventureWorks di SQL Server.

    Per altre informazioni, vedere Aggiungere/modificare Connessione ion (Microsoft SQL Server).

  3. Scegliere il nodo di progetto in Esplora soluzioni.

  4. Nella barra dei menu scegliere Progetto>Aggiungi nuovo elemento.

  5. Nel riquadro Modelli installati scegliere il nodo Dati.

  6. Nel riquadro Modelli scegliere CLASSI LINQ to SQL.

  7. Nella casella Nome specificare AdventureWorks e quindi scegliere il pulsante Aggiungi.

    Verrà aggiunto al progetto un file con estensione dbml e verrà aperto Object Relational Designer (O/R Designer).

  8. Sulla barra dei menu scegliere Visualizza>Esplora server.

  9. In Esplora server espandere il nodo che rappresenta il database di esempio AdventureWorks e quindi espandere il nodo Tabelle .

  10. Aggiungere la tabella Contact (Person) nella finestra di progettazione O/R.

    Viene creata una classe di entità, che verrà visualizzata nell'area di progettazione. La classe di entità ha proprietà che eseguono il mapping alle colonne della tabella Contact (Person).

Rimuovere l'entità predefinita dal modello BDC

Il progetto Business Data Connessione ivity Model aggiunge un'entità predefinita denominata Entity1 al modello. Rimuovere questa entità. Successivamente, si aggiungerà una nuova entità. A partire da un modello vuoto si riduce il numero di passaggi necessari per completare la procedura dettagliata.

  1. In Esplora soluzioni espandere il nodo BdcModel1 e quindi aprire il file BdcModel1.bdcm.

  2. Il file del modello business data Connessione ivity viene aperto nella finestra di progettazione BDC.

  3. Nella finestra di progettazione aprire il menu di scelta rapida per Entity1 e quindi scegliere Elimina.

  4. In Esplora soluzioni aprire il menu di scelta rapida per Entity1.vb (in Visual Basic) o Entity1.cs (in C#) e quindi scegliere Elimina.

  5. Aprire il menu di scelta rapida per Entity1Service.vb (in Visual Basic) o Entity1Service.cs (in C#), quindi scegliere Elimina.

Aggiungere un'entità al modello

Aggiungere un'entità al modello. È possibile aggiungere entità dalla casella degli strumenti di Visual Studio alla finestra di progettazione BDC.

  1. Scegliere Visualizza>Casella degli strumenti sulla barra dei menu.

  2. Nella scheda BusinessData Connessione ivity della casella degli strumenti aggiungere un'entità nella finestra di progettazione BDC.

    La nuova entità viene visualizzata nella finestra di progettazione. Visual Studio aggiunge un file denominato EntityService.vb (in Visual Basic) o EntityService.cs (in C#) al progetto.

  3. Sulla barra dei menu scegliere Visualizza>finestra Proprietà.>

  4. Nella finestra Proprietà impostare il valore della proprietà Name su Contact.

  5. Nella finestra di progettazione aprire il menu di scelta rapida per l'entità, scegliere Aggiungi e quindi scegliere Identificatore.

    Nell'entità viene visualizzato un nuovo identificatore.

  6. Nella finestra Proprietà modificare il nome dell'identificatore in ContactID.

  7. Nell'elenco Nome tipo scegliere System.Int32.

Aggiungere un metodo finder specifico

Per abilitare il servizio BDC per visualizzare un contatto specifico, è necessario aggiungere un metodo Finder specifico. Il servizio BDC chiama il metodo Finder specifico quando un utente sceglie un elemento in un elenco e quindi sceglie il pulsante Visualizza elemento sulla barra multifunzione.

Aggiungere un metodo Finder specifico all'entità Contact usando la finestra Dettagli metodo BDC. Per restituire un'entità specifica, aggiungere codice al metodo .

  1. Nella finestra di progettazione BDC scegliere l'entità Contatto .

  2. Sulla barra dei menu scegliere Visualizza>altri dettagli del metodo BDC di Windows.>

    Verrà visualizzata la finestra Dettagli metodo di integrazione applicativa dei dati.

  3. Nell'elenco Aggiungi un metodo scegliere Crea metodo di ricerca specifico.

    Visual Studio aggiunge gli elementi seguenti al modello. Questi elementi vengono visualizzati nella finestra Dettagli metodo BDC.

    • Metodo denominato ReadItem.

    • Parametro di input per il metodo .

    • Parametro restituito per il metodo .

    • Descrittore di tipo per ogni parametro.

    • Istanza del metodo .

  4. Nella finestra Dettagli metodo BDC aprire l'elenco visualizzato per il descrittore tipo di contatto e quindi scegliere Modifica.

    BDC Explorer si apre e fornisce una visualizzazione gerarchica del modello.

  5. Nella finestra Proprietà aprire l'elenco accanto alla proprietà TypeName, scegliere la scheda Progetto corrente e quindi scegliere la proprietà Contact.

  6. In BDC Explorer aprire il menu di scelta rapida del contatto e quindi scegliere Aggiungi descrittore di tipo.

    Un nuovo descrittore di tipo denominato TypeDescriptor1 viene visualizzato in BDC Explorer.

  7. Nella finestra Proprietà impostare il valore della proprietà Name su ContactID.

  8. Aprire l'elenco accanto alla proprietà TypeName e quindi scegliere Int32.

  9. Aprire l'elenco accanto alla proprietà Identifier e quindi scegliere ContactID.

  10. Ripetere il passaggio 6 per creare un descrittore di tipo per ognuno dei campi seguenti.

    Nome Nome tipo
    FirstName System.String
    LastName System.String
    il numero System.String
    EmailAddress System.String
    EmailPromotion System.Int32
    NameStyle System.Boolean
    PasswordHash System.String
    PasswordSalt System.String
  11. Nella finestra di progettazione BDC aprire il metodo ReadItem nell'entità Contact.

    Il file di codice del servizio contatto viene aperto nell'editor del codice.

  12. ContactService Nella classe sostituire il ReadItem metodo con il codice seguente. Il codice esegue queste operazioni:

    • Recupera un record dalla tabella Contact del database AdventureWorks.

    • Restituisce un'entità Contact al servizio BDC.

    Nota

    Sostituire il valore del ServerName campo con il nome del server.

    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;
    }
    

Aggiungere un metodo di ricerca

Per abilitare il servizio BDC per visualizzare i contatti in un elenco, è necessario aggiungere un metodo Finder. Aggiungere un metodo Finder all'entità Contact usando la finestra Dettagli metodo BDC. Per restituire una raccolta di entità al servizio BDC, aggiungere codice al metodo .

  1. Nella finestra di progettazione BDC scegliere l'entità Contatto .

  2. Nella finestra Dettagli metodo BDC comprimere il nodo ReadItem.

  3. Nell'elenco Aggiungi un metodo nel metodo ReadList scegliere Crea metodo finder.

    Visual Studio aggiunge un metodo, un parametro restituito e un descrittore di tipo.

  4. Nella finestra di progettazione BDC aprire il metodo ReadList nell'entità Contact.

    Il file di codice per il servizio di Contact verrà aperto nell'editor di codice.

  5. ContactService Nella classe sostituire il ReadList metodo con il codice seguente. Il codice esegue queste operazioni:

    • Recupera i dati dalla tabella Contacts del database AdventureWorks.

    • Restituisce un elenco di entità Contact al servizio BDC.

      Nota

      Sostituire il valore del ServerName campo con il nome del server.

      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;
      
      }
      

Testare il progetto

Quando si esegue il progetto, il sito di SharePoint viene aperto e Visual Studio aggiunge il modello al servizio Business Data Connessione ivity. Creare un elenco esterno in SharePoint che fa riferimento all'entità Contact. I dati per i contatti nel database AdventureWorks vengono visualizzati nell'elenco.

Nota

Potrebbe essere necessario modificare le impostazioni di sicurezza in SharePoint prima di poter eseguire il debug della soluzione. Per altre informazioni, vedere Progettare un modello di integrazione applicativa dei dati.

  1. Premere F5.

    Verrà aperto il sito di SharePoint.

  2. Scegliere il comando Altre opzioni dal menu Azioni sito.

  3. Nella pagina Crea scegliere il modello Elenco esterno e quindi scegliere il pulsante Crea .

  4. Denominare l'elenco personalizzato Contatti.

  5. Scegliere il pulsante Sfoglia accanto al campo Tipo di contenuto esterno.

  6. Nella finestra di dialogo Selezione tipo di contenuto esterno scegliere l'elemento AdventureWorksContacts.BdcModel1.Contact e quindi scegliere il pulsante Crea.

    In SharePoint viene creato un elenco esterno con i contatti del database di esempio AdventureWorks.

  7. Per testare il metodo Finder specifico, scegliere un contatto nell'elenco.

  8. Sulla barra multifunzione scegliere la scheda Elementi e quindi scegliere il comando Visualizza elemento .

    I dettagli del contatto selezionato verranno visualizzati in un form.