Verwenden der QueryExpression-Klasse
In Microsoft Dataverse können Sie mit der Klasse QueryExpression komplexe Abfragen für die Verwendung mit der IOrganizationService. RetrieveMultiple erstellen. Methode die RetrieveMultipleRequest Meldung verwenden. Sie können Abfrageparameter für QueryExpression, einrichten, indem Sie die Klassen ConditionExpression,i ColumnSet und FilterExpression verwenden.
Die QueryExpression-Klasse ermöglicht Ihnen, komplexe Abfragen zu erstellen. Die Klasse QueryByAttribute soll die Suche nach Tabellenzeilen vereinfachen, bei denen Spalten mit angegebenen Werten übereinstimmen.
Anzahl der Datensätze
Um festzustellen wie viele Datensätze eine Abfrage zurückgab legen Sie die Eigenschaft ReturnTotalRecordCount auf "true" fest, bevor Sie die Abfrage ausführen. Daraufhin wird TotalRecordCount festgelegt. Ansonsten ist dieser Wert -1.
Beispiel
Im folgenden Beispiel wird gezeigt, wie die QueryExpression-Klasse verwendet wird.
// Query using ConditionExpression and FilterExpression
ConditionExpression condition1 = new ConditionExpression();
condition1.AttributeName = "lastname";
condition1.Operator = ConditionOperator.Equal;
condition1.Values.Add("Brown");
FilterExpression filter1 = new FilterExpression();
filter1.Conditions.Add(condition1);
QueryExpression query = new QueryExpression("contact");
query.ColumnSet.AddColumns("firstname", "lastname");
query.Criteria.AddFilter(filter1);
EntityCollection result1 = _serviceProxy.RetrieveMultiple(query);
Console.WriteLine();Console.WriteLine("Query using Query Expression with ConditionExpression and FilterExpression");
Console.WriteLine("---------------------------------------");
foreach (var a in result1.Entities)
{
Console.WriteLine("Name: " + a.Attributes["firstname"] + " " + a.Attributes["lastname"]);
}
Console.WriteLine("---------------------------------------");
Verwenden von SQL-Hinweisen in einer Abfrage
Die QueryExpression-Klasse enthält eine Eigenschaft namens QueryHints. Indem Sie diese Eigenschaft auf einen der unten gezeigten unterstützten Zeichenfolgenwerte setzen, können Sie einen Hinweis für generierten SQL-Text bereitstellen, der sich auf die Ausführung der Abfrage auswirkt.
QueryHint-Wert | SQL-Abfrageoption und -hinweis |
---|---|
OptimizeForUnknown | Für unbekannt optimieren |
ForceOrder | Befehl durchsetzen |
DisableRowGoal | Hinweis verwenden („Disable_Optimizer_RowGoal”) |
EnableOptimizerHotfixes | Hinweis benutzen ('ENABLE_QUERY_OPTIMIZER_HOTFIXES') |
LoopJoin | Loop verbinden |
MergeJoin | Zusammenführen |
HashJoin | Hash Join |
NO_PERFORMANCE_SPOOL | NO_PERFORMANCE_SPOOL |
MaxRecursion | MAXRECURSION-Nummer |
ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS | ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS |
Weitere Informationen: Hinweise (Transact-SQL) – Abfrage
Siehe auch
Erstellen von Abfragen mit QueryExpression
Verwenden der ColumnSet-Klasse
Verwenden der ConditionExpression-Klasse
Verwenden der FilterExpression-Klasse
QueryExpression
Hinweis
Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)
Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).