La sortie du pilote dépend de la demande spécifique effectuée. Certaines méthodes, comme Uql(), renvoient un objet Response, qui vous oblige à extraire les données et à les convertir en type pilote correspondant pour servir l'application C#. D'autres méthodes, telles que ShowGraph(), ShowSchema(), et ShowProperty(), renvoient directement des données du type pilote (GraphSet, Schema, Property, etc.). Veuillez lire Mappage des types Ultipa et Go pour une liste des principaux types de pilote.
Réponse
Les méthodes Uql() et d'autres renvoient un objet Response. Response a les champs suivants:
Champ |
Type |
Description |
|---|---|---|
UqlReply |
UqlReply | Réponse de l'exécution de la demande. |
Status |
Status | Statut d'exécution de la demande. |
Statistic |
Statistic | Statistiques de l'exécution de la demande, y compris NodeAffected, EdgeAffected, TotalCost, EngineCost, etc. |
Explain |
List |
Arbre d'explication pour l'instruction UQL. |
Si la requête renvoie des données, vous pouvez extraire chaque élément par son alias en utilisant la méthode Get() ou Alias(). Les deux méthodes renvoient un objet DataItem, qui intègre le résultat de la requête. Pour mapper le DataItem au type pilote correspondant, veuillez lire Mappage des types de données Ultipa et C#.
Get()
Récupère des données par l'indice de l'alias.
Paramètres:
int: Indice de l'alias.
Retourne:
DataItem: Les données récupérées.
var res = await ultipa.Uql("find().nodes() as n return n._id, n._uuid limit 3");
Console.WriteLine(JsonConvert.SerializeObject(res.Get(0)));
L'instruction UQL renvoie deux alias n._id et n._uuid; la méthode Get() récupère l'alias n._id à l'indice 0.
{"Data":{"Alias":"n._id","Attr":{"ValueType":7,"Values":[[85,76,84,73,80,65,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49],[85,76,84,73,80,65,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50],[85,76,84,73,80,65,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,51]]}},"AliasName":"n._id","OriginalResultType":4}
Alias()
Récupère des données par le nom de l'alias.
Paramètres:
string: Nom de l'alias.
Retourne:
DataItem: Les données récupérées.
var res = await ultipa.Uql("find().nodes() as n return n._id, n._uuid limit 3");
Console.WriteLine(JsonConvert.SerializeObject(res.Alias("n._uuid")));
L'instruction UQL renvoie deux alias n._id et n._uuid; la méthode Alias() récupère l'alias n._uuid par son nom.
{"Data":{"Alias":"n._uuid","Attr":{"ValueType":4,"Values":[[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,2],[0,0,0,0,0,0,0,3]]}},"AliasName":"n._uuid","OriginalResultType":4}