Compartilhar via


LINQ to SQL (SQL Server Compact)

LINQ to SQL (consulta integrada à linguagem) é um componente do .NET Framework 3.5 que fornece uma infraestrutura de tempo de execução para gerenciar dados relacionais como objetos, sem abrir mão dos recursos de consulta. Isso é feito por meio da conversão de consultas integradas à linguagem em SQL para execução pelo banco de dados e, em seguida, convertendo os resultados tabulares novamente em objetos que você define. O aplicativo então fica livre para alterar os objetos e a LINQ to SQL continua controlando as alterações automaticamente em segundo plano.

Juntas, a infra-estrutura de tempo de execução LINQ to SQL e as ferramentas de tempo de design reduzem significativamente a carga de trabalho do desenvolvedor de aplicativos de banco de dados. A LINQ to SQL é agnóstica em relação à linguagem. Qualquer linguagem criada para fornecer Consulta Integrada à Linguagem pode usá-la para permitir acesso às informações armazenadas em bancos de dados relacionais.

Observação

Os dados relacionais aparecem como uma coleção de tabelas bidimensionais (relações ou arquivos simples), nas quais as colunas comuns estabelecem relações entre as tabelas. Para usar LINQ to SQL de forma eficaz, é necessário estar familiarizado com os princípios subjacentes dos bancos de dados relacionais.

LINQ to SQL no SQL Server Compact

Por padrão, o SQL Server Compact 3.5 é instalado para todas as edições do Microsoft Visual Studio 2008 e está disponível no computador de desenvolvimento para uso com LINQ to SQL. No entanto, a implantação de um aplicativo que usa o SQL Server Compact 3.5 e a LINQ to SQL difere do procedimento para implantação do aplicativo SQL Server. Como o SQL Server Compact 3.5 é um banco de dados incorporado, ele empacota o provedor com o mecanismo.

O SQL Server Compact 3.5 é como o SQL Server, pois deve ser instalado separadamente do .NET Framework. No entanto, o SQL Server Compact 3.5 pode ser implantado de forma privada, ou incorporado no aplicativo. Dessa forma, o uso dos dados locais é transparente para os requisitos de instalações do aplicativo. Você pode incorporar o SQL Server Compact 3.5 no aplicativo ou pode usar o arquivo do Windows Installer do SQL Server Compact 3.5 (SSCERuntime-<lang>.msi).

O SQL Server Compact 3.5 é empacotado como um conjunto de DLLs que pode funcionar diretamente com arquivos de banco de dados (.sdf). Os arquivos DLL do SQL Server Compact 3.5 são pequenos, o que reduz o tamanho total do aplicativo. As implantações incorporadas não requerem direitos administrativos para adicionar a funcionalidade de armazenamento de dados local.

Entre os benefícios da funcionalidade LINQ to SQL no SQL Server Compact 3.5 estão: 

  • Sintaxe familiar do SQL Server para escrever consultas.

  • Verificação do tempo de compilação quanto a erros de sintaxe e segurança de tipos.

  • Suporte aperfeiçoado ao depurador.

  • Suporte a IntelliSense.

  • Recursos avançados de filtragem, ordenação e agrupamento.

  • Modelo consistente para trabalho com dados em vários tipos de fontes de dados e formatos.

Diferenças do SQL Server

O conjunto de recursos do SQL Server Compact 3.5 fornece um subconjunto completo das outras versões do SQL Server relacionadas aos cenários de dados locais incorporados. Usando a implantação incorporada, o SQL Server Compact 3.5 dá suporte a um conjunto avançado de funcionalidades para cenários de dados locais consistentes em todos os clientes da Microsoft, de dispositivos a computadores desktop. LINQ to SQL no SQL Server Compact 3.5:

  • Dá suporte para tempo de execução de LINQ to SQL e para a ferramenta de linha de comando SQLMetal.

  • Dá suporte para um subconjunto avançado de tipos de dados e funções do SQL Server.

  • Dá suporte para um subconjunto avançado de construções SQL relativas aos cenários de dados locais.

  • O otimizador de consulta destina-se aos cenários de dados locais e seu tempo limite pode ser excedido se as consultas LINQ to SQL se tornarem muito complexas quando mapeadas para consultas SQL.

  • Não dá suporte para procedimentos armazenados ou exibições.

  • Não dá suporte para Object Relational Designer.

  • Não dá suporte para confiança parcial.

Para otimizar o desempenho da LINQ to SQL no SQL Server Compact 3.5, o recurso de consulta compilada da LINQ to SQL deve ser usado para criar previamente a consulta Transact-SQL. Sempre que possível, deve ser usada uma consulta compilada. Além disso, o DataContext da LINQ to SQL deve ser usado no modo somente leitura quando não forem necessárias atualizações. Para definir o DataContext, use a seguinte instrução:

DataContext.ObjectTrackingEnabled=false

Consulte também

Outros recursos

LINQ to SQL

Consulta Integrada à Linguagem (LINQ)