Share via


LINQ to SQL (SQL Server Compact)

Language-Integrated Query (LINQ to SQL) è un componente di .NET Framework 3.5 che rende disponibile un'infrastruttura di runtime per la gestione di dati relazionali come oggetti, mantenendo la possibilità di eseguire query. A tale scopo, LINQ to SQL converte query LINQ in SQL per l'esecuzione tramite il database, quindi converte nuovamente i risultati tabulari negli oggetti definiti. Mentre nell'applicazione viene eseguita la modifica degli oggetti, LINQ to SQL viene eseguito in background e rileva le modifiche in modo automatico.

L'infrastruttura di runtime di LINQ to SQL e gli strumenti della fase di progettazione consentono ridurre il carico di lavoro per lo sviluppatore delle applicazioni di database. LINQ to SQL è indipendente dal linguaggio. È possibile utilizzare Language-Integrated Query (LINQ) in qualsiasi linguaggio che lo supporti per consentire l'accesso a informazioni archiviate nei database relazionali.

Nota

I dati relazionali vengono visualizzati come una raccolta di tabelle bidimensionali (relazioni o file flat), in cui le colonne comuni collegano tra loro le tabelle. Per utilizzare LINQ to SQL in modo efficiente, è necessario avere familiarità con i principi di base dei database relazionali.

LINQ to SQL in SQL Server Compact

Per impostazione predefinita, SQL Server Compact 3.5 viene installato per tutte le edizioni di Microsoft Visual Studio 2008 ed è pertanto disponibile nel computer di sviluppo per essere utilizzato con LINQ to SQL. La distribuzione di un'applicazione che utilizza SQL Server Compact 3.5 e LINQ to SQL viene tuttavia eseguita in modo diverso da quella di un'applicazione di SQL Server. Poiché SQL Server Compact 3.5 è un database incorporato, nel relativo pacchetto sono inclusi il provider e il motore.

SQL Server Compact 3.5 è simile a SQL Server, in quanto deve essere installato separatamente da .NET Framework. SQL Server Compact 3.5 può essere tuttavia distribuito in modo privato oppure incorporato nell'applicazione. Ciò consente di rendere l'utilizzo dei dati locali trasparente per i requisiti di installazione delle applicazioni. È possibile incorporare SQL Server Compact 3.5 con l'applicazione oppure utilizzare il file di Windows Installer di SQL Server Compact 3.5 (SSCERuntime-<lingua>.msi).

SQL Server Compact 3.5 viene fornito come un set di DLL da utilizzare direttamente con i file di database (con estensione sdf). I file DLL di SQL Server Compact 3.5 sono particolarmente piccoli. Le dimensioni complessive dell'applicazione risultano pertanto ridotte. Le distribuzioni incorporate non richiedono i diritti amministrativi per l'aggiunta della funzionalità relativa all'archivio dati locale.

Di seguito vengono indicati i vantaggi offerti dalla funzionalità LINQ to SQL in SQL Server Compact 3.5. 

  • Sintassi SQL Server familiare per la scrittura di query.

  • Controllo degli errori di sintassi in fase di compilazione e indipendenza dai tipi.

  • Supporto del debugger migliorato.

  • Supporto IntelliSense.

  • Potenti funzionalità di filtro, ordinamento e raggruppamento.

  • Modello consistente per l'utilizzo dei dati con tutti i diversi tipi di origini e formati dati.

Differenze con SQL Server

Il set di caratteristiche di SQL Server Compact 3.5 rende disponibile un esteso subset di caratteristiche di altre versioni di SQL Server per gli scenari che prevedono dati incorporati locali. Mediante la distribuzione incorporata, SQL Server Compact 3.5 supporta un esteso set di funzionalità per gli scenari che prevedono dati locali consistenti tra tutti i client Microsoft dai dispositivi ai desktop. LINQ to SQL in SQL Server Compact 3.5:

  • Supporta il runtime LINQ to SQL e lo strumento della riga di comando SQLMetal.

  • Supporta un esteso subset di funzioni e tipi di dati SQL Server.

  • Supporta un esteso subset di costruttori SQL per gli scenari che prevedono dati locali.

  • Query Optimizer è destinato a scenari che prevedono dati locali. È possibile che se ne verifichi il timeout se le query LINQ to SQL diventano troppo complesse in caso di mapping a query SQL.

  • Non supporta stored procedure o viste.

  • Non supporta Progettazione relazionale oggetti.

  • Non supporta l'attendibilità parziale.

Per ottimizzare le prestazioni di LINQ to SQL in SQL Server Compact 3.5, è necessario utilizzare la caratteristica delle query compilate LINQ to SQL per creare la query Transact-SQL in precedenza. Se possibile, utilizzare una query compilata. È inoltre necessario utilizzare DataContext di LINQ to SQL in modalità sola lettura se non sono necessari aggiornamenti. Per impostare DataContext, utilizzare la seguente istruzione:

DataContext.ObjectTrackingEnabled=false

Vedere anche

Altre risorse

LINQ to SQL

Language-Integrated Query (LINQ)