Partager via


Implémentation de SpecificFinder

Dernière modification : mardi 20 avril 2010

S’applique à : SharePoint Server 2010

Dans cet article
Description
Syntaxe
Notes
Exemples

Description

SpecificFinder renvoie un seul élément externe. Ce stéréotype sert à lire un élément, en fonction de son identificateur. Par exemple, pour un objet métier Customer donné, ce stéréotype permet d’obtenir des informations détaillées sur un client en fonction de son ID de client.

Les types de contenu externes doivent avoir au moins une instance de méthode SpecificFinder qui renvoie une instance unique, pour un identificateur donné. Si vous ne définissez pas d’instance de méthode SpecificFinder pour un type de contenu externe, il est impossible de lui appliquer des actions, il ne peut pas faire l’objet de recherches ou d’une indexation, et ne peut pas être utilisé dans l’une des fonctionnalités de présentation de Business Connectivity Services, à l’exception du composant WebPart de liste associée.

Syntaxe

Voici la signature de méthode classique pour SpecificFinder :

EntityDataType GetEntityById(IdType1 id1, ...)

Notes

Pour être qualifiée en tant que SpecificFinder, la méthode correspondante doit :

  • accepter tous les identificateurs d’un type de contenu externe en tant qu’entrées ;

  • renvoyer une structure qui possède un ensemble de champs (appelé Vue dans Business Connectivity Services. Voir la définition dans cette rubrique).

Pour être qualifiée en tant que SpecificFinder, la méthode correspondante doit :

  • renvoyer un seul élément externe d’un type de contenu externe ;

  • renvoyer des champs qui contiennent obligatoirement l’ensemble des identificateurs d’éléments externes.

Notes

En règle générale, l’opération de lecture interroge le système externe pour obtenir les données. Veillez à gérer correctement les valeurs Null dans la méthode SpecificFinder. Il est probable que certains champs ont une valeur Null dans le système externe (par exemple hobbies ou address). Il est essentiel de disposer d’une gestion des erreurs et d’une gestion des exceptions appropriées. Par conséquent, recherchez les chaînes de valeur Null et les chaînes vides dans votre code, puis corrigez-les. Utilisez également l’interprétation NormalizeString pour les descripteurs de type.

Levez les exceptions affichées dans le tableau 1 pour les conditions données dans un assembly de connectivité .NET.

Tableau 1. Exceptions

Nom de l’exception

À utiliser dans la situation suivante…

ObjectNotFoundException

L’élément est introuvable dans le système externe (a peut-être été supprimé).

ObjectDeletedException

L’élément a été supprimé du système externe. Vous devez lever cette exception lorsque la suppression des éléments peut être différenciée de l’absence d’éléments.

Notes

Dans un service Web, SpecificFinder doit renvoyer la valeur Null lorsque l’élément est introuvable.

Une vue est une collection de champs, où chaque champ dispose d’un nom, d’un type et, éventuellement, de noms d’affichages localisés. Il s’agit d’une définition schématique, par opposition aux vues de bases de données SQL qui incluent la définition schématique et les données renvoyées dans le cadre de la requête.

Par exemple, si Employee est un type de contenu externe, une vue relative à Employee peut contenir les champs suivants :

  • ID

  • Name

  • Address

  • Designation

Il est possible d’avoir plusieurs vues du même objet métier dans Business Connectivity Services. Par exemple, une autre vue relative à Employee peut contenir les champs suivants :

  • ID

  • Name

  • Address

  • Designation

  • AnnualIncome

  • StartDate

  • SeniorityLevel

  • EmergencyContact

Dans SharePoint 2010, un type de contenu externe peut avoir plusieurs recherches spécifiques avec différentes vues. Voici quelques scénarios illustrant l’utilité de plusieurs recherches spécifiques :

  • Vues basées sur les rôles : pour un EmployeeId donné, une méthode de recherche spécifique permet de présenter une vue limitée aux collègues, alors qu’une autre méthode de recherche spécifique permet de présenter une autre vue détaillée à l’employé ou à son responsable.

  • **Optimisation du cache :**Business Connectivity Services prend en charge de manière étendue la mise hors connexion des données métier pour les clients Microsoft Office tels qu’Outlook et SharePoint Workspace. Les administrateurs peuvent désactiver la mise hors connexion pour les vues détaillées afin d’optimiser les performances du cache côté client. Cela permet aux utilisateurs de disposer d’une vue limitée hors connexion et d’accéder à la vue détaillée en ligne.

Notes

S’il existe plusieurs recherches spécifiques avec différentes vues d’un objet métier, il est bon de disposer d’au moins une méthode de recherche pour chaque méthode de recherche spécifique.

Notes

Voici des remarques supplémentaires sur BDC et les listes externes.

  • BDC prend en charge les champs en lecture seule.

  • Les listes externes ne prennent pas en charge les types complexes.

  • Les formulaires par défaut créés pour les listes externes doivent être remplacés par des formulaires Microsoft InfoPath 2010 afin d’être utilisables avec des types complexes.

Exemples

Extrait de code : Implémentation d’un SpecificFinder

Voir aussi

Concepts

Extrait de code XML : Modélisation d’une méthode SpecificFinder