.NET

8 dez, 2015

.NET – Usando o SQL Server Compact 4.0 com Entity Framework 6

Publicidade

No artigo de hoje vou mostrar como usar o SQL Server Compact Edition 4.0 com o Entity Framework 6 em um projeto Windows Forms, usando a linguagem C#.

O Microsoft SQL Server Compact 4.0 é um banco de dados embutido gratuito que os desenvolvedores de software podem usar para construir sites ASP.NET e aplicativos de Windows desktop (você pode usar e distribuir o seu aplicativo com o SQL Server Compact 4.0 sem custo algum).

Este banco de dados utiliza poucos recursos do sistema e suporta a distribuição de seus binários em pastas de aplicativos. Com ele podemos realizar o desenvolvimento de aplicativos no Visual Studio e no WebMatrix, além de realizar a migração contínua de esquema e dados para o SQL Server.

Veja alguns dos recursos e limitações do SQL Server Compact:

  • É baseado em arquivo, o que significa que a sequência de caracteres de conexão é um caminho de arquivo para o arquivo de banco de dados (.sdf);
  • Não é executado como um serviço. Essa é uma das principais diferenças entre usar SQL Server Compact, o SQL Server ou SQL Server Express Edition ou LocalDB;
  • Suporta várias conexões até o limite de 256 conexões. Também há suporte para abrir conexões em processos diferentes;
  • Oferece suporte a arquivos de banco de dados de até 4 GB;
  • É um banco de dados com base em arquivo que consiste de DLLs que com tamanho de aproximadamente 2,5 MB.

Com isso em mente, seguem alguns cenários onde a utilização do SQL Server Compact pode ser útil:

  • Aplicativos destinados a computadores desktop e/ou dispositivos móveis;
  • Aplicativos que irão ser usados em cenários ocasionalmente conectados;
  • Quando você precisa de um banco de dados livre para redistribuir;
  • Quando requisitos de tamanho e memória do aplicativo devem ser compactos;
  • Quando você desejar que o código de acesso a dados seja executado em um processo.

A primeira tarefa que você deve fazer (se ainda não tiver este banco de dados instalado) é baixá-lo neste site: Microsoft® SQL Server® Compact 4.0 SP1.

Após baixar e instalar o pacote, vamos instalar o add-in SQL Server Compact/SQLite Toolbox no Visual Studio para facilitar o trabalho com o SQL Server Compact.

Este add-in adiciona vários recursos para ajudar seus esforços de desenvolvimento usando um banco de dados incorporado: Scripting de tabelas e dados, importação de arquivos CSV e SQL Server, etc. Ele serve tanto para o SQL Server Compact como para o SQLite.

Após instalar o add-in, ao abrir a janela Server Explorer no VS 2013 Community, você verá um ícone que dá acesso ao menu de opções para trabalhar com os bancos de dados incorporados SQL Server Compact e SQLite.

Nota: Esse add-in não funciona para as versões Express do Visual Studio.

sql_compef11

sql_compef12

Como você pode ver, o add-in cria uma ToolBox com opções para criar/acessar e realizar diversas tarefas com banco de dados SQL Server Compact e SQLite.

Agora que já temos o banco de dados e o add-in instalado no VS 2013 Community, vamos criar a nossa solução.

Recursos usados:

Criando o projeto exemplo no VS 2013 Community

Abra o VS 2013 Community e clique em New Project. A seguir, selecione Visual C# -> Windows Forms Application e informe o nome Using_SQLServer_Compact. Depois clique no botão OK.

sql_compef14

Incluindo o banco de dados Chinook.sdf no projeto

Vamos incluir o banco de dados Chinook.sdf em nosso projeto usando o Nuget.

O Chinook é um banco de dados de amostra disponível para o SQL Server, Oracle, MySQL etc, que pode ser criado executando um único script SQL. Ele é ideal para demonstrações e testes de ferramentas ORM.

No menu TOOLS, clique em Nuget Package Manager -> Manage Nuget Packages for Solution. Digite o texto chinook para localizar o pacote e, a seguir, selecione e clique no botão Install ao lado do pacote:

sql_compef15

Agora vamos instalar o Entity Framework 6 para usar com o SQL Server Compact:

No menu TOOLS clique em Nuget Package Manager -> Package Manager Console. No console, digite o seguinte comando: Install-Package EntityFramework.SqlServerCompact.

sql_compef16

Ao final você deverá ver, na janela Solution Explorer, as referências ao Entity Framework e o banco de dados Chinook.sdf instalado:

sql_compef17

Na próxima parte do artigo iremos criar o Entity Data Model usando o banco de dados Chinook.sdf para podermos acessar suas informações usando o Entity Framework.