Wenn Sie mit Microsoft 365‑Daten arbeiten, wie E‑Mails, Kalender, Kontakte oder Aufgaben, ist es nicht immer erforderlich, alle Elemente abzurufen. Es ist auch nützlich, in Ihren E‑Mail‑Anwendungen filtern, sortieren und bestimmte Dateneigenschaften abrufen zu können. Zum Beispiel kann das Filtern von Nachrichten nach Absender, das Sortieren von Kalendereinträgen nach Datum oder das Abrufen nur weniger Felder dazu beitragen, Ihre App schnell zu halten.
Genau hier kommen OData‑Abfragen ins Spiel. Microsoft Graph unterstützt OData, um Entwicklern zu ermöglichen, Daten direkt auf dem Server zu filtern, zu sortieren und auszuwählen, bevor sie überhaupt an Ihre App gesendet werden. Das Ergebnis ist eine höhere Leistung, kleinere Payloads und reaktionsschnellere Anwendungen.
Aspose.Email for .NET macht diesen Vorgang einfach mit seiner [ODataQueryBuilder][2] Klasse. In diesem Artikel werden wir untersuchen, wie es funktioniert und wie Sie es verwenden können, um dynamische, leistungsstarke Microsoft Graph‑Abfragen in C# zu erstellen.
Warum OData-Abfragen verwenden?
Die Microsoft Graph API bietet umfangreiche Funktionen, kann jedoch bei der manuellen Erstellung von Abfragen komplex sein. OData‑Parameter ermöglichen serverseitiges Filtern, Sortieren, Paginieren und die Auswahl von Eigenschaften, wodurch die clientseitige Verarbeitung minimiert wird. Dieser Ansatz erhöht die Effizienz, indem er den Datentransfer reduziert und die Antwortzeiten beschleunigt, wodurch Ihre Anwendungen schneller und skalierbarer werden.
Mit OData‑Unterstützung können Sie jetzt:
- Filtern Sie Nachrichten, Kontakte oder Ereignisse mithilfe benutzerdefinierter Bedingungen.
- Sortieren Sie Daten über
OrderByin aufsteigender oder absteigender Reihenfolge. - Wählen Sie nur die benötigten Eigenschaften aus, um die Payload‑Größe zu minimieren.
- Implementieren Sie Paging mit
TopundSkip, ideal für große Postfächer. - Erweitern Sie verwandte Entitäten (z. B. Anhänge) mit
Expand. - Zählen und durchsuchen Sie Datensätze für einen schnelleren Zugriff.
Diese Funktionen sind über die neue Klasse [ODataQueryBuilder][2] zugänglich und typensicher.
Ihre .NET-Komponente zum Erstellen von Microsoft Graph-Abfragen in C#
Aspose.Email for .NET ist eine leistungsstarke API zur Verarbeitung von E‑Mails, die Entwicklern ermöglicht, direkt mit Microsoft 365-, Exchange‑ und Outlook‑Daten in C# zu arbeiten. Sie unterstützt das Lesen und Schreiben beliebter E‑Mail‑Formate wie MSG, EML, PST und MBOX und integriert sich in verschiedene Protokolle und Dienste, einschließlich der Microsoft Graph API.
Mit dem integrierten [ODataQueryBuilder][2] können Sie dynamische und typsichere OData‑Abfragen in C# erstellen. Dadurch wird es einfach, bestimmte Mailbox‑Daten – Nachrichten, Kontakte oder Kalenderereignisse – zu filtern, zu sortieren und abzurufen, ohne komplexe Abfrage‑Strings manuell schreiben zu müssen.
Durch das Auslagern der Abfragelogik an den Microsoft Graph-Server hilft Aspose.Email for .NET Entwicklern, schnellere, effizientere und skalierbare Anwendungen zu erstellen, die mit Microsoft 365‑Daten interagieren.
Um loszulegen, installieren Sie das Aspose.Email NuGet-Paket in Ihrem .NET-Projekt:
Install-Package Aspose.Email
Dieses Paket enthält alle notwendigen Klassen, die Ihren Anforderungen entsprechen.
Einführung der ODataQueryBuilder-Klasse
Die Klasse [Aspose.Email.Clients.Graph.ODataQueryBuilder][2] wurde entwickelt, um zu vereinfachen, wie Sie Graph‑Abfragen schreiben. Sie können sie mit mehreren Graph‑Client‑Methoden verwenden, einschließlich:
ListFoldersListMessagesListContactsListCalendarItemsListAttachmentsListCategoriesListOverridesListRulesListTaskListsListTasksListNotebooks
Jede unterstützt einen optionalen ODataQueryBuilder‑Parameter für erweiterte Filterung, Sortierung, Paging und Auswahl, direkt in Ihren Graph‑Anfragen.
Praktisches Beispiel: Postfachdaten filtern und sortieren
Das untenstehende Codebeispiel demonstriert sowohl grundlegende als auch erweiterte Abfrageszenarien. Es zeigt die Ordnersortierung und erweiterte Nachrichtenfilterung und veranschaulicht OData‑Parameter für Sortierung, Kriterien, Paging, ausgewählte Felder und die Erweiterung verwandter Entitäten.
var accessParameters = Settings.User1;
var provider = new AzureConfidentialTokenProvider(
accessParameters.TenantId,
accessParameters.ClientId,
accessParameters.ClientSecret);
var client = GraphClient.GetClient(provider, accessParameters.TenantId);
client.Resource = Aspose.Email.Clients.Graph.ResourceType.Users;
client.ResourceId = accessParameters.Username;
client.EndPoint = "https://graph.microsoft.com";
// List folders sorted by name
var builder = new ODataQueryBuilder { OrderBy = "name asc" };
var folders = client.ListFolders(builder);
foreach (var folder in folders)
Console.WriteLine(folder.DisplayName);
// Advanced message filtering
var folderId = folders.Find(x => x.DisplayName == "Inbox").ItemId;
builder = new ODataQueryBuilder {
Filter = "startswith(name,'A')",
OrderBy = "name asc",
Top = 10,
Skip = 5,
Select = new[] { "name", "age" },
Expand = new[] { "children", "parents" },
Count = true,
Search = "\"John Doe\"",
Format = "json"
};
var msgs = client.ListMessages(folderId, builder);
foreach (var msg in msgs)
Console.WriteLine(msg.Subject);
Praxisbeispiele
Betrachten Sie einige praktische Situationen, in denen der [ODataQueryBuilder][2] angewendet werden kann, um die Arbeit mit Microsoft Graph‑Daten in Ihren .NET‑Anwendungen zu verbessern:
1. UI-Ordnerlisten
Ordnen Sie Ordner alphabetisch [OrderBy][3] = "name asc" für eine saubere Benutzeroberfläche.
2. Benutzerdefinierte Filterung
Verwenden Sie [Filter][4], um Nachrichten von bestimmten Absendern oder mit bestimmten Betreffzeilen zu finden.
3. Paging großer Postfächer
Kombinieren Sie [Top][5] und [Skip][6], um riesige Postfächer in handhabbare Ergebnisse zu zerlegen.
4. Spezifische Eigenschaften auswählen
Rufen Sie nur die Felder ab, die Sie benötigen, mit [Select][7], um die Nutzlast zu minimieren und die Leistung zu steigern.
5. Verwandte Daten einbeziehen
Verwenden Sie [Expand][8], um Anhänge, Kategorien oder Threads in einer einzigen Abfrage einzuschließen.
Tipps für die effektive Nutzung von OData
- Bestätigen Sie, dass Ihr GraphClient Resource, ResourceId und EndPoint genau spezifiziert.
- Wählen Sie einen geeigneten Authentifizierungsanbieter, z. B. [AzureConfidentialTokenProvider][13].
- Kombinieren Sie [Filter][4], [Select][7], [OrderBy][3] und [Top][5] für optimale Abfragen.
- Nutzen Sie [Count][14] für die Gesamtzahl der Elemente, ohne alle Daten zu laden.
- Bereiten Sie die Paging‑Logik vor, um große Datensätze effizient zu verarbeiten.
Conclusion
In diesem Artikel haben wir gelernt, wie man die Klasse [ODataQueryBuilder][2] der Aspose.Email for .NET-Bibliothek zum Erstellen und Ausführen von Microsoft Graph‑Abfragen verwendet. Anstatt die OData‑Syntax manuell zu komponieren, können Sie jetzt typensichere, dynamische und lesbare Abfragen direkt in Ihrem C#‑Code erstellen. Die Einführung der OData‑Abfrageunterstützung in Aspose.Email for .NET befähigt Entwickler, intelligentere und effizientere Anwendungen zu bauen, die mit Microsoft Graph interagieren.
Bereit, schnellere und effizientere .NET-Anwendungen mit Microsoft Graph zu erstellen?
- Herunterladen die neueste Aspose.Email for .NET
- Entdecken Sie weitere Codebeispiele in der API-Dokumentation
- Herunterladen Sie eine kostenlose 30‑tägige temporäre Lizenz zur Evaluierung der Bibliothek ohne Einschränkungen.
