次の方法で共有


[方法] 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());
        }

    }
}

See Also

概念

ビジネス データ カタログ : メタデータ モデル

その他のリソース

メタデータ リポジトリを参照してメソッドおよびフィルタを実行する

ビジネス データ カタログを使用してカスタム アプリケーションを構築する