Freigeben über


Erstellen von LINQ to SQL-Klassen: Verwenden des O/R-Designers

Aktualisiert: November 2007

Der O/R-Designer (O/R-Designer) ermöglicht die Zuordnung von LINQ to SQL-Klassen zu Tabellen in einer Datenbank. Diese zugeordneten Klassen werden auch als Entitätsklassen bezeichnet. Die Eigenschaften einer Entitätsklasse sind den Spalten einer Tabelle zugeordnet. Sie können die Daten an Steuerelemente in einem Windows Form binden. Weitere Informationen über LINQ to SQL finden Sie unter Verwenden von LINQ in Visual Basic Express.

În dieser Lektion wird erläutert, wie O/R-Designer zum Erstellen von Entitätsklassen verwendet wird, die Tabellen in der Datenbank Northwind zugeordnet sind. Anschließend zeigen Sie Daten in einer Windows Forms-Anwendung an.

Vorbereitungsmaßnahmen

  • Wenn Sie SQL Server Express Edition nicht bei der Installation von Visual Basic Express Edition installiert haben, müssen Sie dies nachholen, bevor Sie fortfahren. SQL Server Compact 3.5-Datenbanken werden in LINQ to SQL nicht unterstützt. Informationen zum Erhalt der SQL Server Express Edition finden Sie unter Gewusst wie: Installieren von Beispieldatenbanken im Abschnitt zum Abrufen von SQL Server Express Edition.

  • Um diese Lektion abzuschließen, müssen Sie Zugriff auf die SQL Server-Version der Beispieldatenbank Northwind haben. Weitere Informationen finden Sie unter Gewusst wie: Installieren von Beispieldatenbanken.

Übung

So öffnen Sie den O/R-Designer

  1. Klicken Sie im Menü Datei auf Neues Projekt.

  2. Klicken Sie im Dialogfeld Neues Projekt im Bereich Vorlagen auf Windows Forms-Anwendung, nennen Sie das Projekt LINQToSQLSample, und klicken Sie dann auf OK.

    Ein neues Windows Forms-Projekt wird geöffnet.

  3. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  4. Klicken Sie auf die Vorlage LINQ to SQL-Klassen, und geben Sie im Feld NameNorthwindSample.dbml ein.

  5. Klicken Sie auf Hinzufügen.

    Dem Projekt wird eine leere LINQ to SQL-Datei (NorthwindSample.dbml) hinzugefügt, und O/R-Designer wird geöffnet.

O/R-Designer besteht aus zwei Entwurfsoberflächen: dem Bereich Entitäten auf der linken und dem Bereich Methoden auf der rechten Seite. Der Bereich Entitäten ist die Hauptentwurfsoberfläche, die die in der Datei definierten Entitätsklassen anzeigt. Der Bereich Methoden ist die Entwurfsoberfläche, die die DataContext-Methoden anzeigt, die gespeicherten Prozeduren und Funktionen zugeordnet sind. Sie können den Bereich Methoden ausblenden, indem Sie mit der rechten Maustaste auf den O/R-Designer klicken und dann auf Methodenbereich ausblenden klicken. Der Bereich Methoden wird in dieser Lektion nicht verwendet, Sie finden in DataContext-Methoden (O/R-Designer) jedoch weiterführende Informationen darüber.

Klicken Sie auf die Hauptentwurfsoberfläche, und überprüfen Sie im Fenster Eigenschaften unter der Eigenschaft Name, dass ihr Name NorthwindSampleDataContext lautet. Sie können Entitätsklassen erstellen, indem Sie Datenbanktabellen vom Datenbank-Explorer auf die O/R-Designer-Oberfläche ziehen. Zuerst müssen Sie jedoch eine Verbindung zur Datenbank herstellen. Dieser Vorgang ähnelt dem in Abrufen der benötigten Informationen: Herstellen einer Verbindung zu einer vorhandenen Datenbank beschriebenen Vorgang. In dieser Lektion werden Sie allerdings eine SQL Server Express-Datenbank verwenden.

So stellen Sie eine Verbindung mit der Datenbank Northwind her

  1. Klicken Sie im Menü Ansicht auf Datenbank-Explorer.

    Der Datenbank-Explorer wird geöffnet.

  2. Klicken Sie in der Datenbank-Explorer-Symbolleiste auf die Schaltfläche Verbindung zur Datenbank herstellen.

  3. Klicken Sie im Fenster Datenquellen auswählen auf Microsoft SQL Server-Datenbankdatei und dann auf Weiter.

    Das Dialogfeld Verbindung hinzufügen wird geöffnet.

  4. Stellen Sie sicher, dass die Datenquelle im Dialogfeld Verbindung hinzufügen auf Microsoft SQL Server-Datenbankdatei (SqlClient) eingestellt ist.

  5. Klicken Sie auf Durchsuchen, suchen Sie dann die Datenbank Northwind.mdf, und wählen Sie sie aus. Klicken Sie auf Öffnen.

  6. Klicken Sie auf Testverbindung, um zu überprüfen, ob die Verbindung erfolgreich war.

  7. Klicken Sie auf OK, um das Dialogfeld Verbindung hinzufügen zu schließen.

Erstellen von Entitätsklassen

Die Tabellen in der Datenbank Northwind sind jetzt im Datenbank-Explorer sichtbar. Sie können Tabellen vom Datenbank-Explorer auf den O/R-Designer ziehen. Dadurch werden automatisch Entitätsklassen erstellt, deren Eigenschaften den Spalten in der Tabelle zugeordnet sind, die Sie aus dem Datenbank-Explorer gezogen haben.

So erstellen Sie Entitätsklassen

  1. Erweitern Sie im Datenbank-Explorer den Knoten Northwind.mdf, und erweitern Sie dann Tabellen.

  2. Ziehen Sie Customers vom Datenbank-Explorer auf die O/R-Designer-Oberfläche. Wenn Sie aufgefordert werden, die Datendatei in das Projekt zu kopieren, klicken Sie auf Ja.

    Eine Entitätsklasse mit dem Namen Customer wird erstellt. Sie verfügt über Eigenschaften, die den Spalten in der Tabelle Customers entsprechen.

  3. Ziehen Sie Orders vom Datenbank-Explorer auf die O/R-Designer-Oberfläche.

    Eine Entitätsklasse mit dem Namen Order wird erstellt, die eine Zuordnung (Beziehung) zur Customer-Entitätsklasse hat. Sie verfügt über Eigenschaften, die den Spalten in der Tabelle Orders entsprechen.

Nachdem Sie die Entitätsklassen erstellt haben, können Sie sie zum Fenster Datenquellen hinzufügen, indem Sie den Assistenten zum Konfigurieren von Datenquellen ausführen.

So fügen Sie eine Entitätsklasse als Objektdatenquelle im Datenquellenfenster hinzu

  1. Klicken Sie im Menü Erstellen auf LINQToSQLSample erstellen.

  2. Klicken Sie im Menü Daten auf Datenquellen anzeigen.

  3. Klicken Sie im Datenquellenfenster auf Neue Datenquelle hinzufügen.

  4. Klicken Sie auf der Seite Datenquellentyp auswählen auf Objekt und dann auf Weiter.

  5. Erweitern Sie den Knoten LINQToSQLSample, und suchen Sie die Customer-Klasse.

    Hinweis:

    Wenn die Klasse Customer nicht verfügbar ist, klicken Sie auf Abbrechen, erstellen Sie das Projekt, und führen Sie den Assistenten erneut aus.

  6. Klicken Sie auf Fertig stellen, um die Datenquelle zu erstellen, und fügen Sie die Entitätsklasse Customer zum Fenster Datenquellen hinzu.

Binden von Steuerelementen an Entitätsklassen in einem Windows Form

Sie können Steuerelemente, die über eine Datenverbindung zu Entitätsklassen verfügen, zu einem Windows Form hinzufügen, indem Sie Tabellen oder Felder vom Fenster Datenquellen zum Formular ziehen.

So fügen Sie Steuerelemente hinzu, die an die Entitätsklassen gebunden sind

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Form1, und klicken Sie dann auf Ansicht-Designer.

  2. Erweitern Sie im Fenster Datenquellen die Tabelle Customer.

  3. Klicken Sie auf den Dropdownpfeil neben CompanyName, und klicken Sie dann auf Label.

  4. Ziehen Sie CompanyName auf das Formular.

    Dem Formular werden eine Bezeichnung und eine Navigationsleiste hinzugefügt.

  5. Ziehen Sie Orders vom Fenster Datenquellen auf Form1. Platzieren Sie sie unter CompanyName.

  6. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Form1, und klicken Sie dann auf Code anzeigen.

  7. Fügen Sie den folgenden Code am Anfang der Form-Klasse und außerhalb einer bestimmten Methode zum Formular hinzu.

    Private NorthwindSampleDataContext1 As New _
        NorthwindSampleDataContext
    
  8. Erstellen Sie einen Ereignishandler für das Form_Load-Ereignis, indem Sie auf das Formular doppelklicken. Fügen Sie dem Ereignishandler folgenden Code hinzu:

    CustomerBindingSource.DataSource = _
        NorthwindSampleDataContext1.Customers()
    
  9. Drücken Sie F5, um den Code auszuführen.

  10. Wenn das Formular geöffnet wird, klicken Sie auf die Schaltfläche Nächste verschieben auf der Symbolleiste, um einen Bildlauf durch die Unternehmen durchzuführen und zu überprüfen, ob die Bestelldaten mit den Bestellungen des ausgewählten Kunden aktualisiert wurden.

Speichern von Änderungen

Wenn Sie die Steuerelemente zum O/R-Designer hinzufügen, ist die Schaltfläche Daten speichern auf der Navigationsleiste nicht aktiviert. Wenn Sie Benutzern das Speichern von Änderungen ermöglichen möchten, müssen Sie zuerst die Schaltfläche Speichern aktivieren und dann Code hinzufügen, um geänderte Daten zu speichern.

So aktivieren Sie die Schaltfläche "Speichern"

  1. Wählen Sie in der Entwurfsansicht auf der Navigationsleiste die Schaltfläche Speichern aus. (Die Schaltfläche mit dem Diskettensymbol.)

  2. Legen Sie im Fenster Eigenschaften die Eigenschaft Aktiviert auf True fest.

  3. Doppelklicken Sie auf die Schaltfläche zum Speichern, um einen Ereignishandler zu erstellen und zum Code-Editor zu wechseln.

  4. Fügen Sie dem Ereignishandler für die Speichern-Schaltfläche den folgenden Code hinzu:

    NorthwindSampleDataContext1.SubmitChanges()
    
  5. Drücken Sie F5, um den Code auszuführen.

  6. Ändern Sie den Wert in einem der Shipped Date-Felder, und drücken Sie die TAB-TASTE, um einen Commit für die Änderung auszuführen.

  7. Klicken Sie auf die Schaltfläche Daten speichern.

  8. Schließen Sie das Formular.

  9. Drücken Sie F5, und überprüfen Sie, ob die vorgenommene Änderung gespeichert wurde.

Nächste Schritte

In dieser Lektion haben Sie gelernt, wie LINQ to SQL-Klassen mithilfe des O/R-Designers erstellt werden. In der nächsten Lektion erfahren Sie, wie Daten mithilfe einer LINQ-Abfrage gebunden werden. Weitere Informationen über die Verwendung von LINQ in einer Anwendung finden Sie unter Verwenden von LINQ in Visual Basic Express.

Nächste Lektion: Verwenden von LINQ zum Binden von Daten an Steuerelemente

Siehe auch

Aufgaben

Speichern von und Zugreifen auf Daten

Anzeigen von verknüpften Daten

Exemplarische Vorgehensweise: Erstellen von LINQ to SQL-Klassen (O/R-Designer)

Konzepte

Verwenden von LINQ in Visual Basic Express

Übersicht über den O/R-Designer

Weitere Ressourcen

Verwalten von Datensätzen: Verwenden von Daten im Programm