Sie sind hier: Wissen
Begriff Active Data Objects .NET 3.x
Abkürzung ADO.NET 3.x
Eintrag zuletzt aktualisiert am 08.11.2007

 Zur Stichwortliste unseres Lexikons

Was ist Active Data Objects .NET 3.x ?

Bereits auf der Professional Developers Conference 2005 sah man Codebeispiele, in denen Microsoft neue ADO.NET-Klassen namens MapConnection und MapCommand verwendet. Im Oktober 2005 wollte Microsoft aber noch keine Details dazu verraten. Nachdem die Firma erste ADO.NET-Enthüllungen vom Mai 2006 zunächst wieder zurückgezogen hatte, gibt es jetzt nicht nur umfangreiche Dokumente, sondern auch eine erste Vorabversion der kommenden ADO.NET-Version zum kostenlosen Download.

Fakten
----

Codename: ADO.NET vNext
Tatsächlicher Name: noch unbekannt
Termin: Mitte 2008

Neuerungen
----

1. ADO.NET Entity Framework
2. ADO.NET Data Services

Die kommende Version von ADO.NET dreht sich im Schwerpunkt um das so genannte ADO.NET Entity Framework, mit dem Microsoft den Datenzugriff um eine zusätzliche Abstraktionsschicht erweitert. Kernelement des ADO.NET Entity Framework sind das Entity Data Model (EDM) und die Sprache Entity SQL (eSQL) sowie die Integration von eSQL in die .NET-Programmiersprachen (Language Integrated Query).

Das Entity Data Model (EDM) ist eine XML-Sprache zur Beschreibung von Datenstrukturen aller Art (relationale Daten, XML-Daten, .NET-Objekte). EDM unterstützt komplexe Datentypen, Vererbung und Beziehungen.

EDM-Beschreibungen können auf andere EDM-Beschreibungen abgebildet werden (EDM Mapping). Ein Beispiel für ein EDM Mapping ist die Abbildung einer .NET-Klassenhierarchie auf eine relationale Datenbank. Für das objekt-relationale Mapping kann man .NET-Klassendefinitionen aus EDM-Beschreibungen generieren lassen. Die generierten .NET-Klassen erben von der Basisklasse Entity. Ein Entwickler kann die Klassen jedoch um eigene Attribute und Methoden anreichern ohne erneut zu erben, da die generierten Klassen die in .NET 2.0 eingeführte Möglichkeit der partiellen Klassen nutzen.

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 eigentlich schon als Abkürzung für Embedded SQL verwendet wird.

Im Programmcode 3.x ist die Ausführung von eSQL mit Hilfe eines neuen .NET Data Providers 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. LINQ ist kein Teil von ADO.NET 3.x, sondern wiederum ein Aufsatz. Die aktuelle Version von LINQ stammt aus dem Mai 2006.

Durch die im Entity Framework integrierten Object Services kann man Änderungen an Entities auch persistent machen. LINQ kann man auch auf Datasets anwenden, sodass Datasets endlich auch eine vollständige Abfragesprache erhalten.

Fazit

Das Entity Framework erweitert .NET um einen wichtigen Abstraktionsbereich, in dem Java bisher einen deutlichen Vorsprung hatte. Sicherlich müssen viele .NET-Entwickler wieder einiges dazulernen. Aber im Entwickleralltag wird das ADO.NET Entity Framework viele Arbeitsstunden (bei der Datenzugriffsschicht) einsparen und die Entwicklung der Geschäftslogik einfacher und intuitiver machen. Hoffen wir, dass Microsoft dieses Mal das Produkt zur Marktreife bringt und es dem Entity Framework nicht geht wie den Objectspaces.

Beratung & Support

Schulungen zu diesem Thema

 Anfrage für eine individuelle Schulung zum Thema Active Data Objects .NET 3.x ADO.NET 3.x  Gesamter Schulungsthemenkatalog