Der ADO.NET Entity Framework-Designer in Visual Studio 2010 (Abb. 3)
Neben Designern für grafische Oberflächen bietet Visual Studio Designer für Datenbanken und Datenzugriffstechniken, namentlich typisierte ADO.NET DataSets sowie die objektrelationalen Mapper LINQ-to-SQL und ADO.NET Entity Framework (siehe Abbildung 3). Alle drei erstellen Klassen für den Zugriff auf relationale Datenbanken. Allerdings gibt es für LINQ-to-SQL in Visual Studio 2010 nur noch kleinere Schönheitskorrekturen [2], weil die Zukunftstechnik das ADO.NET Entity Framework ist. Hier hat Microsoft erheblich investiert. Bisher konnte das Entity Framework nur Reverse Engineering (alias Database First, also das Erstellen eines Objektmodells aus einer Datenbank), nicht aber Forward Engineering (alias Code First oder Model First oder Domain First, also das Erzeugen einer Datenbank aus einem Objektmodell). In Visual Studio 2010 kann man nun ein Objektmodell von Grund auf mit Assoziationen und Vererbung gestalten und sich dazu ein SQL-DDL-Skript erstellen lassen.
Der von dem Entity-Framework-Designer erzeugte Programmcode war bisher nur recht umständlich anzupassen. Visual Studio 2010 verwendet das ASP.NET-ähnliche Text Template Transformation Toolkit (T4) für die Codegenerierung und eine Anpassung des Codegenerators ist wesentlich einfacher. Auch kann man unterschiedliche Codegeneratoren als Elementvorlagen speichern und über die Funktion "Add New Artifact Generation Item" direkt im Designer wählen. Zu den Vorlagen, die Microsoft liefern will, gehören neben der bisherigen Codegenerierungsart eine Vorlage für POCOs (Plain Old CLR Objects), die keine Basisklassen benötigen, sowie "Self Tracking Entities", die auch nach der Loslösung von ihrem Objektkontext noch merken können, was sich in ihnen geändert hat. Ebenso unterstützt der neue Designer die Auslagerung von Spalten in eigene Typen (Complex Types) und verbessert die Verwendung gespeicherter Prozeduren. In Visual Studio 2010 startet Microsoft zudem einen neuen Versuch für eine grafische Bearbeitung von XML-Schema-Dateien (XSD). Werkzeuge aus früheren Versuchen hat Microsoft aber wieder ausgebaut.
Ein weiterer grafischer Designer erstellt Workflows für die Windows Workflow Foundation (WF). Die bisherige Implementierung der Laufzeitumgebung und des Designers war aber so schlecht [3], dass Microsoft in .NET 4.0/Visual Studio 2010 alles neu implementiert hat. Der neue Designer arbeitet zwar tatsächlich etwas flüssiger, die Bedienung ist jedoch (zumindest in der Beta-2-Version) immer noch umständlich. Viel besser als bisher unterstützt Visual Studio 2010 die Programmierung für SharePoint, und ganz neu ist die Unterstützung für Microsofts Cloud-Dienste "Azure".
Bisher gab es von Visual Studio neben den kostenfreien Express-Versionen zahlreiche kommerzielle Versionen: Standard, Professional sowie mindestens vier Ausprägungen der Team-System-Reihe mit "Team Suite" an der Spitze. Den Namen "Visual Studio Team System" als Oberbegriff für alle Versionen, die nicht nur Editieren und Debuggen, sondern auch andere Bereich des Application Lifecycle Management (ALM) unterstützen, beerdigt Microsoft mit Visual Studio 2010 wieder. Fortan gibt es neben den Express-Versionen nur noch drei Varianten: Professional, Premium und Ultimate. Premium versteht sich gegenüber Professional als "Vollausstattung für Softwareentwickler und -tester". Alle ALM-Werkzeuge bietet hingegen nur die Ultimate-Version.
Weiterhin getrennt gibt es den Team Foundation Server (TFS), den Microsoft ebenso aktualisiert. Neu in TFS ist die "Team Foundation Server Basic Installation", die einen Basisfunktionsumfang des TFS 2010 mit zugehöriger Datenbank – auch auf Client-Betriebssystemen – installiert. Bisher war die Installation und Konfiguration des TFS ein aufwendiges Unterfangen mit viel manueller Arbeit und nur auf Servern möglich. Für kleine Teams soll der TFS 2010 nicht mehr kosten als bisher eine Lizenz von Visual Source Safe (VSS) [4].
Darüber hinaus gibt es zahlreiche funktionale Verbesserungen in allen Gebieten, etwa Hierarchien zwischen Aufgaben, serverseitige Prüfungen vor dem endgültigen Einchecken von Code ("Gated Check-ins"), Modellierung von Build-Prozessen mit WF, mehr Berichte, eine bessere Integration mit Microsofts Excel und Project sowie eine Zusammenfassung von SharePoint mit dem bisher getrennten TFS Web Access. Außerdem kann man nun unterschiedliche Projekte auf einem TFS besser trennen, indem man einzelne Datenbanken für jedes Projekt anlegt.
Auf der nächsten Seite: Fazit
Themenforum: .NET