N-Tier- und Remoteanwendungen mit LINQ to SQL
Aktualisiert: November 2007
Sie können N-Tier-Anwendungen bzw. Anwendungen mit mehreren Ebenen erstellen, die LINQ to SQL verwenden. Datenkontext, Entitätsklassen und Abfrageerstellungslogik von LINQ to SQL befinden sich als Datenzugriffsebene (DAL) auf der mittleren Ebene. Geschäftslogik und nicht dauerhafte Daten können vollständig in partiellen Klassen und Methoden von Entitäten und Datenkontext implementiert werden, oder sie können in separaten Klassen implementiert werden.
Die Client- oder Präsentationsebene ruft Methoden für die Remoteschnittstelle der mittleren Ebene auf, und die Datenzugriffsebene auf dieser Ebene führt Abfragen oder gespeicherte Prozeduren aus, die DataContext-Methoden zugeordnet sind. Die mittlere Ebene gibt die Daten normalerweise als XML-Darstellungen von Entitäten oder Proxyobjekten an Clients zurück.
Auf der mittleren Ebene werden Entitäten vom Datenkontext erstellt, der deren Zustand nachverfolgt und das verzögerte Laden von Änderungen aus der Datenbank und das Übergeben von Änderungen an die Datenbank verwaltet. Diese Entitäten werden an den DataContext "angefügt". Nachdem die Entitäten jedoch mittels Serialisierung an eine andere Ebene gesendet wurden, werden sie getrennt, was dazu führt, dass ihr Zustand nicht mehr vom DataContext nachverfolgt wird. Entitäten, die vom Client zur Aktualisierung zurückgesendet werden, müssen erneut an den Datenkontext angefügt werden, bevor die Änderungen von LINQ to SQL an die Datenbank übergeben werden können. Der Client ist dafür zuständig, ursprüngliche Werte und/oder Zeitstempel wieder für die mittlere Ebene bereitzustellen, wenn diese für Überprüfungen auf vollständige Parallelität benötigt werden.
In ASP.NET-Anwendungen wird diese Komplexität größtenteils von LinqDataSource verwaltet. Weitere Informationen finden Sie unter Übersicht über das LinqDataSource-Webserversteuerelement.
In der folgenden Abbildung wird die grundlegende Architektur einer N-Tier-Anwendung dargestellt, die LINQ to SQL in der Datenzugriffsebene verwendet.
Zusätzliche Ressourcen
Weitere Informationen zur Implementierung von N-Tier-Anwendungen, die LINQ to SQL verwenden, finden Sie unter den folgenden Themen:
Weitere Informationen zu N-Tier-Anwendungen, die ADO.NET-DataSets verwenden, finden Sie unter N-Tier-Datenanwendungen.