IEntityInstance インターフェイス (Microsoft.Office.Server.ApplicationRegistry.Runtime)
バックエンド ビジネス アプリケーションの顧客番号 88697、受注番号 1000 など、ビジネス オブジェクトのインスタンスを表します。このインターフェイスの最も重要な実装者は AbstractEntityInstance で、WebServiceEntityInstance および 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
備考
概念上、エンティティ インスタンスを、ビジネス データ カタログのバックエンド ビジネス アプリケーションから返される単一行のデータとして見なすことができます。IEntityInstance インターフェイスは下位データ ソースを抽象化し、アプリケーション固有のコーディングの枠組みを学ぶ必要性をなくすため、唯一の単純化された方法でクライアントがすべてのビジネス アプリケーションにアクセスできるようになります。IEntityInstance インターフェイスを使用すると、Web サービスによって返される複雑な Microsoft .NET Framework 構造の処理とまったく同じようにデータベースの 1 行のデータを処理できるようになります。
ビジネス データ カタログのエンティティ インスタンスには、固有のセマンティクスが備えられています。たとえば、その行のどのフィールドがエンティティ インスタンスの識別子を表しているのかが分かる機能、およびエンティティ インスタンス上の GetAssociatedInstances()、GetIdentifierValues、Execute() など、メソッドを呼び出すことができる機能があります。
例
この例は、AdventureWorks2000 サンプルで Product エンティティに対して SpecificFinder メソッドを実行する方法を示しています。
Prerequisites
共有サービス プロバイダが既に作成されていることを確認します。
コード内の定数値 EnterYourSSPNameHere を共有サービス プロバイダの名前に置き換えます。
例で参照されている LobSystem オブジェクトおよびエンティティの名前がビジネス データ カタログ内に存在することを確認します。有効な名前を使用します。
Project References
このサンプルを実行する前に、コンソール アプリケーション コード プロジェクトに以下のプロジェクト参照を追加します。
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 名前空間