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 :
Éditions de Microsoft Windows et SharePoint prises en charge. Pour plus d'informations, consultez Configuration requise pour développer des solutions SharePoint.
Visual Studio 2010 Professional ou une édition de Visual Studio Application Lifecycle Management (ALM).
Accès à l'exemple de base de données AdventureWorks. Pour plus d'informations sur l'installation de la base de données AdventureWorks, consultez Exemples de bases de données SQL Server (page éventuellement en anglais).
Création d'un projet
Commencez par créer un projet qui contient un modèle BDC.
Pour créer un projet
Démarrez Visual Studio 2010.
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.
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.
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
Dans le menu Outils, cliquez sur Se connecter à la base de données.
La boîte de dialogue Ajouter une connexion s'ouvre.
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).
Dans l'Explorateur de solutions, cliquez sur le nœud du projet.
Dans le menu Projet, cliquez sur Ajouter un nouvel élément.
Dans le volet Modèles installés, sélectionnez le nœud Données.
Dans le volet Modèles, sélectionnez Classes LINQ to SQL.
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.
Dans le menu Affichage, cliquez sur Explorateur de serveurs.
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.
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
Dans l'Explorateur de solutions, développez le nœud BdcModel1, puis double-cliquez sur le fichier BdcModel1.bdcm.
Le fichier de modèle de connectivité de donnés métiers s'ouvre dans le concepteur BDC.
Dans le concepteur, cliquez avec le bouton droit sur Entity1, puis cliquez sur Supprimer.
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.
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
Dans le menu Affichage, cliquez sur Boîte à outils.
À 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#).
Dans le menu Affichage, cliquez sur Fenêtre Propriétés.
Dans la fenêtre Propriétés, affectez Contact à Nom.
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é.
Dans la fenêtre Propriétés, renommez l'identificateur en ContactID.
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
Dans le concepteur BDC, sélectionnez l'entité Contact.
Dans le menu Affichage, cliquez sur Autres fenêtres, puis sur Détails de méthode BDC.
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
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.
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.
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.
Dans la fenêtre Propriétés, affectez à la propriété Name la valeur ContactID.
Cliquez sur la liste déroulante en regard de la propriété TypeName, puis sélectionnez Int32.
Cliquez sur la liste déroulante en regard de la propriété Identificateur, puis sélectionnez ContactID.
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
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.
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
Dans le concepteur BDC, sélectionnez l'entité Contact.
Dans la fenêtre Détails de méthode BDC, réduisez le nœud ReadList.
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.
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.
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
Appuyez sur F5.
Le site SharePoint s'ouvre.
Dans le menu Actions du site, cliquez sur Autres options.
Dans la page Créer, sous Liste externe, cliquez sur Créer.
Nommez la liste personnalisée Contacts.
Cliquez sur le bouton Parcourir en regard du champ Type de contenu externe.
Dans la boîte de dialogue Sélecteur de types de contenu externe, sélectionnez AdventureWorksContacts.BdcModel1.Contact, puis cliquez sur Créer.
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.
Pour tester la méthode de recherche spécifique, cliquez sur un contact dans la liste.
Dans le ruban, cliquez sur l'onglet Éléments.
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