How to: Execute a SpecificFinder Method on an Entity

SharePoint 2007

A SpecificFinder is a special method that given a key (unique ID) returns one entity instance. For example, for the Customer entity, the SpecificFinder method might be the following:

SELECT * FROM Customers where ID=1

This topic shows how to execute a SpecificFinder method on an entity registered in the Business Data Catalog.


This example shows how to execute a SpecificFinder method on the Product entity in the AdventureWorks2000 sample.


  • Ensure a Shared Service Provider is already created.

  • Replace the constant value EnterYourSSPNameHere in the code with the name of your Shared Resource Provider.

  • Ensure the LobSystem and entity names referenced in the example exist in the Business Data Catalog. Use valid names.

Project References

Add the following Project References in your console application code project before running this sample:

  • 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)
            Console.WriteLine("Press any key to exit...");
        static void SetupBDC()
        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)

See Also

Community Additions