Entity Framework 4.0 – neuer Anlauf für den Datenlayer der Zukunft
Mit .NET 4.0 wurde auch das Entity Framework komplett überarbeitet. Microsofts Standard-ORM besitzt damit viele neue Funktionalitäten und zudem eine strategische Bedeutung. Das Entity Framework ist der Name für den Objektrelationalen Mapper (ORM) von Microsoft, der relationale Datenbanken über eine Objektschicht anspricht und die aus Objekten bestehende Geschäftslogik einer Anwendung direkt in einer Datenbank persistieren kann.

» Von , 10.07.2010 15:36. Letztes Update, 10.07.2010 15:37.
Objektrelationale Mapper gibt es seit vielen Jahren. Sie haben sich sehr schnell zu einem unverzichtbaren Bestandteil einer modernen Geschäftsanwendung entwickelt. Zu groß sind die Vorteile, die sich durch die Möglichkeit ergeben, die Geschäftsobjekte einer Anwendung direkt in einer relationalen Datenbank speichern zu können, ohne sich Gedanken über das Abbilden der Klassenstruktur auf die Tabellenstruktur der Datenbank machen oder den stets sehr ähnlichen Zugriffscode immer wieder neu schreiben zu müssen. Microsoft kam nicht nur relativ spät mit einem eigenen ORM, die erste Version des Entity Framework, die mit dem Service Pack 1 von .NET 3.5 und VS 2008 eingeführte wurde, konnte zudem nicht alle Entwickler überzeugen. Außerdem wurde vom Hersteller mit LINQ to SQL kurz vor zuvor mit VS 2008 bereits ein ORM ausgeliefert, der etwas einfacher gestrickt ist, nur auf SQL Server-Datenbanken beschränkt ist und zudem nicht weiterentwickelt werden soll. Mit Entity Framework 4.0 (EF4) liegt die zweite Version des offiziellen ORM von Microsoft vor, das um zahlreiche wichtige Funktionalitäten erweitert wurde (siehe Tabelle am Ende des Artikels).
Provider Modell sorgt für Flexibilität
Abbildung 1 zeigt den Aufbau des Entity Framework. Die Grundidee ist, dass eine (beliebige) Datenbank über einen Entitätscontainer angesprochen wird, der die Tabellen der Datenbank und deren Beziehungen enthält. Im Mittelpunkt des Containers steht das konzeptionelle Modell. Es ist eine XML-Struktur, die die vom Entwickler ausgewählten Tabellen als Entitäten definiert. Das konzeptionelle Modell basiert nicht direkt auf dem Datenbankschema, sondern auf dem Speichermodell, das ebenfalls ein Teil des Containers. Es umfasst die mit Hilfe des Designers aus der Datenbank ausgewählten Tabellen und Abfragen aus denen der Entitätscontainer abgeleitet wird. Der Mapping-Bereich stellt als dritter Teil des Entitätscontainers die Verbindung zwischen den Entitäten im Speichermodell und jenen im konzeptionellen Modell her. Während die meisten ORMs die Tabellen der Datenbank direkt auf eine Klassenstruktur abbilden, verwendet Entity Framework mit dem konzeptionellen Modell eine zusätzliche Ebene, die für mehr Flexibilität sorgen soll.






KOMMENTARE
KOMMENTAR SCHREIBEN