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.
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:
-
Entity Framework 6
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.
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:
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.
Ao final você deverá ver, na janela Solution Explorer, as referências ao Entity Framework e o banco de dados Chinook.sdf instalado:
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.