Exporter (0) Imprimer
Développer tout

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

Mis à jour: février 2014

 

 

Les classes de service téléchargeables dans Visual Studio permettent de consommer par programmation des groupes de données Marketplace spécifiés comme groupes de données de requête fixe par le fournisseur de données.

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

  • compte Windows Live ID valide. Si ce n'est pas le cas, 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 groupe de données de requête fixe du service Marketplace que vous souhaitez utiliser dans votre application. Si vous n'êtes pas abonné à un groupe de données de requête fixe, suivez les instructions de la rubrique Abonnement à une offre de données.

 

Section Description

Étape 1 : création d'un projet dans Visual Studio

Procédure de démarrage d'un nouveau projet console pour consommer des données du service Marketplace dans Visual Studio.

Étape 2 : ajout de la classe de service pour le service de données

Procédure d'ajout d'une référence de service pour consommer des données du service Marketplace.

Étape 3 : ajout de System.Data.Services.Client

Ajout d'une référence à System.Data.Services.Client dans votre projet.

Étape 4 : consommation des données avec un code managé

Code à écrire pour consommer un groupe de données de requête fixe du service Marketplace.

Code de programme terminé

Code du programme terminé.

Métadonnées

Exemple de métadonnées XML pour cette classe de requête fixe.

  1. Dans le menu Démarrer, recherchez Visual Studio.

  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) à effectuer des modifications sur 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 utiliser Visual Basic).

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

    La valeur par défaut .NET Framework 4 est appliquée à Visual Studio 2010. Si vous utilisez une version antérieure de Visual Studio et .NET Framework 4 n'est pas installé sur votre ordinateur, accédez à la page de téléchargement de .NET Framework 4 pour télécharger et installer ce programme.

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

  5. Cliquez sur OK (OK)

Une fois que vous avez 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 consommer.

  1. Accédez au service Marketplace.

  2. Sélectionnez l'onglet My Data (Mes données).

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

  4. Cliquez sur Use (Utiliser) à droite du nom du service.
    Vous accédez à la page Details (Détails) correspondante.

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


    Figure 1 – Téléchargement de la bibliothèque de classes C# .NET

  6. Dans la boîte de dialogue, cliquez sur le bouton Save (Enregistrer).

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

    TipConseil
    Si vous avez l'intention d'utiliser plusieurs services de données du même fournisseur dans ce projet, vérifiez que chaque fichier de la bibliothèque de classes a un nom unique et significatif afin de ne pas remplacer un fichier de classe de service par un autre.

  1. Revenez au projet Visual Studio.

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

  3. Dans le menu déroulant, sélectionnez Add Existing Item (Ajouter un élément existant).

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

  5. Cliquez sur Add (Ajouter).

  6. Double-cliquez sur le nom du 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 dans la partie supérieure des fichiers de code qui utilisent les groupes de données Marketplace.

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

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

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

  1. Ouvrez l'Explorateur de solutions.

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

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

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

  5. Localisez System.Data.Services.Client.

  6. Cliquez sur OK (OK).

Une fois que les classes de service ont été correctement importées et qu'une référence à System.Data.Services.Client a été ajoutée; vous pouvez appeler les méthodes de la classe de conteneur pour interroger le groupe de données.

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

  1. Créez la classe publique CensusDemographicData dans l'espace de noms de votre projet.

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

    1. URI d'accès au service ;
      private Uri serviceUri;

    2. conteneur de service pour vos informations 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 variables privées et les informations d'identification de l'utilisateur.
    ROOT_SERVICE_URL correspond à l’URL racine du service. (Pour plus d'informations sur l'obtention de l'URL racine du service, consultez la rubrique Get the Service Root URL.)
    context correspond au conteneur de service utilisé pour les informations d'identification de l'utilisateur.
    La propriété IgnoreMissingProperties est définie sur true pour que le client prenne en charge les propriétés ajoutées au type sur le serveur (pour plus d'informations, voir la documentation MSDN).
    USER_ID correspond à votre identifiant Live ID.
    SECURE_ACCOUNT_KEY correspond à la clé de compte Marketplace utilisée pour cette application. (Consultez la rubrique Gestion de votre 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) qui renvoie une liste générique dans la classe CensusDemographicData.
    Pour notre programme, CensusDemographicDataEntity est le type générique.
    Cette méthode interroge le service de données et, en cas de succès, renvoie l'ensemble de résultats sous la forme d'une 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.
    IList générique qui reçoit la liste de données de votre méthode.
    Variable pour instancier votre classe.

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

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

    2. Appelez la méthode publique GetCensusDemographicData.

    3. Si la méthode renvoie une liste, parcourez la liste à l'aide d'une boucle et imprimez 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 groupe de données informent IntelliSense à mesure que vous écrivez le code. Si votre interface IDE ne prend pas en charge IntelliSense ou si IntelliSense ne fonctionne pas, vous pouvez obtenir les métadonnées à partir du service.

  1. Obtenez l'URI racine du service du groupe de données.
    Consultez la section Get the Service Root URL pour obtenir des instructions sur l'obtention de l'URI racine du service.

  2. Ajoutez /$metadata à la fin de l'URL racine du service.
    Par exemple, si l'URL racine du 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. Accédez à l'URL des métadonnées.

  4. Analysez les métadonnées.
    Les métadonnées suivantes correspondent au 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 métadonnées incluent diverses informations importantes :

  • Nom de la fonction Web fixe pour le groupe de données appelée pour demander les données et type renvoyé.
    <FunctionImport Name="GetCensusDemographicData" EntitySet="CensusDemographicDataEntitySet" ReturnType="Collection(Alteryx.CensusDemographicDataEntity)">


  • Ordre des paramètres transmis à la fonction, ainsi que nom, type, mode et caractère obligatoire ou facultatif de chaque paramètre.
    <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 la saisie de valeurs est obligatoire (Nullable="false") pour deux des paramètres et facultative (Nullable="true") pour deux autres paramètres.


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


  • Nom de l'entité de ce groupe de données.
    <EntityType Name="CensusDemographicDataEntity">


  • Nom du conteneur de ce groupe de données.
    <EntityContainer Name="CensusDemographicDataContainer">


Afficher:
© 2014 Microsoft