Freigeben über


Exemplarische Vorgehensweise: Erstellen einer neuen Dynamic Data-Website mithilfe des Gerüstbaus

Aktualisiert: November 2007

In dieser exemplarischen Vorgehensweise wird erläutert, wie Sie eine einfache Webanwendung erstellen, die ASP.NET Dynamic Data verwendet. Mithilfe von Dynamic Data können Sie eine datengesteuerte Website mit nur wenig oder gar keinem zusätzlichen Code erstellen. Ein wichtiges Feature von ASP.NET Dynamic Data ist der sogenannte Gerüstbau. Wenn auf einer Dynamic Data-Website der Gerüstbau aktiviert ist, wird das Datenmodell von ASP.NET analysiert, und die Webseiten werden dynamisch für jede Tabelle erstellt. Diese automatisch erzeugten Webseiten stellen Funktionen zum Anzeigen, Einfügen, Löschen und Bearbeiten für jede Tabelle bereit.

Im Folgenden erstellen Sie eine Anwendung, mit der Datenseiten aus der AdventureWorks-Beispieldatenbank angezeigt werden können.

Hier finden Sie ein Video zu diesem Feature.

Vorbereitungsmaßnahmen

Für die Durchführung dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:

  • Microsoft Visual Studio 2008 Service Pack 1 oder Visual Web Developer 2008 Express Edition Service Pack 1

  • Die Beispieldatenbank AdventureWorks oder AdventureWorksLT. Informationen über das Herunterladen und Installieren der SQL Server-Beispieldatenbank finden Sie auf der CodePlex-Website unter Microsoft SQL Server Product Samples: Database. Vergewissern Sie sich, dass Sie die richtige Version der Beispieldatenbank für die von Ihnen verwendete SQL Server-Version (Microsoft SQL Server 2005 oder Microsoft SQL Server 2008) installieren. 

Erstellen einer Dynamic Data-Website

Sie können in Visual Studio Dynamic Data-Websites erstellen, indem Sie eine Websitevorlage verwenden.

So erstellen Sie eine Dynamic Data-Website

  1. Starten Sie Visual Studio oder Visual Web Developer.

  2. Klicken Sie im Menü Datei auf Neue Website. Alternativ können Sie auch auf Neu und dann auf Website klicken.

    Das Dialogfeld Neue Website wird angezeigt.

  3. Wählen Sie unter Von Visual Studio installierte Vorlagen die Option Dynamic Data-Website aus, wenn Sie LINQ to SQL verwenden möchten, bzw. Dynamic Data Entities-Website, wenn Sie das ADO.NET Entity Framework verwenden möchten.

  4. Wählen Sie im ersten Feld Speicherort die Option Dateisystem aus, und geben Sie im zweiten Feld den Namen des Ordners ein, in dem Sie die Seiten der Website speichern möchten.

    Geben Sie z. B. den Ordnernamen C:\WebSites\DynamicData ein.

  5. Klicken Sie in der Liste Sprache auf die Programmiersprache, in der Sie arbeiten möchten.

  6. Klicken Sie auf OK.

  7. Visual Studio erstellt den Ordner und die Struktur für die Website.

Hinzufügen von Daten zur Website

Als Nächstes müssen Sie dem Projekt eine Datenbank hinzufügen. Hierfür erstellen Sie mit einem in Visual Studio bereitgestellten Tool Klassen, die Datenbankentitäten repräsentieren, und registrieren dann den Datenkontext für die Verwendung durch Dynamic Data. Je nach gewählter Vorlage haben Sie die folgenden Möglichkeiten, das Datenbankmodell zu erstellen:

  • Falls Sie die Website mit der Vorlage Dynamic Data-Website erstellt haben, müssen Sie das Datenbankmodell mit LINQ to SQL erstellen.

  • Falls Sie die Website mit der Vorlage Dynamic Data Entities-Website erstellt haben, müssen Sie das Datenbankmodell mit dem Entity Framework erstellen.

Weitere Informationen zur Auswahl des Datenmodells finden Sie unter Richtlinien für ASP.NET Dynamic Data.

So fügen Sie dem Projekt die Datenbankdatei hinzu

  1. Wenn die Website nicht bereits über den Ordner App_Data verfügt, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, klicken Sie auf ASP.NET-Ordner hinzufügen und dann auf App_Data.

  2. Klicken Sie mit der rechten Maustaste im Projektmappen-Explorer auf den Ordner App_Data, und klicken Sie dann auf Vorhandenes Element hinzufügen.

    Das Dialogfeld Vorhandenes Element hinzufügen wird angezeigt.

  3. Geben Sie den Installationsort der AdventureWorks-Datenbankdatei (AdventureWorks_Data.mdf) ein.

    Standardmäßig ist die MDF-Datei im Pfad C:\Programme\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf installiert.

    Hinweis:

    Dieser Vorgang erstellt eine Kopie der Datenbankdatei im Projekt. Wenn es nicht möglich ist, die Datenbank zu kopieren, gibt es alternative Methoden zum Verbinden, wie das direkte Anfügen der Datenbankdatei. Dieses Verfahren wird jedoch nicht in dieser exemplarischen Vorgehensweise behandelt.

Als Nächstes erstellen Sie das Datenmodell. Die erforderlichen Schritte weichen geringfügig voneinander ab, je nachdem, ob Sie das Datenmodell mit LINQ to SQL oder mit dem ADO.NET Entity Framework erstellen möchten.

So erstellen Sie das Datenmodell mit LINQ to SQL

  1. Wenn die Website nicht bereits über den Ordner App_Code verfügt, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, klicken Sie auf ASP.NET-Ordner hinzufügen, und klicken Sie dann auf App_Code.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner App_Code, und klicken Sie dann auf Neues Element hinzufügen.

  3. Klicken Sie unter Von Visual Studio installierte Vorlagen auf LINQ to SQL-Klassen.

  4. Geben Sie im Feld Name einen Namen für das Datenbankmodell ein.

    Geben Sie z. B. den Namen AdventureWorks.dbml ein.

  5. Klicken Sie auf Hinzufügen.

    Der O/R-Designer wird angezeigt.

  6. Klicken Sie im O/R-Designer auf den Link Server-Explorer (bzw. auf Datenbank-Explorer in Visual Web Developer).

  7. Erweitern Sie im Server-Explorer (Datenbank-Explorer) unter Datenverbindungen den Knoten für die Datenbankdatei und dann den Knoten Tabellen.

  8. Ziehen Sie alle Tabellen in den O/R-Designer.

    Jede Tabelle wird als Entität dargestellt, die nach der zugehörigen Datenbanktabelle benannt ist.

  9. Speichern Sie die Datei AdventureWorks.dbml.

  10. Öffnen Sie im Projektmappen-Explorer unter dem DBML-Dateiknoten die Datei AdventureWorks.designer.cs bzw. AdventureWorks.designer.vb.

    Sie sehen, dass die DBML-Datei die für die Datenbank stehende AdventureWorksDataContext-Klasse enthält. Sie enthält zudem Entitätsklassen, wie die Product-Klasse und die Employee-Klasse, die Datenbanktabellen repräsentieren. Der parameterlose Konstruktor der AdventureWorksDataContext-Klasse liest die Verbindungszeichenfolge aus der Datei Web.config.

  11. Öffnen Sie die Datei Web.config.

    Beachten Sie, dass im connectionStrings-Element die Verbindungszeichenfolge für die AdventureWorks-Datenbank enthalten ist.

  12. Schließen Sie die Klassendatei und die Datei Web.config.

So erstellen Sie das Datenmodell mit dem Entity Framework

  1. Wenn die Website nicht bereits über den Ordner App_Code verfügt, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, klicken Sie auf ASP.NET-Ordner hinzufügen, und klicken Sie dann auf App_Code.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner App_Code, und klicken Sie dann auf Neues Element hinzufügen.

  3. Klicken Sie unter Von Visual Studio installierte Vorlagen auf ADO.NET Entity Data Model.

  4. Geben Sie im Feld Name einen Namen für das Datenbankmodell ein.

    Geben Sie z. B. den Namen AdventureWorks.edmx ein.

  5. Klicken Sie auf Hinzufügen.

    Das Fenster Assistent für Entity Data Model wird angezeigt.

  6. Klicken Sie auf Aus Datenbank generieren.

    Hierdurch wird angegeben, dass das Modell anhand einer Datenbank erstellt werden soll.

  7. Wählen Sie in der Liste unter Über welche Datenverbindung soll die Anwendung eine Verbindung mit der Datenbank herstellen? den Eintrag AdventureWorks_Data.mdf aus.

  8. Vergewissern Sie sich, dass das Kontrollkästchen Speichern Sie die Entitätsverbindungseinstellungen in Web.Config als aktiviert ist. Sie können den Namen der Standardverbindungszeichenfolge beibehalten.

  9. Klicken Sie auf Weiter.

    Der Assistent zeigt eine Seite an, auf der Sie angeben können, welche Datenbankobjekte in das Modell aufgenommen werden sollen.

  10. Wählen Sie den Knoten Tabellen aus, um alle Tabellen der Datenbank auszuwählen. Sie können den Standardmodellnamespace beibehalten.

  11. Klicken Sie auf Fertig stellen.

    Der ADO.NET Entity Data Model Designer wird angezeigt. Schließen Sie den Designer.

  12. Öffnen Sie im Projektmappen-Explorer unter dem EDMX-Dateiknoten die Datei AdventureWorks.designer.cs bzw. AdventureWorks.designer.vb.

    Sie sehen, dass die EDMX-Datei die für die Datenbank stehende AdventureWorksDataContext-Klasse enthält. Sie enthält zudem Entitätsklassen, wie die Product-Klasse und die Employee-Klasse, die Datenbanktabellen repräsentieren.

  13. Öffnen Sie die Datei Web.config.

    Beachten Sie, dass im connectionStrings-Element die Verbindungszeichenfolge für die AdventureWorks-Datenbank enthalten ist.

  14. Schließen Sie die Klassendatei und die Datei Web.config.

Als Nächstes müssen Sie das Datenmodell für die Verwendung durch Dynamic Data registrieren.

So registrieren Sie den Datenkontext

  1. Öffnen Sie die Datei Global.asax.

  2. Falls Sie LINQ to SQL verwenden, fügen Sie in der RegisterRoutes-Methode die folgende Zeile hinzu:

    model.RegisterContext(GetType(AdventureWorksDataContext), _
        New ContextConfiguration() With {.ScaffoldAllTables = True})
    
    model.RegisterContext(typeof(AdventureWorksDataContext), 
        new ContextConfiguration() { ScaffoldAllTables = true });
    

    Hierdurch wird der LINQ to SQL-Datenkontext für die Verwendung durch Dynamic Data registriert und der automatische Gerüstbau für das Datenmodell aktiviert.

    Vorsicht:

    Die Aktivierung des Gerüstbaus birgt ein gewisses Sicherheitsrisiko, da alle Tabellen im Datenmodell für die Anzeige und Bearbeitung freigegeben werden. Weitere Informationen hierzu finden Sie unter Übersicht über den ASP.NET Dynamic Data-Gerüstbau und Seitenvorlagen.

  3. Falls Sie das Entity Framework verwenden, fügen Sie in der RegisterRoutes-Methode die folgende Zeile hinzu:

    model.RegisterContext(GetType(AdventureWorksLT_DataModel.AdventureWorksLT_DataEntities), _
        New ContextConfiguration() With {.ScaffoldAllTables = True})
    
    model.RegisterContext(typeof(AdventureWorksLT_DataModel.AdventureWorksLT_DataEntities), 
        new ContextConfiguration() { ScaffoldAllTables = true });
    

    Hierdurch wird der Entity Framework-Datenkontext für die Verwendung durch Dynamic Data registriert und der automatische Gerüstbau für das Datenmodell aktiviert.

    Vorsicht:

    Die Aktivierung des Gerüstbaus birgt ein gewisses Sicherheitsrisiko, da alle Tabellen im Datenmodell für die Anzeige und Bearbeitung freigegeben werden. Weitere Informationen hierzu finden Sie unter Übersicht über den ASP.NET Dynamic Data-Gerüstbau und Seitenvorlagen.

  4. Speichern und schließen Sie die Datei Global.asax.

Testen der Dynamic Data-Website

Sie können jetzt die von Ihnen erstellte Dynamic Data-Website testen.

So testen Sie die Website

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Seite Default.aspx, und klicken Sie dann auf In Browser anzeigen.

    Die Seite zeigt eine Liste mit den Tabellen an, die Sie dem Datenmodell hinzugefügt haben.

  2. Klicken Sie auf eine Tabelle. Klicken Sie z. B. auf die Tabelle Products.

    Es wird eine Seite mit den Daten der ausgewählten Tabelle angezeigt. Bei Tabellen mit Fremdschlüsselfeldern wird ein Link zur Detailseite der referenzierten Tabelle bereitgestellt. Falls es sich bei der Tabelle um eine übergeordnete Tabelle in einer 1:n-Beziehung handelt, wird ein Link zur Listenseite der untergeordneten Tabelle angezeigt.

  3. Klicken Sie auf die Schaltfläche Löschen, um einen Datensatz aus der Tabelle zu löschen.

  4. Mithilfe der Seitenzahlen können Sie durch die Datensätze navigieren.

  5. Klicken Sie auf die Schaltfläche Bearbeiten, um einen Datensatz in der Tabelle zu ändern.

  6. Ändern Sie die Werte, und klicken Sie dann auf Aktualisieren oder auf Abbrechen, um den Bearbeitungsvorgang abzubrechen.

  7. Klicken Sie unten auf der Seite auf die Schaltfläche Neues Element einfügen, um einen neuen Datensatz zu erstellen.

    Es wird eine Seite mit Dateneingabefeldern angezeigt.

  8. Geben Sie die Informationen für den neuen Datensatz ein, und klicken Sie auf Einfügen, oder klicken Sie auf Abbrechen, um den Einfügevorgang abzubrechen.

  9. Wenn Sie damit fertig sind, schließen Sie den Browser.

Nächste Schritte

Diese exemplarische Vorgehensweise zeigt, wie Sie eine einfache Dynamic Data-Website erstellen, ohne Code zu schreiben. Jetzt können Sie die Dynamic Data-Features weiter erkunden und das Standardverhalten ausbauen.

Siehe auch

Konzepte

Übersicht über ASP.NET Dynamic Data

Weitere Ressourcen

Object Relational Designer (O/R-Designer)

LINQ to SQL

ADO.NET Entity Framework