コード スニペット: サーバーで 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 つの外部コンテンツ タイプ
この例を使用するには
Visual Studio を開始し、新しい C# コンソール アプリケーション プロジェクトを作成します。プロジェクトを作成するときに、[.NET Framework 3.5] を選択します。
[表示] メニューから、[プロパティ ページ] を選択してプロジェクト プロパティを表示します。
[ビルド] タブから、[プラットフォーム ターゲット] で、[Any CPU] を選択します。
プロジェクト プロパティ ウィンドウを閉じます。
[ソリューション エクスプローラー] の [参照設定] で、[System] と [System.Core] を除いて、すべてのプロジェクト参照を削除します。
プロジェクトに以下の参照を追加します。
Microsoft.BusinessData (SharePoint_RootFolder\ISAPI から)
Microsoft.SharePoint
この手順の最後に示すコードで、Program.cs が自動生成したコードを置換します。
有効な値で、<siteUrl>、<nameSpace>、<lobsystemInstance>、および <entityName> のプレースホルダー値を置換します。
プロジェクトを保存します。
プロジェクトをコンパイルします。
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];