LINQ to SQL-Tools in Visual Studio
Veröffentlicht: Juni 2016
LINQ to SQL ist die erste objektrelationales Mapping-Technologie von Microsoft veröffentlicht. Es eignet sich für einfache Szenarien und weiterhin in Visual Studio unterstützt werden, aber es ist nicht mehr aktiv weiterentwickelt. Verwenden Sie LINQ to SQL, wenn eine ältere Anwendung beibehalten, die bereits verwendet wird, oder in einfache Anwendung, die SQL Server verwenden und müssen nicht mit mehreren Tabellen zuordnen. Im Allgemeinen sollten neue Applikationen Entity Framework verwenden, wenn eine Ebene objektrelationale Zuordnung erforderlich ist.
In Visual Studio erstellen Sie LINQ to SQL-Klassen, die darstellen, SQL-Tabellen mithilfe der O/R-Designer.
Die O/R-Designer verfügt über zwei verschiedene Bereiche auf seiner Entwurfsoberfläche: den Entitätenbereich auf der linken Seite und den Methodenbereich auf der rechten Seite. Der Entitätenbereich ist die Hauptentwurfsoberfläche, auf der Entitätsklassen, Zuordnungen und Vererbungshierarchien angezeigt werden. Der Methodenbereich ist die Entwurfsoberfläche, die zeigt die DataContext Methoden, die gespeicherten Prozeduren und Funktionen zugeordnet sind.
Die Object Relational Designer (O/R-Designer) bietet eine visuelle Entwurfsoberfläche zum Erstellen von LINQ to SQL Entitätsklassen und Zuordnungen (Beziehungen), die auf Objekte in einer Datenbank basieren. Mit anderen Worten: Der O/R-Designer wird verwendet, um in einer Anwendung ein Objektmodell zu erstellen, das den Objekten in einer Datenbank entspricht. Außerdem generiert er einen stark typisierten DataContext der zum Senden und Empfangen von Daten zwischen den Entitätsklassen und der Datenbank verwendet wird. Die O/R-Designer auch bietet Funktionen zum Zuordnen von gespeicherter Prozeduren und Funktionen DataContext -Methoden zum Zurückgeben von Daten und Füllen von Entitätsklassen. Abschließend bietet der O/R-Designer die Möglichkeit, Vererbungsbeziehungen zwischen Entitätsklassen zu entwerfen.
Öffnen des O/R-Designers
Um eine LINQ to SQL-Entität-Modell dem Projekt hinzuzufügen, wählen Projekt | Neues Element hinzufügen und wählen Sie dann LINQ to SQL Classes aus der Liste der Projektelemente:
Visual Studio erstellt eine DBML-Datei und der Projektmappe hinzugefügt. Dies ist die XML-Zuordnungsdatei und die zugehörige Code-Dateien.
Wenn Sie die DBML-Datei auswählen, zeigt Visual Studio die O/R-Designeroberfläche, die Sie das Modell visuell erstellen kann. Die folgende Abbildung zeigt den Designer nach Northwind Customers und Orders-Tabellen im Server-Explorer gezogen haben. Beachten Sie die Beziehung zwischen den Tabellen.
Wichtig
Die O/R-Designer ist eine einfache objektrelationale Zuordnungen, da er nur die 1:1-zuordnungsbeziehungen unterstützt. Das heißt, dass eine Entitätsklasse nur über eine 1:1-Zuordnungsbeziehung zu einer Datenbanktabelle oder -ansicht verfügen kann. Eine komplexe Zuordnung, z. B. das Zuordnen einer Entitätsklasse zu einer verknüpften Tabelle, wird nicht unterstützt. Verwenden Sie das Entity Framework für komplexe Zuordnung. Darüber hinaus ist der Designer ein unidirektionaler Code-Generator. Das bedeutet, dass in der Codedatei nur Änderungen der Designeroberfläche wiedergegeben werden. Manuelle Änderungen der Codedatei werden nicht im O/R-Designer angezeigt. Änderungen, die Sie manuell in der Codedatei werden überschrieben, wenn im Designer gespeichert und Code erneut generiert wird. Informationen zum Hinzufügen von Benutzercode und Erweitern der von generierte Klassen der O/R-Designer, finden Sie unter Gewusst wie: Erweitern Code vom O/R-Designer generiert.
Erstellen und Konfigurieren von DataContext
Nach dem Hinzufügen einer LINQ to SQL-Klassen Element zu einem Projekt und öffnen Sie die O/R-Designer, die leere Entwurfsoberfläche stellt ein leeres DataContext konfiguriert werden kann. die DataContext mit Verbindungsinformationen des ersten Elements, das auf die Entwurfsoberfläche gezogen wird konfiguriert... Aus diesem Grund die DataContext wird mithilfe der Verbindungsinformationen des ersten auf die Entwurfsoberfläche gezogenen Elements konfiguriert. Weitere Informationen zu den DataContext Klasse finden Sie unter DataContext-Methoden (O/R-Designer).
Erstellen von Entitätsklassen, die Datenbanktabellen und -ansichten zugeordnet sind
Sie können Entitätsklassen erstellen zugeordnet, Tabellen und Sichten durch Ziehen von Tabellen und Sichten aus Server-Explorer/Datenbank-Explorer auf die O/R-Designer. Wie im vorherigen Abschnitt der DataContext konfiguriert ist, mit Verbindungsinformationen des ersten Elements, das auf die Entwurfsoberfläche gezogen wird. Wenn ein nachfolgendes Element mit einer anderen Verbindung hinzugefügt wird der O/R-Designer, Sie können ändern, dass die Verbindung für die DataContext. Weitere Informationen finden Sie unter Gewusst wie: Erstellen von LINQ to SQL-Klassen zu Tabellen und Ansichten (O/R-Designer) zugeordnet.
Erstellen von DataContext-Methoden, die gespeicherte Prozeduren und Funktionen aufrufen
Sie erstellen DataContext Methoden, die aufgerufen werden (zugeordnet) gespeicherte Prozeduren und Funktionen durch Ziehen von Server-Explorer/Datenbank-Explorer auf die O/R-Designer. Gespeicherte Prozeduren und Funktionen hinzugefügt werden die O/R-Designer als Methoden der DataContext.
Hinweis
Beim Ziehen von gespeicherten Prozeduren und Funktionen von Server-Explorer/Datenbank-Explorer auf den O/R-Designer, den Rückgabetyp der generierten DataContext -Methode ist davon abhängig, in dem Sie das Element ablegen. Weitere Informationen finden Sie unter DataContext-Methoden (O/R-Designer).
Konfigurieren von DataContext, um mithilfe von gespeicherten Prozeduren Daten zwischen Entitätsklassen und einer Datenbank zu speichern
Wie bereits erwähnt, können DataContext Methoden, die gespeicherten Prozeduren und Funktionen aufrufen. Weiterhin können dem standardmäßigen LINQ to SQL-Laufzeitverhalten auch gespeicherte Prozeduren zum Durchführen von Einfüge-, Update- und Löschvorgänge zugewiesen werden. Weitere Informationen finden Sie unter Gewusst wie: Zuweisen von gespeicherten Prozeduren zum Aktualisieren, einfügen und löschen (O/R-Designer) ausführen.
Vererbung und der O/R-Designer
Wie andere Objekte können LINQ to SQL-Klassen die Vererbung verwenden und aus anderen Klassen abgeleitet werden. Vererbungsbeziehungen werden in einer Datenbank auf verschiedene Arten erstellt. Der O/R-Designer unterstützt das häufig in relationalen Systemen implementierte Konzept der Vererbung einer einzelnen Tabelle. Weitere Informationen finden Sie unter Gewusst wie: Konfigurieren von Vererbung mit dem O/R-Designer.
LINQ to SQL-Abfragen
Die Entitätsklassen erstellt, indem die O/R-Designer dienen zur Verwendung mit LINQ (Language-Integrated Query). Weitere Informationen finden Sie unter Gewusst wie: Abfragen von Informationen.
Trennen des generierten DataContext und des Entitätsklassencodes in verschiedene Namespaces
Die O/R-Designer enthält die Context Namespace und Entity Namespace Eigenschaften für die DataContext. Diese Eigenschaften bestimmen, welchen Namespace der DataContext und der Entitätsklassencode generiert werden. Standardmäßig sind diese Eigenschaften leer und die DataContext und Entitätsklassen werden in den Namespace der Anwendung generiert. Um den Code in einem anderen Namespace als dem der Anwendung zu generieren, geben Sie einen Wert in der Kontext Namespace und/oder Entity Namespace Eigenschaften.
In diesem Abschnitt
DataContext-Methoden (O/R-Designer)
Erläutert, was DataContext Methoden sind und wie Sie diese erstellen.
Datenklassenvererbung (O/R-Designer)
Beschreibt den Begriff der Vererbung für eine einzelne Tabelle und dessen Implementierung im O/R-Designer.
Gewusst wie: Erstellen von LINQ to SQL-Klassen zugeordnet werden, die Tabellen und Ansichten (O/R-Designer)
Beschreibt das Erstellen von Entitätsklassen, die Tabellen und Ansichten in einer Datenbank zugeordnet sind.
Gewusst wie: Erstellen einer Zuordnung (Beziehung) zwischen LINQ to SQL-Klassen (O/R-Designer)
Beschreibt das Erstellen einer Beziehung zwischen LINQ to SQL-Entitätsklassen.
Gewusst wie: Erstellen von DataContext-Methoden zugeordnet, gespeicherte Prozeduren und Funktionen (O/R-Designer)
Beschreibt das Erstellen von DataContext Methoden, die gespeicherten Prozeduren oder Funktionen ausführen, wenn sie aufgerufen werden.
Gewusst wie: Zuweisen von gespeicherten Prozeduren zum Aktualisieren, einfügen und löschen (O/R-Designer) ausführen.
Beschreibt das Konfigurieren einer DataContext zur Verwendung gespeicherter Prozeduren beim Zurückspeichern von Daten aus Entitätsklassen Klassen, die in einer Datenbank zurück.
Gewusst wie: Ändern des Rückgabetyps einer DataContext-Methode (O/R-Designer)
Beschreibt das Festlegen des Rückgabetyps einer DataContext Methode, die den Typ einer Entitätsklasse oder einen automatisch generierten Typ vom O/R-Designer erstellt werden.
Gewusst wie: Hinzufügen von Validierung zu Entitätsklassen
Beschreibt das Generieren partieller Methoden, mit denen Sie während der Durchführung von Eigenschaftenänderungen und Updates von Entitätsklassen Code hinzufügen können.
Gewusst wie: Aktivieren/Deaktivieren der Pluralisierung (O/R-Designer)
Beschreibt, wie die automatische Umbenennung von Klassen, die zu O/R-Designer hinzugefügt werden, aktiviert bzw. deaktiviert werden kann.
Gewusst wie: Konfigurieren von Vererbung mit dem O/R-Designer
Beschreibt, wie Entitätsklassen, die Vererbung für eine einzelne Tabelle verwenden, mit dem O/R-Designer konfiguriert werden.
Gewusst wie: Erweitern von O/R-Designer generierten Code
Beschreibt das Hinzufügen von Code, der nicht überschrieben wird, wenn durch Änderungen an Objekten im O/R-Designer Code neu generiert wird.
Exemplarische Vorgehensweise: Erstellen von LINQ to SQL-Klassen mithilfe von Vererbung einer einzelnen Tabelle (O/R-Designer)
Bietet schrittweise Anweisungen zur Konfiguration von Entitätsklassen, die Vererbung für eine einzelne Tabelle verwenden, mithilfe von O/R-Designer.
Exemplarische Vorgehensweise: Anpassen das Einfügen, aktualisieren und Löschen von Verhalten von Entitätsklassen
Bietet eine schrittweise Anleitung zum Konfigurieren einer DataContext zur Verwendung gespeicherter Prozeduren beim Zurückspeichern von Daten aus Entitätsklassen Klassen, die in einer Datenbank zurück.
Referenzmaterial
Siehe auch
Visual Studio Database Tools für .NET
Häufig gestellte Fragen
LINQ to SQL
Zugreifen auf Daten in Visual Studio