Condividi tramite


Procedura dettagliata: creazione di un elenco esterno in SharePoint tramite il servizio di integrazione applicativa dei dati

Il servizio di integrazione applicativa dei dati consente a SharePoint di visualizzare dati business da applicazioni server back-end, servizi Web e database.

In questa procedura dettagliata viene illustrato come creare un modello per il servizio di integrazione applicativa dei dati che restituisce informazioni sui contatti in un database di esempio. Verrà quindi creato un elenco esterno in SharePoint tramite questo modello.

In questa procedura dettagliata vengono illustrate le seguenti attività:

  • Creazione di un progetto.

  • Aggiunta di un'entità al modello.

  • Aggiunta di un metodo Finder.

  • Aggiunta di un metodo Finder specifico.

  • Test del progetto.

Prerequisiti

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

  • Edizioni supportate di Microsoft Windows e SharePoint. Per ulteriori informazioni, vedere Requisiti per lo sviluppo di soluzioni SharePoint.

  • Visual Studio 2010 Professional o un'edizione di Visual Studio Application Lifecycle Management (ALM).

  • Accesso al database di esempio AdventureWorks. Per ulteriori informazioni sull'installazione del database AdventureWorks, vedere Database di SQL Server di esempio (la pagina potrebbe essere in inglese).

Creazione di un progetto

Creare innanzitutto un progetto contenente un modello di integrazione applicativa dei dati.

Per creare un progetto

  1. Avviare Visual Studio 2010.

  2. Aprire la finestra di dialogo Nuovo progetto, espandere il nodo SharePoint sotto il linguaggio che si desidera utilizzare, quindi fare clic su 2010.

  3. Nel riquadro Modelli selezionare Modello di integrazione applicativa dei dati. Denominare il progetto AdventureWorksContacts, quindi scegliere OK.

    Verrà visualizzata la Personalizzazione guidata SharePoint. Questa procedura guidata consente di selezionare il sito che verrà utilizzato per eseguire il debug del progetto e il livello di attendibilità della soluzione.

  4. Fare clic su Fine per accettare il sito di SharePoint locale predefinito e il livello di attendibilità predefinito della soluzione.

Aggiunta al progetto di classi di accesso ai dati

Per aggiungere al progetto classi di accesso ai dati

  1. Scegliere Connetti al database dal menu Strumenti.

    Verrà visualizzata la finestra di dialogo Aggiungi connessione.

  2. Aggiungere una connessione al database di esempio AdventureWorks di SQL Server. Per ulteriori informazioni, vedere Aggiungi/Modifica connessione (Microsoft SQL Server).

  3. In Esplora soluzioni fare clic sul nodo del progetto.

  4. Scegliere Aggiungi nuovo elemento dal menu Progetto.

  5. Nel riquadro Modelli installati selezionare il nodo Dati.

  6. Nel riquadro Modelli selezionare Classi LINQ to SQL.

  7. Nella casella Nome digitare AdventureWorks, quindi scegliere Aggiungi.

    Verrà aggiunto al progetto un file con estensione dbml e verrà aperto Progettazione relazionale oggetti.

  8. Scegliere Esplora server dal menu Visualizza.

  9. In Esplora server espandere il nodo che rappresenta il database di esempio AdventureWorks, quindi espandere il nodo Tables.

  10. Trascinare la tabella Contact (Person) in Progettazione relazionale oggetti.

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

Rimozione dell'entità predefinita dal modello di integrazione applicativa dei dati

Il progetto Modello di integrazione applicativa dei dati aggiunge al modello un'entità predefinita denominata Entity1. Rimuovere questa entità. In un secondo momento, si aggiungerà una nuova entità. L'avvio con un modello vuoto riduce il numero di passaggi richiesto per completare la procedura dettagliata.

Per rimuovere l'entità predefinita dal modello

  1. In Esplora soluzioni espandere il nodo BdcModel1, quindi fare doppio clic sul file BdcModel1.bdcm.

  2. Il file del modello di integrazione applicativa dei dati verrà aperto nella finestra di progettazione dell'integrazione applicativa dei dati.

  3. Nella finestra di progettazione fare clic con il pulsante destro del mouse su Entity1, quindi scegliere Elimina.

  4. In Esplora soluzioni fare clic con il pulsante destro del mouse su Entity1.vb (in Visual Basic) o su Entity1.cs (in C#), quindi scegliere Elimina.

  5. Fare clic con il pulsante destro del mouse su Entity1Service.vb (in Visual Basic) o su Entity1Service.cs (in C#), quindi scegliere Elimina.

Aggiunta di un'entità al modello

Aggiungere un'entità al modello. È possibile trascinare entità dalla Casella degli strumenti di Visual Studio nella finestra di progettazione dell'integrazione applicativa dei dati.

Per aggiungere un'entità al modello

  1. Scegliere Casella degli strumenti dal menu Visualizza.

  2. Dalla scheda BusinessDataConnectivity della Casella degli strumenti trascinare un elemento da Entità nella finestra di progettazione dell'integrazione applicativa dei dati.

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

  3. Scegliere Finestra Proprietà dal menu Visualizza.

  4. Nella finestra Proprietà impostare Nome su Contact.

  5. Nella finestra di progettazione fare clic con il pulsante destro del mouse sull'entità, scegliere Aggiungi, quindi Identificatore.

    Il nuovo identificatore verrà visualizzato nell'entità.

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

  7. Nell'elenco a discesa Nome tipo selezionare System.Int32.

Aggiunta di un metodo Finder specifico

Per consentire al servizio di integrazione applicativa dei dati di visualizzare un contatto specifico, è necessario aggiungere un metodo Finder specifico. Il servizio di integrazione applicativa dei dati chiama il metodo Finder specifico quando un utente seleziona un elemento in un elenco e quindi fa clic sul pulsanteper la visualizzazione dell'elemento sulla barra multifunzione.

Aggiungere un metodo Finder specifico all'entità Contact tramite la finestra Dettagli metodo di integrazione applicativa dei dati. Per restituire un'entità specifica, aggiungere codice al metodo.

Per aggiungere un metodo Finder specifico

  1. Nella finestra di progettazione dell'integrazione applicativa dei dati selezionare l'entità Contact.

  2. Scegliere Altre finestre dal menu Visualizza, quindi Dettagli metodo di integrazione applicativa dei dati.

  3. Nella finestra Dettagli metodo di integrazione applicativa dei dati selezionare Crea metodo Finder specifico dall'elenco a discesa Aggiungi metodo.

    In Visual Studio vengono aggiunti gli elementi seguenti al modello. Questi elementi vengono visualizzati nella finestra Dettagli metodo di integrazione applicativa dei dati.

    • Metodo denominato Readitem.

    • Parametro di input per il metodo.

    • Parametro restituito per il metodo.

    • Descrittore di tipo per ogni parametro.

    • Istanza di metodo per il metodo.

  4. Nella finestra Dettagli metodo di integrazione applicativa dei dati fare clic sull'elenco a discesa visualizzato per il descrittore di tipo Contact, quindi scegliere Modifica.

    Verrà aperta la finestra Esplora integrazione applicativa dei dati. In Esplora integrazione applicativa dei dati è presente una visualizzazione gerarchica del modello.

  5. Nel finestra Proprietà fare clic sull'elenco a discesa visualizzato accanto alla proprietà TypeName, fare clic sulla scheda Progetto corrente, quindi selezionare Contatto.

  6. In Esplora integrazione applicativa dei dati fare clic con il pulsante destro del mouse su Contact, quindi scegliere Aggiungi descrittore tipo.

    Un nuovo descrittore di tipo denominato TypeDescriptor1 verrà visualizzato in Esplora integrazione applicativa dei dati.

  7. Nella finestra Proprietà impostare la proprietà Nome su ContactID.

  8. Fare clic sull'elenco a discesa accanto alla proprietà TypeName, quindi selezionare Int32.

  9. Fare clic sull'elenco a discesa accanto alla proprietà Identificatore, quindi selezionare ContactID.

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

    Nome

    Nome tipo

    FirstName

    System.String

    LastName

    System.String

    Phone

    System.String

    EmailAddress

    System.String

    EmailPromotion

    System.Int32

    NameStyle

    System.Boolean

    PasswordHash

    System.String

    PasswordSalt

    System.String

  11. Nella finestra di progettazione dell'integrazione applicativa dei dati fare doppio clic sul metodo ReadItem nell'entità Contact.

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

  12. Nella classe ContactService sostituire il metodo ReadItem con il codice riportato di seguito. Mediante il codice vengono effettuate le seguenti attività:

    • Recupero di un record dalla tabella Contact del database AdventureWorks.

    • Restituzione di un'entità Contact al servizio di integrazione applicativa dei dati.

    Nota

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

    Public Shared Function ReadItem(ByVal contactID As Integer) As Contact
        Const ServerName As String = "MySQLServerName"
        Dim dataContext As AdventureWorksDataContext = _
            New AdventureWorksDataContext("Data Source=" & ServerName & _
                ";Initial Catalog=AdventureWorks;Integrated Security=True")
    
        Dim Contact As Contact = _
            (From TempContacts In dataContext.Contacts.AsEnumerable().Take(20) _
            Where TempContacts.ContactID = contactID _
            Select TempContacts).[Single]()
        Return Contact
    End Function
    
    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;
    }
    

Aggiunta di un metodo Finder

Per consentire al servizio di integrazione applicativa dei dati di visualizzare i contatti in un elenco, è necessario aggiungere un metodo Finder. Aggiungere un metodo Finder all'entità Contact tramite la finestra Dettagli metodo di integrazione applicativa dei dati. Per restituire un insieme di entità al servizio di integrazione applicativa dei dati, aggiungere codice al metodo.

Per aggiungere un metodo Finder

  1. Nella finestra di progettazione dell'integrazione applicativa dei dati selezionare l'entità Contact.

  2. Nella finestra Dettagli metodo di integrazione applicativa dei dati comprimere il nodo ReadList.

  3. Dall'elenco a discesa Aggiungi metodo, visualizzato sotto il metodo ReadList, selezionare Crea metodo Finder.

    In Visual Studio verranno aggiunti automaticamente un metodo, un parametro restituito e un descrittore di tipo.

  4. Nella finestra di progettazione dell'integrazione applicativa dei dati fare doppio clic sul metodo ReadList nell'entità Contact.

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

  5. Nella classe ContactService sostituire il metodo ReadList con il codice riportato di seguito. Mediante il codice vengono effettuate le seguenti attività:

    • Recupero dei dati dalla tabella Contacts del database AdventureWorks.

    • Restituzione di un elenco di entità Contact al servizio di integrazione applicativa dei dati.

    Nota

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

    Public Shared Function ReadList() As IEnumerable(Of Contact)
        Const ServerName As String = "MySQLServerName"
        Dim dataContext As AdventureWorksDataContext = _
            New AdventureWorksDataContext("Data Source=" & ServerName & _
                ";Initial Catalog=AdventureWorks;Integrated Security=True")
    
        Dim Contacts As IEnumerable(Of Contact) = _
            From TempContacts In dataContext.Contacts.Take(20) _
                  Select TempContacts
        Return Contacts
    End Function
    
    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;
    
    }
    

Verifica del progetto

Quando si esegue il progetto, viene aperto il sito di SharePoint e in Visual Studio viene aggiunto il modello al servizio di integrazione applicativa dei dati. Creare un elenco esterno in SharePoint che faccia riferimento all'entità Contact. I dati per i contatti nel database AdventureWorks vengono visualizzati nell'elenco.

Nota

Può essere necessario modificare le impostazioni di sicurezza in SharePoint prima di eseguire il debug della soluzione. Per ulteriori informazioni, vedere Progettazione di un modello di integrazione applicativa dei dati.

Per verificare il progetto

  1. Premere F5.

    Verrà aperto il sito di SharePoint.

  2. Scegliere Altre opzioni dal menu Azioni sito.

  3. Nella pagina Crea fare clic su Elenco esterno, quindi su Crea.

  4. Assegnare il nome Contatti all'elenco personalizzato.

  5. Fare clic sul pulsante sfoglia accanto al campo Tipo di contenuto esterno.

  6. Nella finestra di dialogo Selezione tipo di contenuto esterno selezionare AdventureWorksContacts.BdcModel1.Contact, quindi fare clic su Crea.

  7. Fare clic su Crea per creare l'elenco dei contatti.

    In SharePoint viene creato un elenco esterno. I contatti del database di esempio AdventureWorks vengono visualizzati in tale elenco.

  8. Per testare il metodo Finder specifico, fare clic su un contatto nell'elenco.

  9. Sulla barra multifunzione fare clic sulla scheda Elementi.

  10. Nella scheda Elementi fare clic sul pulsante perla visualizzazione dell'elemento.

    I dettagli del contatto selezionato verranno visualizzati in un form.

Passaggi successivi

Per ulteriori informazioni sulla progettazione di modelli per il servizio di integrazione applicativa dei dati in SharePoint, vedere i seguenti argomenti:

Vedere anche

Concetti

Panoramica degli strumenti di progettazione del modello di integrazione applicativa dei dati

Altre risorse

Progettazione di un modello di integrazione applicativa dei dati

Creazione di un modello di integrazione applicativa dei dati

Integrazione di dati business in SharePoint