Création d'une application de requête fixe

Mis à jour: février 2014

 

Logo DataMarket

Utiliser des classes de service téléchargeables dans Visual Studio pour consommer par programme des jeux de données du Marketplace, que l'éditeur a spécifiés comme étant des jeux de données de requête fixe.

Avant de continuer, vérifiez que vous disposez des éléments suivants :

  • Compte Windows Live ID valide. Si vous n'avez pas d'identifiant Live ID, accédez à la page d'accueil de Windows Live et inscrivez-vous.

  • Compte Marketplace valide. Si vous n’avez pas de compte Marketplace, suivez les instructions de la rubrique Création d'un compte Marketplace.

  • Abonnement au jeu de données de requête fixe de Marketplace que vous voulez utiliser dans votre application. Si vous n’êtes pas abonné à un jeu de données de requête fixe, suivez les instructions de la rubrique Abonnement à une offre de données.

 

Section Description

Étape 1 : créer votre projet dans Visual Studio

Étapes à suivre dans Visual Studio pour démarrer un nouveau projet de console afin de consommer des données du Marketplace.

Étape 2 : ajouter la classe de service pour votre service de données

Étapes à suivre pour ajouter une référence de service afin de consommer des données du Marketplace.

Étape 3 : ajouter System.Data.Services.Client

Ajouter à votre projet une référence à System.Data.Services.Client.

Étape 4 : utiliser des données avec du code managé

Code que vous écrivez pour consommer un jeu de données de requête fixe du Marketplace.

Code du programme achevé

Code du programme achevé.

Métadonnées

Exemple de métadonnées XML pour ce jeu de données de requête fixe.

  1. Recherchez Visual Studio dans votre Menu Démarrer.

  2. Cliquez avec le bouton droit sur Visual Studio.

  3. Dans le menu déroulant, cliquez sur Exécuter en tant qu'administrateur.

  4. Lorsque vous êtes invité à autoriser ce programme (devenv.exe) pour apporter des modifications à votre ordinateur, cliquez sur Oui.

  1. Dans la page de démarrage de Visual Studio, sélectionnez Nouveau projet....

  2. Dans la boîte de dialogue Nouveau projet, sélectionnez Visual C# et Application Console (Visual Basic et Application Console si vous préférez Visual Basic).

  3. Dans la liste déroulante en haut de la boîte de dialogue Nouveau projet, sélectionnez .NET Framework 4.

    Dans Visual Studio 2010, .NET Framework 4 est sélectionné par défaut. Si vous utilisez une version antérieure de Visual Studio et que .NET Framework 4 n'est pas installé, accédez à la page de téléchargement de .NET Framework 4 pour le télécharger et l'installer.

  4. Donnez un nom significatif à votre projet. Par exemple, vous pouvez nommer ce projet CensusDemographics.

  5. Cliquez sur OK.

Après avoir démarré Visual Studio en tant qu'administrateur et créé une application console (Étape 1), téléchargez et ajoutez la classe de service pour le service de données que vous souhaitez utiliser.

  1. Accédez au Marketplace.

  2. Sélectionnez l'onglet Mes données.

  3. Recherchez le service de données Alteryx – Census Demographic Data.

  4. Cliquez sur Utiliser à droite du nom du service.
    Vous accédez à la page « Détails ».

  5. Cliquez sur Bibliothèque de classes .NET C# dans la partie droite de la page.

    Figure 6.2 - Bibliothèque de classes pour les requêtes fixes


    Figure 1 – Télécharger la bibliothèque de classes .NET c#

  6. Cliquez sur le bouton Enregistrer dans la boîte de dialogue.

  7. Enregistrez le fichier CensusDemographicDataContainer.cs dans votre dossier de projet.

    TipConseil
    Si vous prévoyez d'utiliser plusieurs services de données du même éditeur de données dans ce projet, assurez-vous que chaque fichier de bibliothèque de classes a un nom unique et significatif, afin de ne pas écraser un fichier de classe de service avec un autre.

  1. Revenez à votre projet Visual Studio.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet (en gras).

  3. Sélectionnez Ajouter un élément existant dans le menu déroulant.

  4. Sélectionnez la classe de proxy de service que vous venez de télécharger dans votre dossier de projet.

  5. Cliquez sur Ajouter.

  6. Double-cliquez sur le nom de fichier dans l'Explorateur de solutions.

  7. Recherchez l'espace de noms pour cette classe de service.
    Par exemple, namespace Alteryx.

  8. Ajoutez le code suivant en haut de tout fichier de code utilisant des jeux de données du Marketplace.

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

Si plusieurs jeux de données sont utilisés dans une application, répétez les étapes 2 à 8 pour chaque service de données.

En plus de la classe de service pour le jeu de données, vous devez ajouter à votre projet une référence à System.Data.Services.Client.

  1. Ouvrez l'Explorateur de solutions.

  2. Cliquez avec le bouton droit sur Références.

  3. Dans le menu déroulant, sélectionnez Ajouter une référence.

  4. Dans la boîte de dialogue, cliquez sur l'onglet .NET.

  5. Recherchez System.Data.Services.Client.

  6. Cliquez sur OK.

Une fois les classes de service correctement importées et une référence ajoutée à System.Data.Services.Client, vous pouvez appeler les méthodes de la classe de conteneur pour interroger le jeu de données.

Le code suivant définit une application console simple qui utilise le jeu de données CensusDemographicDataContainer.cs. Il est important de noter le jeu de données particulier utilisé, car les classes de service comportent des méthodes préconfigurées qui exposent les paramètres de service en tant que paramètres de méthode fortement typée dans le code d'application, et les noms symboliques des objets de classe de service sont uniques pour le jeu de données.

  1. Créez une classe publique, CensusDemographicData, au sein de l'espace de noms de votre projet.

  2. Créez deux variables privées dans votre classe.

    1. Un Uri pour le service.
      private Uri serviceUri;

    2. Un conteneur de service, vos informations d'identification d'authentification.
      private CensusDemographicDataContainer context;

    
    class CensusDemographicData
    {
        private Uri serviceUri;
        private CensusDemographicDataContainer context;
    }
    
    
  3. Ajoutez un constructeur pour la classe CensusDemographicData.
    Le constructeur initialise les deux variables privées, ainsi que les informations d'identification de l'utilisateur.
    ROOT_SERVICE_URL est l'URL racine du service. (Pour savoir comment rechercher l'URL racine du service, consultez Get the Service Root URL.)
    context est le conteneur de service qui est utilisé pour les informations d'identification de l'utilisateur.
    La propriété IgnoreMissingProperties est définie sur true pour rendre le client fiable pour les propriétés ajoutées au type sur le serveur. (Pour plus d'informations, consultez la documentation MSDN.)
    USER_ID est votre identifiant Live ID.
    SECURE_ACCOUNT_KEY est la clé de compte Marketplace que vous utilisez pour cette application. (Consultez Gestion d'un compte 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. Créez une méthode publique (Sub) dans la classe CensusDemographicData, qui renvoie une liste générique.
    Pour notre programme, le type générique est CensusDemographicDataEntity.
    Cette méthode interroge le service de données et, en cas de réussite, renvoie le jeu de résultats sous forme de IList<> (IList (Of )). Si la requête échoue pour une raison quelconque, la méthode renvoie la valeur 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. Écrivez votre méthode Main() (Sub Main()) avec deux variables privées.
    Une variable IList générique qui reçoit la liste de données de votre méthode.
    Une variable pour instancier votre classe.

    
    static void Main(string[] args)
    {
        IList<CensusDemographicDataEntity> demographicsList;
        CensusDemographicData dataClass; 
    }
    
    
  2. Ajoutez à la section Main le code qui exécute votre classe et sa méthode.

    1. Créez une instance de la classe CensusDemographicdata.

    2. Appelez la méthode GetCensusDemographicData publique.

    3. Si la méthode renvoie une boucle de liste via la liste et imprime le contenu.

    
    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;
            }
        }
    }
}

Les métadonnées du jeu de données informent intellisense lorsque vous écrivez votre code. Si votre IDE ne prend pas en charge intellisense ou si intellisense ne fonctionne pas, vous pouvez obtenir les métadonnées du service.

  1. Obtenez l'URI racine du service du jeu de données.
    Pour savoir comment obtenir l'URI racine du service, consultez la section Get the Service Root URL ci-dessus.

  2. Ajoutez /$metadata à la fin de l'URL racine de votre service.
    Par exemple, si votre URL racine de service est https://datamarket.azure.com/Data.ashx/fabrikam.com/inventory, l'URL des métadonnées est https://datamarket.azure.com/Data.ashx/fabrikam.com/inventory/$metadata.

  3. Dans votre navigateur, accédez à l'URL des métadonnées.

  4. Analysez les métadonnées.
    Les métadonnées suivantes concernent le service de données 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>

Les informations importantes figurant dans les métadonnées sont les suivantes :

  • Le nom de la fonction web fixe pour ce jeu de données, que vous appelez pour demander des données, et le type de données qu'elle renvoie.
    <FunctionImport Name="GetCensusDemographicData" EntitySet="CensusDemographicDataEntitySet" ReturnType="Collection(Alteryx.CensusDemographicDataEntity)">


  • L'ordre des paramètres que vous transmettez à la fonction, ainsi que leur nom, leur type, leur mode, et la nécessité ou non de les définir.
    <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" />
    Notez que deux des paramètres requièrent des valeurs (Nullable="false"), et que les valeurs sont facultatives dans les deux autres (Nullable="true").


  • Le nom, le type de données et la validité de la valeur null (Nothing) des champs renvoyés.
    <Property Name="HOU00TURN" Type="Edm.String" Nullable="true" dr:Queryable="false" dr:Returned="true" />
    Notez que, dans un jeu de données de requête fixe, l'attribut dr:Queryable est toujours “false”.


  • Le nom de l'entité de ce jeu de données.
    <EntityType Name="CensusDemographicDataEntity">


  • Le nom du conteneur pour ce jeu de données.
    <EntityContainer Name="CensusDemographicDataContainer">


Afficher: