Procédure pas à pas : Créer une liste externe dans SharePoint avec des données métier
Le service Business Data Connectivity (BDC) permet à SharePoint d’afficher des données métier à partir d’applications de serveur de back-end, de services web et de bases de données.
Cette procédure pas à pas vous montre comment créer un modèle pour le service BDC qui renvoie des informations sur les contacts d’un exemple de base de données. Vous créez ensuite une liste externe dans SharePoint à partir 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.
Prérequis
Vous devez disposer des éléments suivants pour exécuter cette procédure pas à pas :
Éditions prises en charge de Windows et SharePoint.
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.
Créer un projet contenant un modèle BDC
Dans la barre de menus de Visual Studio, choisissez Fichier>Nouveau>Projet.
La boîte de dialogue Nouveau projet s’affiche.
Sous Visual C# ou Visual Basic, développez le nœud SharePoint, puis sélectionnez l’élément 2010.
Dans le volet Modèles, choisissez Projet SharePoint 2010, nommez le projet AdventureWorksTest, puis choisissez le bouton OK.
L’Assistant Personnalisation de SharePoint s’affiche. Dans cet Assistant, vous pouvez sélectionner le site à utiliser pour déboguer le projet et définir le niveau de confiance de la solution.
Choisissez la case d’option Déployer comme une solution de batterie de serveurs pour définir le niveau de confiance.
Choisissez le bouton Terminer pour accepter le site SharePoint local par défaut.
Dans l’Explorateur de solutions, choisissez le nœud du projet SharePoint.
Dans la barre de menus, choisissez Projet>Ajouter un nouvel élément.
La boîte de dialogue Ajouter un nouvel élément s’ouvre.
Dans le volet Modèles, choisissez Business Data Connectivity Model (solution de batterie de serveurs uniquement), nommez le projet AdventureWorksContacts, puis choisissez le bouton Ajouter.
Ajouter au projet des classes d’accès aux données
Dans la barre de menus, choisissez Outils>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/modifier une connexion (Microsoft SQL Server).
Dans l' Explorateur de solutions, choisissez le nœud du projet.
Dans la barre de menus, choisissez Projet>Ajouter un nouvel élément.
Dans le volet Modèles installés, choisissez le nœud Données.
Dans le volet Modèles, choisissez Classes LINQ to SQL.
Dans la zone Nom, spécifiez AdventureWorks, puis choisissez le bouton Ajouter.
Un fichier .dbml est ajouté au projet et le Concepteur Objet/Relationnel (Concepteur O/R) s'ouvre.
Dans la barre de menus, choisissez Affichage>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.
Ajouter 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é a des propriétés mappées aux colonnes de la table Contact (personne).
Supprimer l’entité par défaut du modèle BDC
Le projet Business Data Connectivity Model ajoute une entité par défaut nommée Entity1 au modèle. Supprimez cette entité. Vous ajoutez une nouvelle entité par la suite. En commençant avec un modèle vide, vous avez moins d’étapes dans la procédure pas à pas.
Dans l’Explorateur de solutions, développez le nœud BdcModel1, puis ouvrez le fichier BdcModel1.bdcm.
Le fichier du modèle Business Data Connectivity s’ouvre dans le concepteur BDC.
Dans le concepteur, ouvrez le menu contextuel du nœud Entity1, puis choisissez Supprimer.
Dans l’Explorateur de solutions, ouvrez le menu contextuel d’Entity1.vb (en Visual Basic) ou d’Entity1.cs (en C#), puis choisissez Supprimer.
Ouvrez le menu contextuel d’Entity1Service.vb (en Visual Basic) ou d’Entity1Service.cs (en C#), puis choisissez Supprimer.
Ajouter une entité au modèle
Ajoutez une entité au modèle. Vous pouvez ajouter des entités à partir de la Boîte à outils de Visual Studio dans le concepteur BDC.
Dans la barre de menus, choisissez Affichage>Boîte à outils.
Sous l’onglet BusinessDataConnectivity de la Boîte à outils, ajoutez une Entité dans le concepteur BDC.
La nouvelle entité s’affiche dans le concepteur. Visual Studio ajoute au projet un fichier nommé EntityService.vb (en Visual Basic) ou EntityService.cs (en C#).
Dans la barre de menus, choisissez Afficher>Propriétés>Fenêtre.
Dans la fenêtre Propriétés, définissez la valeur de la propriété Nom sur Contact.
Dans le concepteur, ouvrez le menu contextuel de l’entité, choisissez Ajouter, puis Identificateur.
Un nouvel identificateur s’affiche sur l’entité.
Dans la fenêtre Propriétés, remplacez le nom de l’identificateur par ContactID.
Dans la liste Nom de type, choisissez System.Int32.
Ajouter une méthode de recherche spécifique
Pour permettre au service BDC d’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 quand un utilisateur choisit un élément dans une liste, puis choisit le bouton Voir l’élément sur le ruban.
Ajoutez une méthode de recherche spécifique à l’entité Contact à partir de la fenêtre Détails de la méthode BDC. Pour retourner une entité spécifique, ajoutez du code à la méthode.
Dans le concepteur BDC, choisissez l’entité Contact.
Dans la barre de menus, choisissez Affichage>Autres fenêtres>Détails de la méthode BDC.
La fenêtre Détails de la méthode BDC s’ouvre.
Dans la liste Ajouter une méthode, choisissez 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 la méthode BDC.
Une méthode nommée ReadItem.
Un paramètre d’entrée pour la méthode.
Un paramètre de retour pour la méthode.
Un descripteur de type pour chaque paramètre.
Une instance de méthode pour la méthode.
Dans la fenêtre Détails de la méthode BDC, ouvrez la liste qui s’affiche pour le descripteur de type Contact, puis choisissez Modifier.
L’Explorateur BDC s’ouvre et fournit une vue hiérarchique du modèle.
Dans la fenêtre Propriétés, ouvrez la liste à côté de la propriété TypeName, choisissez l’onglet Projet actuel, puis choisissez la propriété Contact.
Dans l’Explorateur BDC, ouvrez le menu contextuel du Contact, puis choisissez 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, définissez la valeur de la propriété Nom sur ContactID.
Ouvrez la liste à côté de la propriété TypeName, puis choisissez Int32.
Ouvrez la liste à côté de la propriété Identificateur, puis choisissez 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 Télé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, ouvrez la méthode ReadItem.
Le fichier de code du service Contact s’ouvre dans l’éditeur de code.
Dans la classe
ContactService
, remplacez la méthodeReadItem
par le code suivant. Ce code effectue les tâches suivantes :Récupère un enregistrement de la table Contact de la base de données AdventureWorks.
Renvoie une entité Contact au service BDC.
Notes
Remplacez la valeur du champ
ServerName
par le nom de votre serveur.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; }
Ajouter une méthode de recherche
Pour permettre au service BDC d’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 la méthode BDC. Pour renvoyer une collection d’entités au service BDC, ajoutez du code à la méthode.
Dans le concepteur BDC, choisissez l’entité Contact.
Dans la fenêtre Détails de la méthode BDC, réduisez le nœud ReadItem.
Dans la liste Ajouter une méthode sous la méthode ReadList, choisissez 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, ouvrez la méthode ReadList.
Le fichier de code pour le service Contact s'ouvre dans l'éditeur de code.
Dans la classe
ContactService
, remplacez la méthodeReadList
par le code suivant. Ce code effectue les tâches suivantes :Récupère les données de la table Contacts de la base de données AdventureWorks.
Renvoie une liste d’entités Contact au service BDC.
Notes
Remplacez la valeur du champ
ServerName
par le nom de votre serveur.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; }
Tester le projet
Quand vous exécutez le projet, le site SharePoint s’ouvre et Visual Studio ajoute votre modèle au service Business Data Connectivity. Créez une liste externe dans SharePoint qui référence l’entité Contact. Les données des contacts de la base de données AdventureWorks s’affichent dans la liste.
Notes
Vous devez peut-être modifier vos paramètres de sécurité dans SharePoint pour pouvoir déboguer votre solution. Pour plus d’informations, consultez Concevoir un modèle Business Data Connectivity.
Choisissez la touche F5.
Le site SharePoint s’ouvre.
Dans le menu Actions de site, choisissez la commande Autres options.
Dans la page Créer, choisissez le modèle Liste externe, puis le bouton Créer.
Nommez la liste personnalisée Contacts.
Choisissez le bouton Parcourir à côté du champ Type de contenu externe.
Dans la boîte de dialogue Sélecteur de types de contenu externe, choisissez l’élément AdventureWorksContacts.BdcModel1.Contact, puis choisissez le bouton Créer.
SharePoint crée une liste externe qui contient des contacts de l'exemple de base de données AdventureWorks.
Pour tester la méthode de recherche spécifique, choisissez un contact dans la liste.
Sur le ruban, choisissez l’onglet Éléments, puis la commande Voir l’élément.
Les détails du contact que vous avez choisi s'affichent sur un formulaire.