コード スニペット: サーバーで DatabaseBackedMetadataCatalog を取得する

最終更新日: 2010年5月5日

適用対象: SharePoint Server 2010

この記事の内容
説明
前提条件
この例を使用するには

説明

次のコード例では、サーバーで Business Data Connectivity (BDC) service Runtime オブジェクト モデルを使用してサーバーで DatabaseBackedMetadataCatalog を取得する方法を示します。

前提条件

  • サーバーにインストールされた Microsoft SharePoint Server 2010 あるいは Microsoft SharePoint Foundation 2010

  • Microsoft .NET Framework 3.5 と Microsoft Visual Studio

  • BDC メタデータ ストアに登録された、少なくとも 1 つの外部コンテンツ タイプ

この例を使用するには

  1. Visual Studio を開始し、新しい C# コンソール アプリケーション プロジェクトを作成します。プロジェクトを作成するときに、[.NET Framework 3.5] を選択します。

  2. [表示] メニューから、[プロパティ ページ] を選択してプロジェクト プロパティを表示します。

  3. [ビルド] タブから、[プラットフォーム ターゲット] で、[Any CPU] を選択します。

  4. プロジェクト プロパティ ウィンドウを閉じます。

  5. [ソリューション エクスプローラー] の [参照設定] で、[System] と [System.Core] を除いて、すべてのプロジェクト参照を削除します。

  6. プロジェクトに以下の参照を追加します。

    1. Microsoft.BusinessData (SharePoint_RootFolder\ISAPI から)

    2. Microsoft.SharePoint

  7. この手順の最後に示すコードで、Program.cs が自動生成したコードを置換します。

  8. 有効な値で、<siteUrl>、<nameSpace>、<lobsystemInstance>、および <entityName> のプレースホルダー値を置換します。

  9. プロジェクトを保存します。

  10. プロジェクトをコンパイルします。

  11. SharePoint Server 2010 または SharePoint Foundation 2010 がインストールされているサーバー コンピューターでアプリケーションを実行します。

using Microsoft.BusinessData.MetadataModel;
using Microsoft.BusinessData.Runtime;
using Microsoft.SharePoint.BusinessData.MetadataModel;
using Microsoft.SharePoint;
using Microsoft.SharePoint.BusinessData.SharedService;


//Code.

// Get context from specific site.
SPServiceContext context = SPServiceContext.GetContext(new SPSite("<siteUrl>")); 
IMetadataCatalog databaseCatalog = null;
BdcService bdcService = SPFarm.Local.Services.GetValue<BdcService>(String.Empty);
if (null != bdcService)
{
    databaseCatalog = bdcService.GetDatabaseBackedMetadataCatalog(context);
}
string @namespace = "<nameSpace>";
string entityName = "<entityName>";
string lsiName = "<lobsystemInstance>";

IEntity entity = databaseCatalog.GetEntity(@namespace, entityName);
ILobSystem lobSystem = entity.GetLobSystem();
ILobSystemInstance lsi = lobSystem.GetLobSystemInstances()[lsiName];

関連項目

参照

IMetadataCatalog

BdcService

GetDatabaseBackedMetadataCatalog(SPServiceContext)

GetEntity(String, String)

IEntity

GetLobSystem()

ILobSystem

GetLobSystemInstances()

ILobSystemInstance