Freigeben über


LINQ-zu-SQL (SQL Server Compact)

Die sprachintegrierte Abfrage (Language-Integrated Query, LINQ-zu-SQL) ist eine Komponente von .NET Framework 3.5, die eine Laufzeitinfrastruktur zum Verwalten relationaler Daten als Objekte bereitstellt, ohne dass auf die Möglichkeit von Abfragen verzichtet werden muss. LINQ-zu-SQL übersetzt dazu sprachintegrierte Abfragen in SQL zur Ausführung durch die Datenbank und übersetzt dann die in tabellarischem Format vorliegenden Ergebnisse wieder in Objekte, die von Ihnen definiert wurden. Ihre Anwendung kann die Objekte dann ändern, und LINQ-zu-SQL verfolgt Ihre Änderungen automatisch im Hintergrund.

Die LINQ-zu-SQL-Laufzeitinfrastruktur und die Entwurfszeittools reduzieren die Arbeitsauslastung des Entwicklers für Datenbankanwendungen in erheblichem Maße. LINQ-zu-SQL ist unabhängig von der Sprache. Jede Sprache, die zum Bereitstellen einer sprachenintegrierten Abfrage entwickelt wurde, kann durch sie den Zugriff auf Datenbankinformationen ermöglichen, die in relationalen Datenbanken gespeichert sind.

Hinweis

Relationale Daten erscheinen als Auflistung zweidimensionaler Tabellen (Beziehungen oder Flatfiles), bei denen gemeinsame Spalten Tabellen verbinden. Zur effektiven Verwendung von LINQ-zu-SQL müssen Sie mit den zugrunde liegenden Prinzipien relationaler Datenbanken vertraut sein.

LINQ-zu-SQL in SQL Server Compact

SQL Server Compact 3.5 wird standardmäßig für alle -Editionen installiert und steht daher auf dem Entwicklungscomputer zur Verwendung mit LINQ-zu-SQL zur Verfügung. Allerdings unterscheidet sich die Bereitstellung einer Anwendung, die SQL Server Compact 3.5 und LINQ-zu-SQL verwendet, von der Bereitstellung einer SQL Server-Anwendung. Da SQL Server Compact 3.5 eine eingebettete Datenbank ist, werden Anbieter und Modul in ein Paket gepackt.

SQL Server Compact 3.5 ist vergleichbar mit SQL Server, weil das Produkt separat von .NET Framework installiert werden muss. SQL Server Compact 3.5 kann allerdings privat bereitgestellt oder in die Anwendung eingebettet werden. Dadurch wird die Verwendung lokaler Daten für die Installationsanforderungen der Anwendung transparent. Sie können SQL Server Compact 3.5 in Ihre Anwendung einbetten, oder Sie können die SQL Server Compact 3.5 Windows Installer-Datei (SSCERuntime-<lang>.msi) verwenden.

SQL Server Compact 3.5 wird als eine Gruppe von DLLs gepackt, die direkt mit Datenbankdateien (Erweiterung SDF) arbeiten können. Die DLL-Dateien von SQL Server Compact 3.5 sind klein, sodass die Gesamtgröße der Anwendung reduziert wird. Für eingebettete Verteilungen sind keine Administratorrechte erforderlich, um eine lokale Datenspeicherfunktionalität hinzuzufügen.

Zu den Vorteilen der LINQ-zu-SQL-Funktionalität in SQL Server Compact 3.5 gehören:

  • Vertraute SQL Server-Syntax beim Schreiben von Abfragen
  • Syntaxfehler- und Typsicherheitsüberprüfung zur Kompilierzeit
  • Verbesserte Debuggerunterstützung
  • IntelliSense-Unterstützung
  • Leistungsstarke Filterungs-, Sortierungs- und Gruppierungsfunktionen
  • Konsistentes Modell zum Arbeiten mit Daten über verschiedene Arten von Datenquellen und Formate hinweg

Unterschiede zu SQL Server

Die SQL Server Compact 3.5-Features stellen eine umfassende Teilmenge der anderen SQL Server-Versionen hinsichtlich lokaler, eingebetteter Datenszenarien bereit. Durch die Verwendung einer eingebetteten Bereitstellung unterstützt SQL Server Compact 3.5 eine umfassende Gruppe von Funktionen für lokale Datenszenarien, die über alle Microsoft-Clients – von Geräten bis hin zu Desktopcomputern – hinweg konsistent sind. LINQ-zu-SQL in SQL Server Compact 3.5:

  • Unterstützt die LINQ-zu-SQL-Laufzeit und das SQLMetal-Befehlszeilentool
  • Unterstützt eine umfassende Teilmenge der SQL Server-Datentypen und -Funktionen
  • Unterstützt eine umfassende Teilmenge an SQL-Konstrukten hinsichtlich lokaler Datenszenarien
  • Der Abfrageoptimierer ist für lokale Datenszenarien konzipiert. Sein Timeout könnte ablaufen, wenn LINQ-zu-SQL-Abfragen bei der Zuordnung zu SQL-Abfragen zu komplex werden.
  • Unterstützt keine gespeicherten Prozeduren oder Ansichten
  • Bietet keine Unterstützung des O/R-Designers (Object Relational Designer)
  • Unterstützt keine partielle Vertrauenswürdigkeit

Zum Optimieren der Leistung von LINQ-zu-SQL in SQL Server Compact 3.5 muss die Transact-SQL-Abfrage mit dem kompilierten LINQ-zu-SQL-Abfragefeature vorab erstellt werden. Eine kompilierte Abfrage sollte immer dann verwendet werden, wenn dies möglich ist. Außerdem muss DataContext für LINQ-zu-SQL im schreibgeschützten Modus verwendet werden, wenn keine Updates erforderlich sind. Legen Sie DataContext mit der folgenden Anweisung fest:

DataContext.ObjectTrackingEnabled=false

Siehe auch

Andere Ressourcen

LINQ to SQL
Language-Integrated Query (LINQ)

Hilfe und Informationen

Informationsquellen (SQL Server Compact 3.5 Service Pack 1)