コード スニペット: BDC メタデータ ストアから BDC モデルをエクスポートする
最終更新日: 2010年5月13日
適用対象: SharePoint Server 2010
この記事の内容
説明
前提条件
この例を使用するには
説明
以下の例は、BDC モデルをメタデータ ストアからエクスポートする方法を示しています。
前提条件
サーバー上の Microsoft SharePoint Server 2010 あるいは Microsoft SharePoint Foundation 2010。
クライアント コンピューター上の Microsoft .NET Framework 3.5。
Microsoft Visual Studio。
この例を使用するには
Visual Studio を開始し、C# コンソール アプリケーション プロジェクトを作成します。プロジェクトを作成するときに、[.NET Framework 3.5] を選択します。
[表示] メニューから、[プロパティ ページ] をクリックしてプロジェクト プロパティを表示します。
[ビルド] タブから、[プラットフォーム ターゲット] で、[Any CPU] を選択します。
プロジェクト プロパティ ウィンドウを閉じます。
[ソリューション エクスプローラー] の [参照設定] で、[System] と [System.Core] を除いて、すべてのプロジェクト参照を削除します。
プロジェクトに以下の参照を追加します。
Microsoft.BusinessData
Microsoft.SharePoint
System.Web
この手順の最後に示すコードで、Program.cs で自動生成されたコードを置換します。
有効な SharePoint サイト URL で、"<siteUrl>" 文字列値を置換します。
プロジェクトを保存します。
プロジェクトをコンパイルして、実行します。
using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.BusinessData.Administration;
using Microsoft.SharePoint.BusinessData.SharedService;
namespace Microsoft.SDK.Sharepoint.Samples
{
class Program
{
static void Main(string[] args)
{
# region export
using (SPSite site = new SPSite(<siteUrl>))
{
using (new Microsoft.SharePoint.SPServiceContextScope(SPServiceContext.GetContext(site)))
{
if (SPFarm.Joined == false) throw new Exception("You are not running in a server in a SharePoint Farm");
BdcService service = SPFarm.Local.Services.GetValue<BdcService>(String.Empty);
AdministrationMetadataCatalog catalog = service.GetAdministrationMetadataCatalog(SPServiceContext.Current);
// Model names could be long and complex, getting and listing all models.
ModelCollection models = catalog.GetModels("*");
Console.WriteLine("ID" + "\tModel Name");
foreach (Model m in models)
{
Console.WriteLine(m.Id + "\t" + m.Name);
}
// Let the user choose the model by ID.
Console.WriteLine("Type the ID of the Model to export");
uint modelToExport = uint.Parse(Console.ReadLine());
foreach (Model m in models)
{
//Make sure the model is there by ID
if (m.Id == modelToExport)
{
Console.WriteLine("Writing model to:");
Console.WriteLine(m.Name + ".xml");
//Export the model with all contents to model name file with XML extension.
System.IO.File.WriteAllText(m.Name + ".xml", m.WriteXml(Microsoft.SharePoint.BusinessData.Parser.PackageContents.All), System.Text.Encoding.Unicode); }
}
}
}
# endregion export
}
}
}