Exemplarische Vorgehensweise: Erstellen von LINQ to SQL-Klassen mithilfe von Vererbung einer einzelnen Tabelle (O/R-Designer)
Aktualisiert: November 2007
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 Gewusst wie: 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
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.
Fügen Sie der Tabelle im Tabellen-Designer die folgenden Spalten hinzu:
Spaltenname
Datentyp
NULL zulassen
ID
int
False
Type
int
True
FirstName
nvarchar(200)
False
LastName
nvarchar(200)
False
Manager
int
True
Legen Sie die ID-Spalte als Primärschlüssel fest.
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
Ö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.)
Kopieren Sie die folgenden Daten in die Tabelle. (Sie können sie kopieren und dann in die Tabelle einfügen, indem Sie die ganze Zeile im Results Pane markieren.)
ID
Type
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
Erstellen Sie im Menü Datei ein neues Projekt.
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.
Klicken Sie auf die Vorlage Windows Forms-Anwendung und anschließend auf OK. Weitere Informationen finden Sie unter Erstellen von Windows-basierten Anwendungen.
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
Klicken Sie im Menü Projekt auf Neues Element hinzufügen.
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
Navigieren Sie in Server-Explorer/Datenbank-Explorer zu der zuvor von Ihnen erstellten Tabelle Person.
Ziehen Sie die Tabelle Person auf die O/R-Designer-Entwurfsoberfläche.
Ziehen Sie eine zweite Tabelle Person auf den O/R-Designer, und ändern Sie ihren Namen in Employee.
Löschen Sie die Manager-Eigenschaft aus dem Objekt Person.
Löschen Sie die Eigenschaften Type, ID, FirstName und LastName aus dem Objekt Employee. (Mit anderen Worten: Entfernen Sie alle Eigenschaften außer Manager.)
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.
Klicken Sie auf die Linie der Vererbung auf der Entwurfsoberfläche.
Legen Sie die Eigenschaft Unterscheidungseigenschaft auf Type fest.
Legen Sie die Eigenschaft Diskrimatorwert der abgeleiteten Klasse auf 2 fest.
Legen Sie die Eigenschaft Basisklassen-Diskrimatorwert auf 1 fest.
Legen Sie die Vererbungsstandard-Eigenschaft auf Person fest.
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
Ziehen Sie eine ListBox auf Form1.
Doppelklicken Sie auf das Formular, um einen Form1_Load-Ereignishandler zu erstellen.
Fügen Sie dem Form1_Load-Ereignishandler 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 Type-Spalte haben).
So testen Sie die Anwendung
Drücken Sie F5.
Stellen Sie sicher, dass nur Datensätze angezeigt werden, die den Wert 2 in ihrer Type-Spalte haben.
Schließen Sie das Formular. (Klicken Sie im Menü Debuggen auf Debuggen beenden.)
Siehe auch
Aufgaben
Gewusst wie: Hinzufügen von LINQ to SQL-Klassen zu einem Projekt (O/R-Designer)
Exemplarische Vorgehensweise: Erstellen von LINQ to SQL-Klassen (O/R-Designer)
Gewusst wie: Generieren des Objektmodells in Visual Basic oder C# (LINQ to SQL)
Konzepte
Übersicht über den O/R-Designer