Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

CSharp-Lambda-Ausdrücke übersetzen

Die Idee: C#-Lambda-Ausdrücke in Klassen übersetzen und die Daten kapseln, die zum Filtern von Daten und zum Erstellen von Abfragezeichenfolgen geeignet sind.
C#-Lambda-Ausdrücke bieten eine bequeme und prägnante Möglichkeit, eine Bedingung für die Filterung fast aller Arten von Daten in einem C#-Programm zu beschreiben. Die Konvertierung eines bestimmten Lambda-Ausdrucks in andere Formen, die in anderen Domänen verwendet werden, wie beispielsweise eine HTTP-Anforderung, kann jedoch mühsam und trickreich sein. Der Artikel von Kamran Saeedi will eine Lösung für dieses Problem mit der ExpressionVisitor-Klasse des .NET-Frameworks aufzeigen.Es ist relativ üblich, einen Mechanismus zur Konvertierung von in Code ausgedrückten Geschäftsbedingungen in ein Format aufzubauen, das von anderen Ebenen einer Lösung, sei es eine Datenbank oder ein Webdienst, verwendet werden kann, insbesondere in den Infrastrukturebenen einer Lösung. Zwei Beispiel-Szenarien: Angenommen, Sie wollen Filterbedingungen aus einem C#-Client an einen HTTP-Dienst übergeben. Diese Bedingungen können in einer Query-String-Sammlung gesendet werden, aber das manuelle Konstruieren von Query-Strings durch String-Verkettung erscheint nicht nur nicht schön und sauber, sondern wäre höchstwahrscheinlich auch schwer zu debuggen und zu warten.Es kann vorkommen, dass Sie Filterbedingungen in SQL-WHERE-Klauseln übersetzen möchten, ohne ein ORM-Tool zu verwenden. Auch hier scheint die Konstruktion von SQL-WHERE-Klauseln für Datenbankabfragen durch manuelle String-Manipulation fehleranfällig und schwer zu warten zu sein.Als elegantes Werkzeug bieten Lambda-Ausdrücke ein prägnantes und bequemes Mittel zur Beschreibung von Filterbedingungen, aber die Arbeit mit diesen Ausdrücken ist nicht sehr einfach. Glücklicherweise ist die ExpressionVisitor-Klasse im Namensraum System.Linq.Expressions ein ausgezeichnetes Werkzeug zum Inspizieren, Modifizieren und Übersetzen von Lambda-Ausdrücken. Der Artikel von Kamran Saeedi auf CodeProject verwendet die Klasse ExpressionVisitor, um eine Lösung für das erste der oben genannten Szenarien vorzuschlagen.
Miscellaneous

Neueste Beiträge

Übersehen seit .NET 8: TimeProvider für testbare Zeit
Seit .NET 8 gibt es TimeProvider als offizielle Zeit-Abstraktion. Doch noch zweieinhalb Jahre später ist sie in vielen Projekten unbekannt.
6 Minuten
1. Jul 2026
RAG mit SQL Server 2025: KI-Antworten mit Kontext - SQL Server 2025 und Microsoft Azure AI, Teil 1
RAG als Architekturpattern verbindet Sprachmodelle mit der realen Wissensbasis eines Unternehmens. Seine pragmatische Umsetzung im Microsoft-Stack: Azure OpenAI für Sprache, SQL Server 2025 und Azure AI Search für Semantik und .NET 10 für Integration und Orchestrierung.
6 Minuten
29. Jun 2026
KI: SQL Server versus Anwendungscode - SQL Server 2025 und Microsoft Azure AI, Teil 2
Wer SQL Server und Anwendungscode bewusst trennt, erhält eine Architektur, die sowohl performant als auch wartbar ist und sich langfristig stabil betreiben lässt.
6 Minuten

Das könnte Dich auch interessieren

C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
Thonny: Python-IDE für Programmieranfänger - Python lernen
Thonny ist eine Entwicklungsumgebung für alle, die das Programmieren erlernen wollen. Die Python-IDE kommt mit einigen eingebauten Tools, verzichtet dafür auf fortgeschrittene Optionen und kann Anfängern den Einstieg erleichtern.
2 Minuten
24. Okt 2018
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige