Freigeben über


Exemplarische Vorgehensweise: Erstellen von LINQ to SQL-Klassen mithilfe von Vererbung einer einzelnen Tabelle (O/R-Designer)

 

Veröffentlicht: Juni 2016

Der Object Relational Designer (O/R-Designer) unterstützt Vererbung einer einzelnen Tabelle, wie sie typischerweise in relationalen Systemen implementiert ist.Diese exemplarische Vorgehensweise baut auf den in Vorgehensweise: Konfigurieren von Vererbung mit dem O/R-Designer dargestellten allgemeinen Schritten auf und stellt reale Daten zur Veranschaulichung der Verwendung von Vererbung in O/R-Designer bereit.

Im Verlauf dieser exemplarischen Vorgehensweise führen Sie folgende Aufgaben aus:

  • Erstellen einer Datenbanktabelle und Hinzufügen von Daten.

  • Erstellen einer Windows Forms-Anwendung.

  • Hinzufügen einer LINQ to SQL-Datei zu einem Projekt.

  • Erstellen neuer Entitätsklassen.

  • Konfigurieren der Entitätsklassen zur Verwendung von Vererbung.

  • Abfragen der geerbten Klasse.

  • Anzeigen der Daten in einem Windows Form.

Erstellen einer Tabelle, von der geerbt werden soll

Um die Funktionsweise der Vererbung kennen zu lernen, erstellen Sie eine kleine Person-Tabelle, verwenden sie als Basisklasse und erstellen anschließend ein Employee-Objekt, das von ihr erbt.

So erstellen Sie eine Basistabelle zur Veranschaulichung der Vererbung

  1. Klicken Sie in Server-Explorer/Datenbank-Explorer mit der rechten Maustaste auf den Knoten Tabellen, und klicken Sie auf Neue Tabelle hinzufügen.

    Hinweis

    Sie können die Northwind-Datenbank oder eine andere Datenbank verwenden, der Sie eine Tabelle hinzufügen können.

  2. Fügen Sie der Tabelle im Tabellen-Designer die folgenden Spalten hinzu:

    Spaltenname Datentyp NULL zulassen
    ID int False
    Typ int True
    FirstName nvarchar(200) False
    LastName nvarchar(200) False
    Manager int True
  3. Legen Sie die ID-Spalte als Primärschlüssel fest.

  4. Speichern Sie die Tabelle unter dem Namen "Person".

Hinzufügen von Daten zur Tabelle

Um sicherstellen zu können, dass die Vererbung ordnungsgemäß konfiguriert ist, muss die Tabelle Daten für jede Klasse in der Vererbung einer einzelnen Tabelle enthalten.

So fügen Sie der Tabelle Daten hinzu

  1. Öffnen Sie die Tabelle in der Datenansicht.(Klicken Sie in Server-Explorer/Datenbank-Explorer mit der rechten Maustaste auf die Tabelle Person, und klicken Sie auf Tabellendaten anzeigen.)

  2. Kopieren Sie die folgenden Daten in die Tabelle.(Sie können sie kopieren und dann in die Tabelle einfügen, indem Sie im Results Pane die ganze Zeile markieren.)

    ID Typ FirstName LastName Manager
    1 1 Anne Wallace NULL
    2 1 Carlos Grilo NULL
    3 1 Yael Peled NULL
    4 2 Gatis Ozolins 1
    5 2 Andreas Hauser 1
    6 2 Tiffany Phuvasate 1
    7 2 Alexey Orekhov 2
    8 2 Michał Poliszkiewicz 2
    9 2 Tai Yee 2
    10 2 Fabricio Noriega 3
    11 2 Mindy Martin 3
    12 2 Ken Kwok 3

Erstellen eines neues Projekts

Nachdem Sie die Tabelle erstellt haben, erstellen Sie ein neues Projekt zur Darstellung der Konfiguration von Vererbung.

So erstellen Sie die neue Windows-Anwendung

  1. Erstellen Sie im Menü Datei ein neues Projekt.

  2. Nennen Sie das Projekt InheritanceWalkthrough.

    Hinweis

    Der O/R-Designer wird von Visual Basic- und C#-Projekten unterstützt.Erstellen Sie das neue Projekt in einer der beiden Sprachen.

  3. Klicken Sie auf die Vorlage Windows Forms-Anwendung und anschließend auf OK.Weitere Informationen finden Sie unter Clientanwendungen.

  4. Das InheritanceWalkthrough-Projekt wird erstellt und dem Projektmappen-Explorer hinzugefügt.

Hinzufügen einer LINQ to SQL-Klassendatei zum Projekt

So fügen Sie dem Projekt eine LINQ to SQL-Datei hinzu

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

  2. Klicken Sie auf die Vorlage LINQ to SQL-Klassen und dann auf Hinzufügen.

    Dem Projekt wird die DBML-Datei hinzugefügt, und der O/R-Designer wird geöffnet.

Erstellen der Vererbung mithilfe des O/R-Designers

Konfigurieren Sie die Vererbung, indem Sie aus der Toolbox ein Objekt aus dem Bereich Vererbung auf die Entwurfsoberfläche ziehen.

So erstellen Sie die Vererbung

  1. Navigieren Sie in Server-Explorer/Datenbank-Explorer zu der zuvor von Ihnen erstellten Tabelle Person.

  2. Ziehen Sie die Tabelle Person auf die O/R-Designer-Entwurfsoberfläche.

  3. Ziehen Sie eine zweite Tabelle Person auf den O/R-Designer, und ändern Sie ihren Namen in "Employee".

  4. Löschen Sie die Manager-Eigenschaft aus dem Objekt Person.

  5. Löschen Sie die Eigenschaften Type, ID, FirstName und LastName aus dem Objekt Employee.(Mit anderen Worten: Entfernen Sie alle Eigenschaften außer Manager.)

  6. Erstellen Sie von der Registerkarte O/R-Designer der Toolbox eine Vererbung zwischen dem Person-Objekt und dem Employee-Objekt.Klicken Sie dazu in der Toolbox auf das Element Vererbung, und lassen Sie die Maustaste los.Klicken Sie anschließend im O/R-Designer zuerst auf das Employee-Objekt und dann auf das Person-Objekt.Der Pfeil der Vererbungslinie zeigt auf das Person-Objekt.

  7. Klicken Sie auf die Linie der Vererbung auf der Entwurfsoberfläche.

  8. Legen Sie die Eigenschaft Unterscheidungseigenschaft auf Type fest.

  9. Legen Sie die Eigenschaft Diskrimatorwert der abgeleiteten Klasse auf 2 fest.

  10. Legen Sie die Eigenschaft Basisklassen-Diskrimatorwert auf 1 fest.

  11. Legen Sie die Vererbungsstandard-Eigenschaft auf Person fest.

  12. Erstellen Sie das Projekt.

Abfragen der geerbten Klasse und Anzeigen der Daten im Formular

Im Folgenden fügen Sie dem Formular Code zur Abfrage einer bestimmten Klasse im Objektmodell hinzu.

So erstellen Sie eine LINQ-Abfrage und zeigen die Ergebnisse im Formular an

  1. Ziehen Sie eine ListBox auf Form1.

  2. Doppelklicken Sie auf das Formular, um einen Form1_Load-Ereignishandler zu erstellen.

  3. Fügen Sie dem Form1_Load-Ereignishandler den folgenden Code hinzu:

    Dim dc As New DataClasses1DataContext  
    Dim results = From emp In dc.Persons _  
        Where TypeOf emp Is Employee _  
        Select emp  
    
    For Each Emp As Employee In results  
        ListBox1.Items.Add(Emp.LastName)  
    Next  
    
    NorthwindDataContext dc = new DataClasses1DataContext();  
    var results = from emp in dc.Persons  
                  where emp is Employee  
                  select emp;  
    
    foreach(Employee Emp in results)  
    {  
        listBox1.Items.Add(Emp.LastName)  
    }  
    

Testen der Anwendung

Führen Sie die Anwendung aus, und überprüfen Sie, ob alle im Listenfeld angezeigten Datensätze Mitarbeiter sind (Datensätze, die den Wert 2 in der Spalte "Type" haben).

So testen Sie die Anwendung

  1. Drücken Sie F5.

  2. Stellen Sie sicher, dass nur Datensätze angezeigt werden, die den Wert 2 in ihrer Type-Spalte haben.

  3. Schließen Sie das Formular.(Klicken Sie im Menü Debuggen auf Debuggen beenden.)

Siehe auch

Übersicht über den O/R-Designer
Vorgehensweise: Hinzufügen von LINQ to SQL-Klassen zu einem Projekt (O/R-Designer)
Exemplarische Vorgehensweise: Erstellen von LINQ to SQL-Klassen (O/R-Designer)
Vorgehensweise: Zuweisen von gespeicherten Prozeduren zur Durchführung von Update-, Einfüge- und Löschvorgängen (O/R-Designer)
LINQ to SQL
Vorgehensweise: Generieren des Objektmodells in Visual Basic oder C#