Partager via


Procédure pas à pas : création d'une liste externe dans SharePoint à l'aide de données métiers

Le service de connectivité de données métiers (BDC, Business Data Connectivity) permet à SharePoint d'afficher des données métiers à partir d'applications de serveur principal, de services Web et de bases de données.

Cette procédure pas à pas vous indique comment créer un modèle de service BDC qui retourne des informations sur les contacts dans un exemple de base de données. Elle vous indique ensuite comment créer une liste externe dans SharePoint à l'aide de ce modèle.

Cette procédure pas à pas décrit les tâches suivantes :

  • Création d'un projet

  • Ajout d'une entité au modèle

  • Ajout d'une méthode de recherche

  • Ajout d'une méthode de recherche spécifique

  • Test du projet.

Composants requis

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :

Création d'un projet

Commencez par créer un projet qui contient un modèle BDC.

Pour créer un projet

  1. Démarrez Visual Studio 2010.

  2. Ouvrez la boîte de dialogue Nouveau projet, développez le nœud SharePoint sous le langage que vous souhaitez utiliser, puis cliquez sur 2010.

  3. Dans le volet Modèles, sélectionnez Modèle de connectivité de données métiers. Nommez le projet AdventureWorksContacts, puis cliquez sur OK.

    L'Assistant Personnalisation de SharePoint s'affiche. Cet Assistant vous permet de sélectionner le site à utiliser pour déboguer le projet et le niveau de confiance de la solution.

  4. Cliquez sur Terminer pour accepter le site SharePoint local par défaut, ainsi que le niveau de confiance par défaut de la solution.

Ajout de classes d'accès aux données au projet

Pour ajouter des classes d'accès aux données au projet

  1. Dans le menu Outils, cliquez sur Se connecter à la base de données.

    La boîte de dialogue Ajouter une connexion s'ouvre.

  2. Ajoutez une connexion à l'exemple de base de données SQL Server AdventureWorks. Pour plus d'informations, consultez Ajouter une/Modifier la connexion (Microsoft SQL Server).

  3. Dans l'Explorateur de solutions, cliquez sur le nœud du projet.

  4. Dans le menu Projet, cliquez sur Ajouter un nouvel élément.

  5. Dans le volet Modèles installés, sélectionnez le nœud Données.

  6. Dans le volet Modèles, sélectionnez Classes LINQ to SQL.

  7. Dans la zone Nom, tapez AdventureWorks, puis cliquez sur Ajouter.

    Un fichier .dbml est ajouté au projet et le Concepteur Objet/Relationnel (Concepteur O/R) s'ouvre.

  8. Dans le menu Affichage, cliquez sur Explorateur de serveurs.

  9. Dans l'Explorateur de serveurs, développez le nœud qui représente l'exemple de base de données AdventureWorks, puis développez le nœud Tables.

  10. Faites glisser la table Contact (Personne) sur le Concepteur O/R.

    Une classe d'entité est créée et apparaît dans l'aire de conception. La classe d'entité possède des propriétés qui correspondent aux colonnes dans la table Contact (Personne).

Suppression de l'entité par défaut du modèle BDC

Le projet Modèle de connectivité de données métiers ajoute une entité par défaut nommée Entity1 au modèle. Supprimez cette entité. Vous ajouterez une nouvelle entité par la suite. Lorsque vous démarrez avec un modèle vide, le nombre d'étapes à suivre pour exécuter la procédure pas à pas diminue.

Pour supprimer l'entité par défaut du modèle

  1. Dans l'Explorateur de solutions, développez le nœud BdcModel1, puis double-cliquez sur le fichier BdcModel1.bdcm.

  2. Le fichier de modèle de connectivité de donnés métiers s'ouvre dans le concepteur BDC.

  3. Dans le concepteur, cliquez avec le bouton droit sur Entity1, puis cliquez sur Supprimer.

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Entity1.vb (en Visual Basic) ou Entity1.cs (en C#), puis cliquez sur Supprimer.

  5. Cliquez avec le bouton droit sur Entity1Service.vb (en Visual Basic) ou Entity1Service.cs (en C#), puis cliquez sur Supprimer.

Ajout d'une entité au modèle

Pour ajouter une entité au modèle, vous pouvez faire glisser des entités de la Boîte à outils de Visual Studio sur le concepteur BDC.

Pour ajouter une entité au modèle

  1. Dans le menu Affichage, cliquez sur Boîte à outils.

  2. À partir de l'onglet BusinessDataConnectivity de la Boîte à outils, faites glisser une Entité sur le concepteur BDC.

    La nouvelle entité s'affiche dans le concepteur. Visual Studio ajoute un fichier au projet nommé EntityService.vb (en Visual Basic) ou EntityService.cs (en C#).

  3. Dans le menu Affichage, cliquez sur Fenêtre Propriétés.

  4. Dans la fenêtre Propriétés, affectez Contact à Nom.

  5. Dans le concepteur, cliquez avec le bouton droit sur l'entité, cliquez sur Ajouter, puis sur Identificateur.

    Un nouvel identificateur s'affiche sur l'entité.

  6. Dans la fenêtre Propriétés, renommez l'identificateur en ContactID.

  7. Dans la liste déroulante Nom de type, sélectionnez System.Int32.

Ajout d'une méthode de recherche spécifique

Pour que le service BDC puisse afficher un contact spécifique, vous devez ajouter une méthode de recherche spécifique. Le service BDC appelle la méthode de recherche spécifique lorsqu'un utilisateur sélectionne un élément dans une liste et clique ensuite sur le bouton Afficher l'élément dans le ruban.

Vous pouvez ajouter une méthode de recherche spécifique à l'entité Contact à partir de la fenêtre Détails de méthode BDC. Pour retourner une entité spécifique, ajoutez du code à la méthode.

Pour ajouter une méthode de recherche spécifique

  1. Dans le concepteur BDC, sélectionnez l'entité Contact.

  2. Dans le menu Affichage, cliquez sur Autres fenêtres, puis sur Détails de méthode BDC.

  3. Dans la fenêtre Détails de méthode BDC, dans la liste déroulante Ajouter une méthode, sélectionnez Créer une méthode de recherche spécifique.

    Visual Studio ajoute les éléments suivants au modèle. Ces éléments s'affichent dans la fenêtre Détails de méthode BDC :

    • Méthode nommée ReadItem

    • Paramètre d'entrée pour la méthode

    • Paramètre de retour pour la méthode

    • Descripteur de type pour chaque paramètre

    • Instance de méthode pour la méthode

  4. Dans la fenêtre Détails de méthode BDC, cliquez sur la liste déroulante correspondant au descripteur de type Contact, puis sur Modifier.

    L'Explorateur BDC s'ouvre. L'Explorateur BDC propose une vue hiérarchique du modèle.

  5. Dans la fenêtre Propriétés, cliquez sur la liste déroulante qui s'affiche en regard de la propriété TypeName, cliquez sur l'onglet Projet actif, puis sélectionnez Contact.

  6. Dans l'Explorateur BDC, cliquez avec le bouton droit sur Contact, puis cliquez sur Ajouter un descripteur de type.

    Un nouveau descripteur de type nommé TypeDescriptor1 s'affiche dans l'Explorateur BDC.

  7. Dans la fenêtre Propriétés, affectez à la propriété Name la valeur ContactID.

  8. Cliquez sur la liste déroulante en regard de la propriété TypeName, puis sélectionnez Int32.

  9. Cliquez sur la liste déroulante en regard de la propriété Identificateur, puis sélectionnez ContactID.

  10. Répétez l'étape 6 pour créer un descripteur de type pour chacun des champs suivants.

    Nom

    Nom de type

    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. Dans le concepteur BDC, sur l'entité Contact, double-cliquez sur la méthode ReadItem.

    Le fichier de code de service Contact s'ouvre dans l'éditeur de code.

  12. Dans la classe ContactService, remplacez la méthode ReadItem par le code suivant. Ce code exécute les tâches suivantes :

    • Il récupère un enregistrement à partir de la table Contact de la base de données AdventureWorks.

    • Il retourne une entité Contact au service BDC.

    Notes

    Remplacez la valeur du champ ServerName par le nom de votre serveur.

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

Ajout d'une méthode de recherche

Pour que le service BDC puisse afficher les contacts dans une liste, vous devez ajouter une méthode de recherche. Ajoutez une méthode de recherche à l'entité Contact à partir de la fenêtre Détails de méthode BDC. Pour retourner une collection d'entités au service BDC, ajoutez du code à la méthode.

Pour ajouter une méthode de recherche

  1. Dans le concepteur BDC, sélectionnez l'entité Contact.

  2. Dans la fenêtre Détails de méthode BDC, réduisez le nœud ReadList.

  3. Dans la liste déroulante Ajouter une méthode qui s'affiche au-dessous de la méthode ReadList, sélectionnez Créer une méthode de recherche.

    Visual Studio ajoute une méthode, un paramètre de retour et un descripteur de type.

  4. Dans le concepteur BDC, sur l'entité Contact, double-cliquez sur la méthode ReadList.

    Le fichier de code de service Contact s'ouvre dans l'éditeur de code.

  5. Dans la classe ContactService, remplacez la méthode ReadList par le code suivant. Ce code exécute les tâches suivantes :

    • Il récupère des données à partir de la table Contacts de la base de données AdventureWorks.

    • Il retourne une liste d'entités Contact au service BDC.

    Notes

    Remplacez la valeur du champ ServerName par le nom de votre serveur.

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

Test du projet

Lorsque vous exécutez le projet, le site SharePoint s'ouvre et Visual Studio ajoute votre modèle au service de connectivité de données métiers. Vous pouvez créer dans SharePoint une liste externe qui référence l'entité Contact. Les données des contacts figurant dans la base de données AdventureWorks s'affichent dans la liste.

Notes

Vous devrez peut-être modifier vos paramètres de sécurité dans SharePoint avant de pouvoir déboguer votre solution. Pour plus d'informations, consultez Conception d'un modèle de connectivité de données métiers.

Pour tester le projet

  1. Appuyez sur F5.

    Le site SharePoint s'ouvre.

  2. Dans le menu Actions du site, cliquez sur Autres options.

  3. Dans la page Créer, sous Liste externe, cliquez sur Créer.

  4. Nommez la liste personnalisée Contacts.

  5. Cliquez sur le bouton Parcourir en regard du champ Type de contenu externe.

  6. Dans la boîte de dialogue Sélecteur de types de contenu externe, sélectionnez AdventureWorksContacts.BdcModel1.Contact, puis cliquez sur Créer.

  7. Cliquez sur Créer pour créer la liste de contacts.

    SharePoint crée une liste externe. Les contacts issus de l'exemple de base de données AdventureWorks s'affichent dans cette liste.

  8. Pour tester la méthode de recherche spécifique, cliquez sur un contact dans la liste.

  9. Dans le ruban, cliquez sur l'onglet Éléments.

  10. Dans l'onglet Éléments, cliquez sur Afficher l'élément.

    Les détails du contact que vous avez sélectionné s'affichent sur un formulaire.

Étapes suivantes

Pour savoir comment concevoir des modèles pour le service BDC dans SharePoint, consultez les rubriques suivantes :

Voir aussi

Concepts

Vue d'ensemble des outils de conception du modèle BDC

Autres ressources

Conception d'un modèle de connectivité de données métiers

Création d'un modèle de connectivité de données métiers

Intégration de données métiers dans SharePoint