次の方法で共有


コード スニペット: 外部コンテンツ タイプの BulkSpecificFinder メソッド インスタンスを実行する

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

適用対象: SharePoint Server 2010

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

説明

以下のコード例は、サーバー上で BDC ランタイム オブジェクト モデルを使用することにより、プログラミングによって外部コンテンツ タイプの BulkSpecificFinder メソッド インスタンスを実行する方法を示します。

前提条件

  • サーバー上の 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. 有効な値で <ID> 値と SiteURL 値を置換します。

  9. このサンプルは、AdventureWorks サンプル データベースと SalesOrder 外部コンテンツ タイプに基づいています。必要に応じて、コードの外部コンテンツ タイプと外部システムの名前を LobSystem に変更します。

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

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

using System;
using System.Collections.Generic;
using Microsoft.SharePoint.BusinessData.SharedService;
using Microsoft.BusinessData.MetadataModel;
using Microsoft.BusinessData.MetadataModel.Collections;
using Microsoft.BusinessData.Runtime;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint;
 
namespace SDKSamples
{
    class Methods
    {
 
         static void Main(string[] args)
         {
            List<Identity> identities = new List<Identity>();
            identities.Add(new Identity(<ID1>));
                        identities.Add(new Identity(<ID2>));
            identities.Add(new Identity(<ID3>));
            identities.Add(new Identity(<ID4>));
            FindMultipleSalesOrderById(identities);
         }
 
         // BulkSpecificFinder.
         public static void FindMultipleSalesOrderById(
            IList<Identity> identities)
         {
            string SiteURL = "<siteUrl>";
 
            using (SPSite site = new SPSite(SiteURL))
            {
                using (new Microsoft.SharePoint.SPServiceContextScope(
                   SPServiceContext.GetContext(site)))
                {
                    BdcService service =
                        SPFarm.Local.Services.GetValue<BdcService>(String.Empty);
                    IMetadataCatalog catalog =
                        service.GetDatabaseBackedMetadataCatalog(
                        SPServiceContext.Current);
 
                    // Get entity.
                    IEntity salesOrderEntity = catalog.GetEntity(
                        "AdventureWorks", "SalesOrder");
 
                    // Get LOB System instance.
                    ILobSystemInstance lobSystemInstance =
                        salesOrderEntity.GetLobSystem().
                        GetLobSystemInstances()["AdventureWorks"];
 
                    IEntityInstanceEnumerator orders = null;
 
                    try
                    {
                        // Read the given identities.
                        orders = salesOrderEntity.FindSpecificMultiple(
                            identities,
                            "Bulk Read Item",
                            lobSystemInstance,
                            OperationMode.Online);
 
                        // List found orders.
                        while (orders.MoveNext())
                        {
                            Console.WriteLine(
                                String.Format(
                                "Id: {0}, OrderDate: {1}",
                                orders.Current["SalesOrderID"],
                                orders.Current["OrderDate"]));
                        }
                    }
                    finally
                    {
                        // Ensure the enumerator is closed.
                        if (orders != null)
                        {
                            orders.Close();
                        }
                    }
                }
            }
        }
    }
}

関連項目

参照

Identity

BdcService

Services

IMetadataCatalog

GetDatabaseBackedMetadataCatalog(SPServiceContext)

GetEntity(String, String)

IEntity

GetLobSystem()

GetLobSystemInstances()

ILobSystemInstance

IEntityInstanceEnumerator

FindSpecificMultiple(IList<Identity>, String, ILobSystemInstance, OperationMode)