SQL Server Compact e LINQ to SQL
O SQL Server Compact é o banco de dados padrão instalado com o Visual Studio. Para obter mais informações, consulte Usando o SQL Server Compact (Visual Studio).
Este tópico descreve as principais diferenças no uso, configuração, conjuntos de recursos e escopo do suporte a LINQ to SQL.
Características do SQL Server Compact em relação ao LINQ to SQL
Por padrão, o SQL Server Compact é instalado para todas as edições do Visual Studio e, portanto, está disponível no computador de desenvolvimento para uso com LINQ to SQL. Mas a implantação de um aplicativo que usa o SQL Server Compact e o LINQ to SQL difere da implantação de um aplicativo do SQL Server. O SQL Server Compact não faz parte do .NET Framework e, portanto, deve ser empacotado com o aplicativo ou baixado separadamente do site da Microsoft.
Observe as seguintes características:
O SQL Server Compact é empacotado como uma DLL que pode ser usada diretamente em arquivos de banco de dados (extensão .sdf).
O SQL Server Compact é executado no mesmo processo que o aplicativo cliente. A eficiência da comunicação com o SQL Server Compact pode, portanto, ser significativamente maior do que a comunicação com o SQL Server. Por outro lado, o SQL Server Compact exige interoperabilidade entre código gerenciado e não gerenciado com seus custos correspondentes.
O tamanho da DLL do SQL Server Compact é pequeno. Esse recurso reduz o tamanho geral do aplicativo.
O tempo de execução do LINQ to SQL e a ferramenta de linha de comando SQLMetal oferecem suporte ao SQL Server Compact.
O Object Relational Designer não oferece suporte ao SQL Server Compact.
Conjunto de recursos
O conjunto de recursos do SQL Server Compact é muito mais simples do que o conjunto de recursos do SQL Server das seguintes maneiras que podem afetar os aplicativos LINQ to SQL:
O SQL Server Compact não oferece suporte a procedimentos armazenados ou exibições.
O SQL Server Compact oferece suporte apenas a um subconjunto de tipos de dados e funções SQL.
O SQL Server Compact oferece suporte apenas a um subconjunto de construções SQL.
O SQL Server Compact fornece apenas um otimizador mínimo. É possível que algumas consultas atinjam o tempo limite.
O SQL Server Compact não oferece suporte à confiança parcial.