DataContext-Methoden (O/R-Designer)
DataContext-Methoden (im Kontext der LINQ to SQL-Tools in Visual Studio) sind Methoden der DataContext-Klasse, die gespeicherte Prozeduren und Funktionen in einer Datenbank ausführen.
Die DataContext-Klasse ist eine LINQ to SQL-Klasse, die als Verbindung zwischen einer SQL Server-Datenbank und den LinQ to SQL-Entitätsklassen dient, die dieser Datenbank zugeordnet sind. Die DataContext-Klasse enthält die Verbindungszeichenfolgeninformationen und die Methoden zum Herstellen einer Verbindung mit einer Datenbank und zum Ändern der Daten in der Datenbank. Standardmäßig enthält die DataContext-Klasse mehrere Methoden, die Sie aufrufen können, z. B. die SubmitChanges-Methode, die aktualisierte Daten aus LINQ to SQL-Klassen an die Datenbank sendet. Sie können auch zusätzliche DataContext-Methoden erstellen, die gespeicherten Prozeduren und Funktionen zugeordnet werden. Mit anderen Worten: Durch das Aufrufen dieser benutzerdefinierten Methoden wird in der Datenbank die gespeicherte Prozedur oder die Funktion ausgeführt, der die DataContext-Methode zugeordnet ist. Sie können der DataContext-Klasse neue Methoden hinzufügen, wie Sie auch anderen Klassen Methoden hinzufügen würden, um diese zu erweitern. Bei den Erläuterungen von DataContext-Methoden im Kontext des O/R-Designers werden jedoch die DataContext-Methoden besprochen, die gespeicherten Prozeduren und Funktionen zugeordnet werden.
Methodenbereich
Die gespeicherten Prozeduren und Funktionen zugeordneten DataContext-Methoden werden im Methodenbereich des O/R-Designers angezeigt. Der Bereich Methoden befindet sich neben dem Bereich Entitäten (der Hauptentwurfsoberfläche). Im Methodenbereich werden alle DataContext-Methoden aufgelistet, die Sie mit dem O/R-Designer erstellt haben. Standardmäßig ist der Methodenbereich leer. Ziehen Sie gespeicherte Prozeduren oder Funktionen aus dem Server-Explorer oder Datenbank-Explorer auf den O/R-Designer, um DataContext-Methoden zu erstellen und den Methodenbereich zu füllen. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen von DataContext-Methoden, die zu gespeicherten Prozeduren und Funktionen zugeordnet sind (O/R-Designer).
Hinweis
Sie können den Methodenbereich öffnen bzw. schließen, indem Sie mit der rechten Maustaste auf den O/R-Designer und dann auf Methodenbereich ausblenden bzw. Methodenbereich anzeigen klicken oder die Tastenkombination STRG+1 verwenden.
Zwei Typen von DataContext-Methoden
DataContext-Methoden sind Methoden, die gespeicherten Prozeduren und Funktionen in der Datenbank zugeordnet werden. Sie können DataContext-Methoden im Bereich Methoden des O/R-Designers erstellen und hinzufügen. Es gibt zwei verschiedene Typen von DataContext-Methoden, die sich dadurch unterscheiden, dass von dem einen mindestens ein Resultset zurückgegeben wird und von dem anderen nicht:
DataContext-Methoden, die ein oder mehrere Resultsets zurückgeben:
Erstellen Sie diese Art von DataContext-Methode, wenn eine Anwendung nur gespeicherte Prozeduren und Funktionen in der Datenbank ausführen und die Ergebnisse zurückgeben muss. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen von DataContext-Methoden, die zu gespeicherten Prozeduren und Funktionen zugeordnet sind (O/R-Designer), System.Data.Linq.ISingleResult<T> und IMultipleResults.
DataContext-Methoden, die keine Resultsets zurückgeben, wie Einfüge-, Update- und Löschvorgänge für eine bestimmte Entitätsklasse.
Erstellen Sie diese Art von DataContext-Methode, wenn eine Anwendung gespeicherte Prozeduren ausführen muss, statt das LINQ to SQL-Standardverhalten zum Speichern geänderter Daten zwischen einer Entitätsklasse und der Datenbank zu verwenden. Weitere Informationen finden Sie unter Vorgehensweise: Zuweisen von gespeicherten Prozeduren zum Durchführen von Aktionen zum Aktualisieren, Einfügen und Löschen (O/R-Designer).
Rückgabetypen von DataContext-Methoden
Wenn Sie gespeicherte Prozeduren und Funktionen aus dem Server-Explorer oder Datenbank-Explorer in den O/R-Designer ziehen, unterscheidet sich der Rückgabetyp der generierten DataContext-Methode je nach dem Ablageort des Elements. Durch Ablegen des Elements direkt auf einer vorhandenen Entitätsklasse wird eine DataContext-Methode mit dem Rückgabetyp der Entitätsklasse erstellt. Durch Ablegen von Elementen in einem (beliebigen) leeren O/R-Designer-Bereich wird eine DataContext-Methode erstellt, die einen automatisch generierten Typ zurückgibt. Der automatisch generierte Typ besitzt den Namen, der dem der gespeicherten Prozedur oder Funktion entspricht, und Eigenschaften, die den von der gespeicherten Prozedur oder Funktion zurückgegebenen Feldern entsprechen.
Hinweis
Sie können den Rückgabetyp einer DataContext-Methode ändern, wenn Sie sie dem Methodenbereich hinzugefügt haben. Um den Rückgabetyp einer DataContext-Methode zu überprüfen oder zu ändern, markieren Sie sie, und überprüfen Sie die Eigenschaft Rückgabetyp im Fenster Eigenschaften. Weitere Informationen finden Sie unter Vorgehensweise: Ändern des Rückgabetyps für eine DataContext-Methode (O/R-Designer).
Objekte, die von der Datenbank auf die Oberfläche des O/R-Designers gezogen werden, werden nach den Namen der Objekte in der Datenbank automatisch benannt. Wenn dasselbe Objekt mehrfach auf die Oberfläche gezogen wird, wird an das Ende des neuen Namens eine Nummer hinzugefügt, damit die Namen unterschieden werden können. Wenn Namen von Datenbankobjekten Leerzeichen oder in Visual Basic oder C# nicht unterstützte Zeichen enthalten, wird das entsprechende Zeichen durch einen Unterstrich ersetzt.
Zugehöriger Inhalt
- LINQ to SQL-Tools in Visual Studio
- LINQ to SQL
- Gespeicherten Prozeduren
- Vorgehensweise: Erstellen von DataContext-Methoden, die zu gespeicherten Prozeduren und Funktionen zugeordnet sind (O/R-Designer)
- Vorgehensweise: Zuweisen von gespeicherten Prozeduren zum Durchführen von Aktionen zum Aktualisieren, Einfügen und Löschen (O/R-Designer)
- Exemplarische Vorgehensweise: Anpassen des Einfüge-, Update- und Löschverhaltens in Entitätsklassen
- Walkthrough: Creating LINQ to SQL classes (O-R Designer) (Exemplarische Vorgehensweise: Erstellen von LINQ to SQL-Klassen (O/R-Designer))