IEntityInstance 接口 (Microsoft.Office.Server.ApplicationRegistry.Runtime)

Represents instances of business objects, for example, customer #88697 and order #1000 in a back-end business application. The most important implementor of this interface is AbstractEntityInstance, which in turn is subclassed by WebServiceEntityInstance and DbEntityInstance.

命名空间: Microsoft.Office.Server.ApplicationRegistry.Runtime
程序集: Microsoft.SharePoint.Portal (在 microsoft.sharepoint.portal.dll 中)

语法

声明
Public Interface IEntityInstance
    Inherits IInstance
用法
Dim instance As IEntityInstance
public interface IEntityInstance : IInstance

备注

Conceptually, you can think of an entity instance as a single row of data returned from a back-end business application in the Business Data Catalog. The IEntityInstance interface abstracts the underlying data sources, insulates the clients from having to learn application-specific coding paradigms, and allows clients to access all business data in a single, simplified way. The IEntityInstance interface enables you to work with a row of data from a database in just the same way as you work with a complex Microsoft .NET Framework structure returned by a Web service.

An entity instance in the Business Data Catalog has special semantics attached to it. For example, it has the ability to know which fields in the row represent the identifier for the entity instance, and to enable to you call methods such as GetAssociatedInstances(), GetIdentifierValues, and Execute() on that entity instance.

示例

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

Prerequisites

  • 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 object 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)
        {
            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("");
        }
    }
} 

另请参阅

参考

IEntityInstance 成员
Microsoft.Office.Server.ApplicationRegistry.Runtime 命名空间