Verwirrung um ORM: LINQ-to-SQL oder ADO.NET Entity Framework?

Seite 5: APIs und Fazit

Inhaltsverzeichnis

Bei der Programmierschnittstelle gibt es ebenfalls Unterschiede, so entspricht SubmitChanges() in LINQ-to-SQL [code[SaveChanges()[/code] in EF. LINQ-to-SQL unterstützt die LINQ-Operationen First (nimm den ersten aus einer Liste) und Single (nimm den einzigen aus einer Liste, Fehler wenn es mehrere gibt). Das Entity Framework kennt kurioserweise nur First, nicht Single. Derartige kleine, unverständliche Unterschiede gibt es leider viele.

Abbildung 1: Zeit für das Lesen aller 10000 Datensätzen (1 Abfrage, Millisekunden).

Auch bei der Geschwindigkeit lässt sich kein eindeutiger Sieger ausmachen: LINQ-to-SQL lädt Daten schneller als EF, schwächelt aber beim Schreiben von Änderungen. Die Messungen in Abbildung 1 bis 3 basieren auf einer Datenbank in Microsofts SQL Server 2008 mit einer 12-spaltigen Tabelle (nur einfache Datentypen) und 10000 Datensätzen.

Abbildung 2: Zeit für das Lesen 1000 zufällig ausgewählter Datensätze in 1000 verschiedenen Abfragen, die sich durch die WHERE-Parameter unterscheiden (ms). Vorkompilierung der Abfragen steigert die Leistung erheblich.

Abbildung 3: Zeit für das Ändern 600 zufällig ausgewählter Datensätze (ms).

Mehr Flexibilität gibt es im Entity Framework, aber einige Funktionen aus LINQ-to-SQL vermisst man hier schmerzlich. In EF 2.0 in .NET 4.0 bessert der Hersteller erheblich nach. Für die heutige Entscheidung ist außerdem wichtig, dass Microsoft die Entwickler von LINQ-to-SQL in das Team des Entity Framework überführt hat. Von dort verlautete, dass man sich auf die Weiterentwicklung des Entity Framework konzentrieren werde. Da hat das Team auch noch einiges zu tun, wenn man als Maßstab die am Anfang genannten Drittanbieter nimmt.

Mit Hinblick auf die Zukunftsfähigkeit sollte man also (wenn man sich nicht für einen Drittanbieter entscheidet) das ADO.NET Entity Framework wählen, auch wenn LINQ-to-SQL nicht so schnell aus dem .NET Framework verschwindet. Es geht auf jeden Fall in die .NET-Annalen ein: als eine der am schnellsten "verendeten" Bibliotheken.

Dr. Holger Schwichtenberg bietet mit seinem Unternehmen www.IT-Visions.de Beratung und Schulungen im .NET-Umfeld. Er hält Vorträge auf Fachkonferenzen und ist Autor zahlreicher Fachbücher. (ck)