Procédure pas à pas : création d'une liste externe dans SharePoint à l'aide de données métiersWalkthrough: Creating an External List in SharePoint by Using Business Data

Le service de connectivité de données métiers (BDC) permet à SharePoint afficher les données d’entreprise à partir d’applications de serveur principal, les services Web et les bases de données.The Business Data Connectivity (BDC) service enables SharePoint to display business data from back-end server applications, Web services, and databases.

Cette procédure pas à pas vous montre comment créer un modèle pour le service BDC qui retourne des informations sur les contacts dans une base de données exemple.This walkthrough shows you how to create a model for the BDC service that returns information about contacts in a sample database. Vous allez ensuite créer une liste externe dans SharePoint à l’aide de ce modèle.You will then create an external list in SharePoint by using this model.

Cette procédure pas à pas décrit les tâches suivantes :This walkthrough illustrates the following tasks:

  • Création d’un projet.Creating a project.
  • Ajout d’une entité au modèle.Adding an entity to the model.
  • Ajout d’une méthode de recherche.Adding a finder method.
  • Ajout d’une méthode de recherche spécifique.Adding a specific finder method.
  • Test du projet.Testing the project.

PrérequisPrerequisites

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :You need the following components to complete this walkthrough:

Création d'un projet qui contient un modèle BDCCreating a Project that Contains a BDC Model

  1. Dans la barre de menus dans Visual Studio, choisissez fichier, nouveau, projet.On the menu bar in Visual Studio, choose File, New, Project.

    La boîte de dialogue Nouveau projet s'affiche.The New Project dialog box opens.

  2. Sous Visual C# ou Visual Basic, développez le SharePoint nœud, puis choisissez le 2010 élément.Under either Visual C# or Visual Basic, expand the SharePoint node, and then choose the 2010 item.

  3. Dans le modèles volet, choisissez projet SharePoint 2010, nommez le projet AdventureWorksTest, puis choisissez le OK bouton .In the Templates pane, choose SharePoint 2010 Project, name the project AdventureWorksTest, and then choose the OK button.

    Le Assistant Personnalisation de SharePoint s’affiche.The SharePoint Customization Wizard appears. Dans cet Assistant, vous pouvez spécifier le site que vous allez utiliser pour déboguer le projet et définir le niveau de confiance de la solution.In this wizard, you can specify the site that you'll use to debug the project and set the trust level of the solution.

  4. Choisissez le déployer une solution de batterie de serveurs case d’option pour définir le niveau de confiance.Choose the Deploy as a farm solution option button to set the trust level.

  5. Choisissez le Terminer bouton pour accepter le site SharePoint local par défaut.Choose the Finish button to accept the default local SharePoint site.

  6. Dans l’Explorateur de solutions, choisissez le nœud de projet SharePoint.In Solution Explorer, choose the SharePoint project node.

  7. Dans la barre de menus, choisissez projet, ajouter un nouvel élément.On the menu bar, choose Project, Add New Item.

    La boîte de dialogue Ajouter un nouvel élément s’ouvre.The Add New Item dialog box opens.

  8. Dans le modèles volet, choisissez modèle de connectivité de données métiers (Solution de batterie uniquement), nommez le projet AdventureWorksContacts, puis choisissez le Ajouter bouton.In the Templates pane, choose Business Data Connectivity Model (Farm Solution Only), name the project AdventureWorksContacts, and then choose the Add button.

Classes d’accès aux données ajout au projetAdding Data Access Classes to the Project

  1. Dans la barre de menus, choisissez outils, se connecter à la base de données.On the menu bar, choose Tools, Connect to Database.

    Le ajouter une connexion boîte de dialogue s’ouvre.The Add Connection dialog box opens.

  2. Ajouter une connexion à la base de données SQL Server AdventureWorks.Add a connection to the SQL Server AdventureWorks sample database.

    Pour plus d’informations, consultez Ajouter/modifier une connexion (Microsoft SQL Server).For more information, see Add/Modify Connection (Microsoft SQL Server).

  3. Dans l' Explorateur de solutions, choisissez le nœud du projet.In Solution Explorer, choose the project node.

  4. Dans la barre de menus, choisissez projet, ajouter un nouvel élément.On the menu bar, choose Project, Add New Item.

  5. Dans le modèles installés volet, choisissez la données nœud.In the Installed Templates pane, choose the Data node.

  6. Dans le modèles volet, choisissez Classes LINQ to SQL.In the Templates pane, choose LINQ to SQL Classes.

  7. Dans le nom , spécifiez AdventureWorks, puis choisissez le ajouter bouton.In the Name box, specify AdventureWorks, and then choose the Add button.

    Un fichier .dbml est ajouté au projet et le Concepteur Objet/Relationnel (Concepteur O/R) s'ouvre.A .dbml file is added to the project, and the Object Relational Designer (O/R Designer) opens.

  8. Dans la barre de menus, choisissez vue, l’Explorateur de serveurs.On the menu bar, choose View, Server Explorer.

  9. Dans l’Explorateur de serveurs, développez le nœud qui représente la base de données AdventureWorks, puis développez le Tables nœud.In Server Explorer, expand the node that represents the AdventureWorks sample database, and then expand the Tables node.

  10. Ajouter le Contact (personne) table sur le Concepteur O/R.Add the Contact (Person) table onto the O/R Designer.

    Une classe d'entité est créée et apparaît dans l'aire de conception.An entity class is created and appears on the design surface. La classe d’entité a des propriétés qui correspondent aux colonnes de la table Contact (personne).The entity class has properties that map to the columns in the Contact (Person) table.

Suppression de l’entité par défaut du modèle BDCRemoving the Default Entity from the BDC Model

Le modèle de connectivité de données métiers project ajoute une entité par défaut nommée Entity1 au modèle.The Business Data Connectivity Model project adds a default entity named Entity1 to the model. Supprimez cette entité.Remove this entity. Une version ultérieure, vous allez ajouter une nouvelle entité.Later, you will add a new entity. En commençant par un modèle vide permet de réduire le nombre d’étapes requises pour effectuer la procédure pas à pas.Starting with an empty model reduces the number of steps required to complete the walkthrough.

  1. Dans l’Explorateur de solutions, développez le BdcModel1 nœud, puis ouvrez le fichier BdcModel1.bdcm.In Solution Explorer, expand the BdcModel1 node, and then open the BdcModel1.bdcm file.

  2. Le fichier de modèle de connectivité de données métiers s’ouvre dans le concepteur BDC.The Business Data Connectivity model file opens in the BDC designer.

  3. Dans le concepteur, ouvrez le menu contextuel de Entity1, puis choisissez supprimer.In the designer, open the shortcut menu for Entity1, and then choose Delete.

  4. Dans l’Explorateur de solutions, ouvrez le menu contextuel pour Entity1.vb (en Visual Basic) ou Entity1.cs (en c#), puis choisissez supprimer.In Solution Explorer, open the shortcut menu for Entity1.vb (in Visual Basic) or Entity1.cs (in C#), and then choose Delete.

  5. Ouvrez le menu contextuel pour Entity1Service.vb (en Visual Basic) ou Entity1Service.cs (en c#), puis choisissez supprimer.Open the shortcut menu for Entity1Service.vb (in Visual Basic) or Entity1Service.cs (in C#), and then choose Delete.

Ajout d’une entité au modèleAdding an Entity to the Model

Ajouter une entité au modèle.Add an entity to the model. Vous pouvez ajouter des entités à partir de Visual Studio boîte à outils sur le concepteur BDC.You can add entities from the Visual Studio Toolbox onto the BDC designer.

  1. Dans la barre de menus, choisissez Affichage, Boîte à outils.On the menu bar, choose View, Toolbox.

  2. Sur le BusinessDataConnectivity onglet de la boîte à outils, ajoutez une entité sur le concepteur BDC.On the BusinessDataConnectivity tab of the Toolbox, add an Entity onto the BDC designer.

    La nouvelle entité s’affiche dans le concepteur.The new entity appears on the designer. Visual Studio ajoute un fichier nommé EntityService.vb (en Visual Basic) ou EntityService.cs (en c#) au projet.Visual Studio adds a file that's named EntityService.vb (in Visual Basic) or EntityService.cs (in C#) to the project.

  3. Dans la barre de menus, choisissez vue, propriétés, fenêtre.On the menu bar, choose View, Properties, Window.

  4. Dans le propriétés , configurez la nom valeur de propriété à Contact.In the Properties window, set the Name property value to Contact.

  5. Dans le concepteur, ouvrez le menu contextuel de l’entité, choisissez ajouter, puis choisissez identificateur.On the designer, open the shortcut menu for the entity, choose Add, and then choose Identifier.

    Un nouvel identificateur s’affiche sur l’entité.A new identifier appears on the entity.

  6. Dans le propriétés fenêtre, modifiez le nom de l’identificateur à ContactID.In the Properties window, change the name of the identifier to ContactID.

  7. Dans le nom de Type , choisissez System.Int32.In the Type Name list, choose System.Int32.

Ajout d’une méthode de recherche spécifiqueAdding a Specific Finder Method

Pour activer le service BDC afficher un contact spécifique, vous devez ajouter une méthode de recherche spécifique.To enable the BDC service to display a specific contact, you must add a Specific Finder method. Le service BDC appelle la méthode de recherche spécifique lorsqu’un utilisateur choisit un élément dans une liste et choisit ensuite le l’élément d’affichage bouton sur le ruban.The BDC service calls the Specific Finder method when a user chooses an item in a list and then chooses the View Item button on the Ribbon.

Ajouter une méthode de recherche spécifique à l’entité Contact à l’aide de la détails de méthode BDC fenêtre.Add a Specific Finder method to the Contact entity by using the BDC Method Details window. Pour retourner une entité spécifique, ajoutez le code à la méthode.To return a specific entity, add code to the method.

  1. Dans le concepteur BDC, choisissez le Contact entité.On the BDC designer, choose the Contact entity.

  2. Dans la barre de menus, choisissez vue, autres fenêtres, détails de méthode BDC.On the menu bar, choose View, Other Windows, BDC Method Details.

    La fenêtre Détails de méthode BDC s’ouvre.The BDC Method Details window opens.

  3. Dans le ajouter une méthode , choisissez créer une méthode de recherche spécifique.In the Add a Method list, choose Create Specific Finder Method.

    Visual Studio ajoute les éléments suivants au modèle.Visual Studio adds the following elements to the model. Ces éléments apparaissent dans le détails de méthode BDC fenêtre.These elements appear in the BDC Method Details window.

    • Une méthode nommée ReadItem.A method named ReadItem.

    • Un paramètre d’entrée pour la méthode.An input parameter for the method.

    • Un paramètre de retour de la méthode.A return parameter for the method.

    • Un descripteur de type pour chaque paramètre.A type descriptor for each parameter.

    • Une instance de méthode pour la méthode.A method instance for the method.

  4. Dans le détails de méthode BDC fenêtre, ouvrez la liste qui s’affiche pour le Contact descripteur de type, puis choisissez modifier.In the BDC Method Details window, open the list that appears for the Contact type descriptor, and then choose Edit.

    Le Explorateur BDC s’ouvre et affiche une vue hiérarchique du modèle.The BDC Explorer opens and provides a hierarchical view of the model.

  5. Dans le propriétés fenêtre, ouvrez la liste à côté la TypeName propriété, choisissez le projet actuel onglet, puis choisissez le Contactpropriété.In the Properties window, open the list next to the TypeName property, choose the Current Project tab, and then choose the Contact property.

  6. Dans le Explorateur BDC, ouvrez le menu contextuel de la Contact, puis choisissez ajouter un descripteur de Type.In the BDC Explorer, open the shortcut menu of the Contact, and then choose Add Type Descriptor.

    Un nouveau descripteur de type nommé TypeDescriptor1 s’affiche dans le Explorateur BDC.A new type descriptor that's named TypeDescriptor1 appears in the BDC Explorer.

  7. Dans le propriétés , configurez la nom valeur de propriété à ContactID.In the Properties window, set the Name property value to ContactID.

  8. Ouvrez la liste à côté du TypeName propriété, puis choisissez Int32.Open the list next to the TypeName property, and then choose Int32.

  9. Ouvrez la liste à côté du identificateur propriété, puis choisissez ContactID.Open the list next to the Identifier property, and then choose ContactID.

  10. Répétez l’étape 6 pour créer un descripteur de type pour chacun des champs suivants.Repeat step 6 to create a type descriptor for each of the following fields.

    NameName Nom de typeType Name
    FirstNameFirstName System.StringSystem.String
    LastNameLastName System.StringSystem.String
    TéléphonePhone System.StringSystem.String
    emailAddressEmailAddress System.StringSystem.String
    EmailPromotionEmailPromotion System.Int32System.Int32
    NameStyleNameStyle System.BooleanSystem.Boolean
    PasswordHashPasswordHash System.StringSystem.String
    PasswordSaltPasswordSalt System.StringSystem.String
  11. Dans le concepteur BDC, sur le Contact entité, ouvre le ReadItem (méthode).In the BDC designer, on the Contact entity, open the ReadItem method.

    Le fichier de code de service Contact s’ouvre dans l’éditeur de Code.The Contact service code file opens in Code Editor.

  12. Dans le ContactService de classe, remplacez le ReadItem méthode avec le code suivant.In the ContactService class, replace the ReadItem method with the following code. Ce code exécute les tâches suivantes :This code performs the following tasks:

    • Récupère un enregistrement à partir de la table Contact de la base de données AdventureWorks.Retrieves a record from Contact table of the AdventureWorks database.

    • Retourne une entité Contact au service BDC.Returns a Contact entity to the BDC service.

    Note

    Remplacez la valeur de la ServerName champ avec le nom de votre serveur.Replace the value of the ServerName field with the name of your 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;
    }
    
    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
    

Ajout d’une méthode de rechercheAdding a Finder Method

Pour activer le service BDC afficher les contacts dans une liste, vous devez ajouter une méthode de recherche.To enable the BDC service to display the contacts in a list, you must add a Finder method. Ajouter une méthode de recherche à l’entité Contact à l’aide de la détails de méthode BDC fenêtre.Add a Finder method to the Contact entity by using the BDC Method Details window. Pour retourner une collection d’entités au service BDC, ajoutez le code à la méthode.To return a collection of entities to the BDC service, add code to the method.

  1. Dans le concepteur BDC, choisissez le Contact entité.In the BDC designer, choose the Contact entity.

  2. Dans le détails de méthode BDC fenêtre, réduire la ReadItem nœud.In the BDC Method Details window, collapse the ReadItem node.

  3. Dans le ajouter une méthode liste sous le ReadList méthode, choisissez créer une méthode de recherche.In the Add a Method list under the ReadList method, choose Create Finder Method.

    Visual Studio ajoute une méthode, un paramètre de retour et un descripteur de type.Visual Studio adds a method, a return parameter, and a type descriptor.

  4. Dans le concepteur BDC, sur le Contact entité, ouvre le ReadList (méthode).In the BDC designer, on the Contact entity, open the ReadList method.

    Le fichier de code pour le service Contact s'ouvre dans l'éditeur de code.The code file for the Contact service opens in Code Editor.

  5. Dans le ContactService de classe, remplacez le ReadList méthode avec le code suivant.In the ContactService class, replace the ReadList method with the following code. Ce code exécute les tâches suivantes :This code performs the following tasks:

    • Récupère les données à partir de la table Contacts de la base de données AdventureWorks.Retrieves data from the Contacts table of the AdventureWorks database.

    • Retourne une liste d’entités Contact au service BDC.Returns a list of Contact entities to the BDC service.

      Note

      Remplacez la valeur de la ServerName champ avec le nom de votre serveur.Replace the value of the ServerName field with the name of your 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;
      
      }
      
      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
      

Test du projetTesting the Project

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.When you run the project, the SharePoint site opens and Visual Studio adds your model to the Business Data Connectivity service. Créer une liste externe dans SharePoint qui fait référence à l’entité Contact.Create an external list in SharePoint that references the Contact entity. Les données pour les contacts dans la base de données AdventureWorks s’affichent dans la liste.The data for contacts in the AdventureWorks database appear in the list.

Note

Vous devrez peut-être modifier vos paramètres de sécurité dans SharePoint avant de pouvoir déboguer votre solution.You might have to modify your security settings in SharePoint before you can debug your solution. Pour plus d’informations, consultez vous concevez un modèle de connectivité de données métiers.For more information, see Designing a Business Data Connectivity Model.

  1. Choisissez la touche F5.Choose the F5 key.

    Le site SharePoint s’ouvre.The SharePoint site opens.

  2. Sur le Actions du Site menu, choisissez le plus d’Options commande.On the Site Actions menu, choose the More Options command.

  3. Sur le créer page, choisissez la liste externe modèle, puis choisissez le créer bouton.On the Create page, choose the External List template, and then choose the Create button.

  4. Nom de la liste personnalisée Contacts.Name the custom list Contacts.

  5. Choisissez le bouton Parcourir à côté du Type de contenu externe champ.Choose the browse button next to the External Content Type field.

  6. Dans le sélecteur de Type de contenu externe boîte de dialogue, choisissez le AdventureWorksContacts.BdcModel1.Contact d’élément, puis choisissez le créer bouton.In the External Content Type Picker dialog box, choose the AdventureWorksContacts.BdcModel1.Contact item, and then choose the Create button.

    SharePoint crée une liste externe qui contient des contacts de l'exemple de base de données AdventureWorks.SharePoint creates an external list that contains contacts from the AdventureWorks sample database.

  7. Pour tester la méthode de recherche spécifique, choisissez un contact dans la liste.To test the Specific Finder method, choose a contact in the list.

  8. Dans le ruban, cliquez sur le éléments onglet, puis choisissez le l’élément d’affichage commande.On the Ribbon, choose the Items tab, and then choose the View Item command.

    Les détails du contact que vous avez choisi s'affichent sur un formulaire.The details of the contact that you chose appear on a form.

Étapes suivantesNext Steps

Pour plus d’informations sur la conception de modèles pour le service de catalogue de données métiers dans SharePoint à partir de ces rubriques :You can learn more about how to design models for the BDC service in SharePoint from these topics:

Voir aussiSee Also

Conception d’un modèle de connectivité de données métiersDesigning a Business Data Connectivity Model
Création d’un modèle de connectivité de données métiersCreating a Business Data Connectivity Model
Vue d’ensemble des outils de conception du modèle BDCBDC Model Design Tools Overview
Intégration de données métiers dans SharePointIntegrating Business Data into SharePoint