固定クエリのアプリケーションの作成

更新日: 2014年2月

 

DataMarket ロゴ

Visual Studio でダウンロード可能なサービス クラスを使用して、データ パブリッシャーが固定クエリのデータセットとして指定した Marketplace データセットをプログラムで使用します。

作業を進める前に、以下が用意されていることを確認してください。

  • 有効な Windows Live ID アカウント。Live ID を持っていない場合は、Windows Live ホーム ページにアクセスしてサインアップします。

  • 有効な Marketplace アカウント。Marketplace を持っていない場合は、「Marketplace アカウントの作成」のトピックの手順を実行してください。

  • アプリケーションで使用する Marketplace の固定クエリのデータセットに対するサブスクリプション。固定クエリのデータセットをサブスクライブしていない場合は、「データのオファーにサブスクライブする」の手順を実行します。

 

セクション 説明

手順 1:Visual Studio でプロジェクトを作成する

Visual Studio で Marketplace のデータを使用する新しいコンソール プロジェクトを開始する手順。

手順 2:データ サービスのサービス クラスを追加する

Marketplace データを使用するサービス参照の追加に必要な手順。

手順 3:System.Data.Services.Client を追加する

System.Data.Services.Client への参照をプロジェクトに追加する。

手順 4:マネージ コードでデータを使用する

Marketplace の固定クエリのデータセットを使用するために記述するコード。

完成したプログラムのコード

完成したプログラムのコード。

メタデータ

この固定クエリ クラスの XML メタデータの例。

  1. [スタート] メニューで [Visual Studio] を探します。

  2. [Visual Studio] を右クリックします。

  3. ドロップダウンで [管理者として実行] をクリックします。

  4. このプログラム (devenv.exe) にコンピューターへの変更を許可するかどうかを確認するメッセージが表示されたら、[はい] をクリックします。

  1. Visual Studio の開始ページで [新しいプロジェクト] を選択します。

  2. [新しいプロジェクト] ダイアログで、[Visual C#] と [コンソール アプリケーション] を選択します (Visual Basic を使用する場合は [Visual Basic] と [コンソール アプリケーション] を選択します)。

  3. [新しいプロジェクト] ダイアログ ボックスの上部にある左側のドロップダウン リストから、[.NET Framework 4] を選択します。

    Visual Studio 2010 の既定値は [.NET Framework 4] です。以前のバージョンの Visual Studio を使用していて、.NET Framework 4 がインストールされていない場合は、.NET Framework 4 のダウンロード ページにアクセスしてダウンロードとインストールを行います。

  4. プロジェクトにわかりやすい名前を付けます。たとえば、このプロジェクトの場合には、CensusDemographics という名前を付けることができます。

  5. [OK] をクリックします。

管理者として Visual Studio を起動し、新しいコンソール アプリケーションを作成したら (ステップ 1)、使用するデータ サービスのサービス クラスをダウンロードして追加します。

  1. Marketplace にアクセスします。

  2. [マイ データ] タブを選択します。

  3. Alteryx – Census Demographic Data データ サービスを検索します。

  4. サービス名の右側にある [使用する] をクリックします。
    これにより [詳細ページ] に移動します。

  5. ページの右側にある [.NET C# クラス ライブラリ] をクリックします。

    図 6.2: 固定クエリのクラス ライブラリ


    図 1 – .NET C# クラス ライブラリのダウンロード

  6. ダイアログ ボックスの [保存] ボタンをクリックします。

  7. CensusDemographicDataContainer.cs ファイルをプロジェクト フォルダーに保存します。

    Tipヒント
    このプロジェクトで同じデータ パブリッシャーの複数のデータ サービスを使用する場合は、別のサービス クラス ファイルで上書きしてしまわないように、それぞれのクラス ライブラリ ファイルにわかりやすい一意の名前を付けてください。

  1. Visual Studio プロジェクトに戻ります。

  2. ソリューション エクスプ ローラーで、プロジェクト名 (太字の) を右クリックします。

  3. ドロップダウン メニューから [既存項目の追加] を選択します。

  4. プロジェクト フォルダーにダウンロードしたサービス プロキシ クラスを選択します。

  5. [追加] をクリックします。

  6. ソリューション エクスプ ローラーでファイル名をダブルクリックします。

  7. このサービス クラスの名前空間を探します。
    例: namespace Alteryx

  8. Marketplace データセットを使用するコード ファイルの先頭に次のコードを追加します。

    
    using System.Net;  // needed for authentication
    using Alteryx;     // the namespace of your service class
    
    

1 つのアプリケーションで複数のデータセットを使用する場合は、データ サービスごとに手順 2 ~ 8 を繰り返します。

データセットのサービス クラスに加えて、System.Data.Services.Client への参照をプロジェクトに追加する必要があります。

  1. ソリューション エクスプローラーを開きます。

  2. [参照] を右クリックします。

  3. ドロップ ダウン メニューから、[参照の追加] を選択します。

  4. ダイアログ ボックスの [.NET] タブをクリックします。

  5. System.Data.Services.Client を特定します。

  6. [OK] をクリックします。

サービス クラスが正常にインポートされ、System.Data.Services.Client への参照が追加されたら、コンテナー クラスのメソッドを呼び出してデータセットをクエリすることができます。

以下のコードでは、CensusDemographicDataContainer.cs データセットを使用する簡単なコンソール アプリケーションが定義されます。これらのサービス クラスでは厳密に型指定されたメソッド パラメーターとしてサービス パラメーターを公開するメソッドがアプリケーション コードで事前に構成され、サービス クラス オブジェクトのシンボリック名がこのデータセットに対して一意であるため、どのデータセットが使用されているかに注意することが重要です。

  1. プロジェクトの名前空間にパブリック クラス CensusDemographicData を作成します。

  2. クラス内に 2 つのプライベート変数を作成します。

    1. サービスへの Uri。
      private Uri serviceUri;

    2. 認証の資格情報のサービス コンテナー
      private CensusDemographicDataContainer context;

    
    class CensusDemographicData
    {
        private Uri serviceUri;
        private CensusDemographicDataContainer context;
    }
    
    
  3. CensusDemographicData クラスのコンストラクターを追加します。
    このコンストラクターはプライベート変数とユーザーの資格情報の両方を初期化します。
    ROOT_SERVICE_URL はサービス ルート URL です (サービス ルート URL の確認方法については「Get the Service Root URL」を参照)。
    context はユーザーの資格情報用のサービス コンテナーです。
    IgnoreMissingProperties プロパティは、サーバーで型に追加されるプロパティに対するクライアントの堅牢性を高めるため true に設定します(詳細については、MSDN のドキュメントを参照してください)。
    USER_ID はお使いの Live ID です。
    SECURE_ACCOUNT_KEY は、このアプリケーションで使用している Marketplace アカウント キーです。(「Marketplace アカウントを管理する」を参照してください)。

    
    class CensusDemographicData
    {
        private Uri serviceUri;
        private CensusDemographicDataContainer context;
    
        // class constructor
        public CensusDemographicData()
        {
            serviceUri = new Uri(ROOT_SERVICE_URL);
            context = new CensusDemographicDataContainer(serviceUri);
            context.IgnoreMissingProperties = true;
            context.Credentials = new NetworkCredential(USER_ID, 
                                                        SECURE_ACCOUNT_KEY);
        }
    }
    
    
  4. ジェネリック リストを返す CensusDemographicData クラスのパブリック メソッド (サブ) を作成します。
    この例のプログラムのジェネリック型は CensusDemographicDataEntity です。
    このメソッドはデータ サービスを照会し、成功した場合は結果セットを IList<> (IList (Of )) として返します。何らかの理由でクエリが失敗した場合、メソッドは null (Nothing) を返します。

    
    class CensusDemographicData
    {
        private Uri serviceUri;
        private CensusDemographicDataContainer context;
        // constructor
        public CensusDemographicData()
        {
            serviceUri = new Uri(ROOT_SERVICE_URL);
            context = new CensusDemographicDataContainer(serviceUri);
            context.IgnoreMissingProperties = true;
            context.Credentials = new NetworkCredential(USER_ID, 
                                                        SECURE_ACCOUNT_KEY);
        }
    
        // the method that queries the service and returns the IList<> of demographic data
        public IList<CensusDemographicDataEntity> GetCensusDemographicData()
        {
            IEnumerable<CensusDemographicDataEntity> query;
    
            query = context.GetCensusDemographicData(LONGITUDE,LATITUDE,RADIUS,null);
            // The function GetCensusDemographicData is the fixed web function that you can use to request data from this service
            //    It is found in the service class you downloaded and added to your project.
            // Note: either of the last two parameters may be null but both cannot be null
    
            try
            {
                return query.ToList();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Census ERROR {0}",ex.Message);
                return null;
            }
        }
    }
    
    

  1. 次の 2 つのプライベート変数を含む Main() メソッド (Sub Main()) を記述します。
    メソッドからデータ リストを受け取るジェネリックの IList
    クラスをインスタンス化する変数。

    
    static void Main(string[] args)
    {
        IList<CensusDemographicDataEntity> demographicsList;
        CensusDemographicData dataClass; 
    }
    
    
  2. クラスとそのメソッドを実行するコードを Main に追加します。

    1. CensusDemographicdata クラスのインスタンスを作成します。

    2. GetCensusDemographicData パブリック メソッドを呼び出します。

    3. メソッドがリストを返す場合は、リスト内をループして内容を出力します。

    
    static void Main(string[] args)
    {
        IList<CensusDemographicDataEntity> demographicList;
        CensusDemographicData dataClass; 
    
        dataClass = new CensusDemographicData();
        demographicsList = dataClass.GetCensusDemographicData();
    
        if (demographicsList != null)
        {
            Console.WriteLine("Demographic Data");
            Console.WriteLine("0,-15} {1,10} {2,6} {3,4}", "Name", 
                                                           "Population", 
                                                           "Female", 
                                                           "Male");
            foreach (CensusDemographicDataEntity entity in demographicList)
                Console.WriteLine("{0,-15} {1,10} {2,6} {3,4}", entity.NAME,
                                                                entity.POP00,
                                                                entity.SEX00FEM,
                                                                entity.SEX00MAL);
                }
                Console.Write("Tap any key to end. ");
                Console.ReadKey();
        }
    }
    
    


using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;           // needed for authentication
using System.Text;
using Alteryx;              // service class for this data service

namespace FixedDataQuery
{
    //============================================ Program class
    class Program
    {
        static void Main(string[] args)
        {
            IList<CensusDemographicDataEntity> demographicList;
            CensusDemographicData censusData = new CensusDemographicData();
            demographicList = censusData.GetCensusDemographicData();

            //============================================ CENSUS DEMOGRAPHIC DATA OUTPUT
            // confirm data was returned from query
            if (demographicList != null)
            {
                // print column headings
                Console.WriteLine("Demographic Data");
                Console.WriteLine("{0,-15} {1,10} {2,6} {3,4}", "Name", 
                                                                "Population", 
                                                                "Female", 
                                                                "Male");
                // print query results
                foreach (CensusDemographicDataEntity entity in demographicList)
                    Console.WriteLine("{0,-15} {1,10} {2,6} {3,4}", entity.NAME,
                                                                    entity.POP00,
                                                                    entity.SEX00FEM,
                                                                    entity.SEX00MAL);
            }
            // pause until a key is struck
            Console.Write("Tap any key to end. ");
            Console.ReadKey();
            Console.WriteLine();
        }
    }

    //============================================ CensusDemographicData class
    class CensusDemographicData
    {
        private const string USER_ID = "yourLiveId";
        private const string SECURE_ACCOUNT_ID = "yourMarketplaceAccountKey";  // not your Live password
        private const string ROOT_SERVICE_URL = "https://api.datamarket.azure.com/Data.ashx/Alteryx/CensusDemographicData";

        private const double LONGITUDE = 47.394;
        private const double LATITUDE = -122.392;
        private const double RADIUS = 10.0; 

        private Uri serviceUri;
        private CensusDemographicDataContainer context;

        // ------ constructor
        public CensusDemographicData()
        {
            serviceUri = new Uri(ROOT_SERVICE_URL);
            context = new CensusDemographicDataContainer(serviceUri);
            context.IgnoreMissingProperties = true;
            context.Credentials = new NetworkCredential(USER_ID,
                                                        SECURE_ACCOUNT_ID);
        }

        // ------ method that queries the dataset and returns the resultset (or null)
        public IList<CensusDemographicDataEntity> GetCensusDemographicData()
        {
            IEnumerable<CensusDemographicDataEntity> query;

            query = context.GetCensusDemographicData(LONGITUDE,LATITUDE,RADIUS,null);
            // The function GetCensusDemographicData is the fixed web function that you can use to request data from this service
            // Note: either of the last two parameters may be null but both cannot be null

            try
            {
                return query.ToList();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Census ERROR {0}",ex.Message);
                return null;
            }
        }
    }
}

コードを記述する際、データセットのメタデータが Intellisense に提供されます。使用する IDE が Intellisense をサポートしていない場合や、Intellisense が動作しない場合は、サービスからメタデータを取得できます。

  1. データセットのサービス ルート URI を取得します。
    サービス ルート URI を取得する方法については、「Get the Service Root URL」を参照してください。

  2. サービス ルート URL の末尾に /$metadata を追加します。
    たとえば、サービス ルート URL が https://datamarket.azure.com/Data.ashx/fabrikam.com/inventory である場合、メタデータ URL は https://datamarket.azure.com/Data.ashx/fabrikam.com/inventory/$metadata です。

  3. ブラウザーでメタデータ URL に移動します。

  4. メタデータを解析します。
    次のメタデータは、Alteryx – Census Demographic Data データ サービス用です。


<?xml version="1.0" encoding="utf-8" ?> 
<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:dr="http://schemas.microsoft.com/dallas/2010/04">
   <edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="1.0">
      <Schema xmlns="http://schemas.microsoft.com/ado/2009/08/edm" Namespace="Alteryx" Alias="Alteryx">
         <EntityContainer Name="CensusDemographicDataContainer">
            <EntitySet Name="CensusDemographicDataEntitySet" EntityType="Alteryx.CensusDemographicDataEntity" /> 
                   <FunctionImport Name="GetCensusDemographicData" EntitySet="CensusDemographicDataEntitySet" ReturnType="Collection(Alteryx.CensusDemographicDataEntity)">
               <Parameter Name="Latitude" Type="Edm.Double" Mode="In" Nullable="false" /> 
               <Parameter Name="Longitude" Type="Edm.Double" Mode="In" Nullable="false" /> 
               <Parameter Name="Radius" Type="Edm.Double" Mode="In" Nullable="true" /> 
               <Parameter Name="Minutes" Type="Edm.Double" Mode="In" Nullable="true" /> 
            </FunctionImport>
         </EntityContainer>
         <EntityType Name="CensusDemographicDataEntity">
            <Property Name="NAME" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="KEY" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="POP00" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="SEX00FEM" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XSEX00FEM" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="SEX00MAL" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XSEX00MAL" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE000004" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE000509" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE001013" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE001014" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE001417" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE001820" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE002024" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE002124" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE002529" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE003034" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE003539" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE004044" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE004549" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE005054" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE00GT55" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE005559" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE006064" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE006569" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE007074" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE007579" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE008084" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XAGE00G85" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="AGE00MED" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XEDU00GR911" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XEDU00ASSOC" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XEDU00BACH" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XEDU00GRAD" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XEDU00HSCH" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XEDU00NSCH" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XEDU00LTGR9" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XEDU00SCOLL" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XRAC00AMIND" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XRAC00ASIAN" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XRAC00BLACK" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIS00HISP" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XRAC00HAWAI" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIS00NHISP" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XRAC00OTHER" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XRAC00MULT" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XRAC00WHITE" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN00LT10" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN001015" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN001520" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN002025" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN002530" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN003035" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN003540" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN004045" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN004550" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN005060" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN006075" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN0075100" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN0010025" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN0012550" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN0015020" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XHIN00GT200" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="HIN00MED" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="INC00AVEHH" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="INC00PCI" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="HOO00MEDN" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XYMI00BF69" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XYMI007079" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XYMI008089" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XYMI009094" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XYMI009598" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="XYMI009900" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="HOU00STAB" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
            <Property Name="HOU00TURN" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" /> 
         </EntityType>
      </Schema>
   </edmx:DataServices>
</edmx:Edmx>

メタデータには、以下のような重要な情報が含まれています。

  • データを要求する際に呼び出すこのデータセットに対応した固定 Web 関数の名前と返されるデータ型。
    <FunctionImport Name="GetCensusDemographicData" EntitySet="CensusDemographicDataEntitySet" ReturnType="Collection(Alteryx.CensusDemographicDataEntity)">


  • この関数に渡すパラメーターの順序と、各パラメーターの名前、型、モード、および必須項目かどうか。
    <Parameter Name="Latitude" Type="Edm.Double" Mode="In" Nullable="false" />
    <Parameter Name="Longitude" Type="Edm.Double" Mode="In" Nullable="false" />
    <Parameter Name="Radius" Type="Edm.Double" Mode="In" Nullable="true" />
    <Parameter Name="Minutes" Type="Edm.Double" Mode="In" Nullable="true" />
    パラメーターのうちの 2 つは値が必須 (Nullable="false") で、2 つは値が省略可能 (Nullable="true") です。


  • 返されるフィールドの名前、データ型、null (Nothing) 値の使用可否。
    <Property Name="HOU00TURN" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" />
    固定クエリのデータセットで、属性 dr:Queryable は常に “false” です。


  • このデータセットのエンティティの名前です。
    <EntityType Name="CensusDemographicDataEntity">


  • このデータセットのコンテナーの名前。
    <EntityContainer Name="CensusDemographicDataContainer">


表示: