Entity SQL (ESQL)

Eintrag zuletzt aktualisiert am: 03.03.2007

Zur Abfrage von Informationen aus Datenquellen, die durch EDM beschrieben werden, verwendet Microsoft eine neue Erweiterung von SQL (Entity SQL). Die Redmonder kürzen dies mit eSQL ab, obwohl eSQL oft für zahlreiche SQL-Varianten (Embedded SQL, Extended SQL und Eiffel SQL) verwendet wird. eSQL ist syntaktisch dem klassischen SQL sehr ähnlich. Listing 1 und 2 zeigen eine Gegenüberstellung einer SQL-Abfrage mit drei Joins und einer gleichwertigen eSQL-Abfrage, die ohne Joins auskommt.

Im Programmcode 3.x ist die Ausführung von eSQL mit Hilfe eines neuen ADO.NET-Datenproviders möglich, den Microsoft den "Map Provider" nennt. Im Normalfall stehen die eSQL-Befehle als Zeichenketten im Programmcode. Microsoft ermöglicht durch Language Integrated Query (LINQ) aber auch, dass SQL- und eSQL-Befehle wie Befehlswörter im Quelltext von C# 3.0 und Visual Basic 9.0 hinterlegt werden und damit auch der Prüfung durch den jeweiligen Sprachcompiler unterliegen.

Pläne: Eine zukünftige Version des Microsoft SQL Servers soll direkt Entity SQL verstehen.