[方法] LobSystem と Entity を取得する
ランタイム オブジェクト モデルには、メタデータ リポジトリの読み取りとクエリのために、高速で読み取り専用のインターフェイスが用意されています。ここでは、メタデータ リポジトリにクエリを実行する方法を示します。
例
この例では、メタデータ リポジトリを参照し、ビジネス データ カタログに登録されている LobSystem インスタンスを表示する方法と、how to get an LobSystem オブジェクトと Entity オブジェクトを取得する方法を示します。
前提条件
共有サービス プロバイダが既に作成されていることを確認します。
コード内の定数値 EnterYourSSPNameHere を、共有リソース プロバイダの名前に置き換えます。
例で参照されている LobSystem とエンティティの名前がビジネス データ カタログ内に存在することを確認します。有効な名前を使用します。
プロジェクト参照
このサンプルを実行する前に、コンソール アプリケーション コード プロジェクトに以下のプロジェクト参照を追加します。
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 GetSystemAndEntity
{
const string yourSSPName = "EnterYourSSPNameHere";
static void Main(string[] args)
{
SetupBDC();
DisplayLobSystemsinBDC();
GetLobSystem();
GetEntity();
Console.WriteLine("Press any key to exit...");
Console.Read();
}
static void SetupBDC()
{
SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
}
static void DisplayLobSystemsinBDC()
{
NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances();
Console.WriteLine("Listing system instances...");
foreach (String name in sysInstances.Keys)
{
Console.WriteLine(name);
}
}
static void GetLobSystem()
{
NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances();
LobSystemInstance AdvWorksIns = sysInstances["AdventureWorksSampleInstance"];
Console.WriteLine("Getting a system instance and displaying its ID...");
LobSystem AdvWorksSys = AdvWorksIns.GetLobSystem();
Console.WriteLine(AdvWorksSys.Name.ToString());
Console.WriteLine("ID: "+AdvWorksSys.Id.ToString());
}
static void GetEntity()
{
NamedLobSystemInstanceDictionary sysInstances = ApplicationRegistry.GetLobSystemInstances();
LobSystemInstance AdvWorksIns = sysInstances["AdventureWorksSampleInstance"];
Console.WriteLine("Getting an entity object and displaying its ID...");
Entity prodEntity = AdvWorksIns.GetEntities()["Product"];
Console.WriteLine(prodEntity.Name.ToString());
Console.WriteLine("ID: "+prodEntity.Id.ToString());
}
}
}