SQL Server Compact e LINQ to SQL

SQL Server Compact è il database predefinito installato con Visual Studio. Per altre informazioni, vedere Uso di SQL Server Compact (Visual Studio).

In questo argomento vengono delineate le principali differenze per quanto riguarda utilizzo, configurazione, set di funzionalità e ambito di supporto di LINQ to SQL.

Caratteristiche di SQL Server Compact in relazione a LINQ to SQL

Per impostazione predefinita, SQL Server Compact è installato per tutte le edizioni di Visual Studio ed è pertanto disponibile nel computer di sviluppo per l'uso con LINQ to SQL. La distribuzione di un'applicazione che usa SQL Server Compact e LINQ to SQL differisce però dalla distribuzione di un'applicazione SQL Server. SQL Server Compact non fa parte di .NET Framework e pertanto deve essere fornito con l'applicazione o scaricato separatamente dal sito Microsoft.

Tenere presente le seguenti caratteristiche:

  • SQL Server Compact viene fornito come una DLL che può essere usata direttamente sui file di database (con estensione sdf).

  • SQL Server Compact viene eseguito nello stesso processo dell'applicazione client. L'efficienza della comunicazione con SQL Server Compact può quindi essere significativamente più elevata rispetto alla comunicazione con SQL Server. D'altra parte SQL Server Compact richiede l'interoperabilità fra codice gestito e non gestito con i relativi costi associati.

  • Le dimensioni della DLL di SQL Server Compact sono limitate. Questa funzionalità riduce le dimensioni complessive dell'applicazione.

  • Il runtime di LINQ to SQL e lo strumento della riga di comando SQLMetal supportano SQL Server Compact.

  • Object Relational Designer non supporta SQL Server Compact.

Set di funzionalità

Il set di funzionalità di SQL Server Compact è molto più semplice rispetto a quello di SQL Server nei modi riportati di seguito che possono influire sulle applicazioni LINQ to SQL:

  • SQL Server Compact non supporta stored procedure o visualizzazioni.

  • SQL Server Compact supporta solo un subset di tipi di dati e funzioni SQL.

  • SQL Server Compact supporta solo un subset di costrutti SQL.

  • SQL Server Compact fornisce solo un'utilità di ottimizzazione con funzionalità minime. È possibile che si verifichi il timeout di alcune query.

  • SQL Server Compact non supporta il trust parziale.

Vedi anche