Procédure : exécuter une méthode SpecificFinder sur une entité
Un SpecificFinder est une méthode spéciale qui en réponse à une clé (ID unique) retourne une instance entity. Par exemple, pour l'entité Client, la méthode SpecificFinder pourrait être la suivante :
SELECT * FROM Customers where ID=1
Cette rubrique illustre l'exécution d'une méthode SpecificFinder sur une entité inscrite dans le catalogue de données métiers.
Exemple
Cet exemple illustre l'exécution d'une méthode SpecificFinder sur l'entité Product dans l'exemple AdventureWorks2000.
Conditions préalables requises
Vérifiez qu'un fournisseur de services partagés est déjà créé.
Remplacez la valeur de constante EnterYourSSPNameHere dans le code par le nom de votre fournisseur de ressources partagées.
Vérifiez que le LobSystem et les noms d'entités référencés dans l'exemple existent dans le catalogue de données métiers. Utilisez des noms valides.
Références de projet
Ajoutez les références de projet suivantes dans votre projet de code de l'application console avant d'exécuter cet exemple :
Microsoft.SharePoint
Microsoft.SharePoint.Portal
Microsoft.Office.Server
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Microsoft.Office.Server.ApplicationRegistry.MetadataModel;
using Microsoft.Office.Server.ApplicationRegistry.Runtime;
using Microsoft.Office.Server.ApplicationRegistry.SystemSpecific;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;
namespace Microsoft.SDK.SharePointServer.Samples
{
class ExecuteSpecificFinder
{
const string yourSSPName ="EnterYourSSPNameHere";
static void Main(string[] args)
{
SetupBDC();
FindSpecific();
Console.WriteLine("Press any key to exit...");
Console.Read();
}
static void SetupBDC()
{
SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
}
static void FindSpecific()
{
NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances();
LobSystemInstance AdvWorksIns = sysInstances["AdventureWorksSampleInstance"];
Entity prodEntity = AdvWorksIns.GetEntities()["Product"];
//ProductID = 1
IEntityInstance IE = prodEntity.FindSpecific(1, AdvWorksIns);
foreach (Field f in prodEntity.GetSpecificFinderView().Fields)
Console.Write(IE[f]);
Console.WriteLine("");
}
}
}
Voir aussi
Autres ressources
Catalogue de données métiers : modèle de métadonnées
Navigation dans le référentiel de métadonnées et exécution de méthodes et de filtres
Création d'applications personnalisées à l'aide du catalogue de données métiers