コード スニペット: 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。

この例を使用するには

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

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

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

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

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

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

    1. Microsoft.BusinessData

    2. Microsoft.SharePoint

    3. System.Web

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

  8. 有効な SharePoint サイト URL で、"<siteUrl>" 文字列値を置換します。

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

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

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

        }
    }
}

関連項目

参照

BdcService

Services

AdministrationMetadataCatalog

GetAdministrationMetadataCatalog(SPServiceContext)

ModelCollection

AdministrationMetadataCatalog

Model

Name

WriteXml(PackageContents)