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#.
Na primeira parte do artigo realizamos as seguintes tarefas:
- Instalamos o banco de dados SQL Server Compact 4.0 SP1
- Instalamos o Add-In para criar a ToolBox para o SQL Server Compact e o SQLite
- Criamos o projeto Using_SQLServer_Compact no VS 2013 Community
- Incluímos o banco de dados Chinook.sdf em nosso projeto via Nuget
- Incluímos uma referência ao Entity Framework em nosso projeto via Nuget (Console)
Vamos continuar e criar o modelo de entidades para acessar os dados da tabela Album no banco de dados Chinook via Entity Framework 6.
Recursos usados:
-
Entity Framework 6
Criando o Entity Data Model
Vamos, agora, criar o nosso modelo de entidades – Entity Data Model – a partir do banco de dados Chinook.sdf.
Abra o projeto criado no artigo anterior e, a seguir, abra a ToolBox para o SQL Server Compact/SQLite e crie uma conexão com o banco de dados Chinook clicando na opção Add SQL Server Compact 4.0 Connection.
Na janela do assistente, clique no botão Browse e localize o banco de dados Chinook.sdf no projeto:
Clique no botão OK para incluir a conexão ao projeto.
A seguir, clique com o botão direito sobre o banco de dados Chinook.sdf em Data Connections.
Selecione a opção: Generate Code(EF/LINQ to SQL/SyncFx) -> Add Entity Data Model(EDMX) to current Project.
Na janela do assistente, aceite o nome padrão para o Model e as opções definidas conforme mostra a figura abaixo:
Clicando no botão OK, teremos o modelo de entidades criado na solução exibido na janela Solution Explorer:
Definindo a interface e acessando os dados
Vamos definir uma interface bem simples em nosso projeto Windows Forms.
No formulário padrão form1.cs inclua a partir da ToolBox os seguintes controles:
- 1 ListBox – Name= lbDados
- 1 Button – Name = btnExibir
Defina o seguinte leiaute no formulário form1.cs:
Agora, no evento, Click do botão de comando inclua o código abaixo:
private void btnExibir_Click(object sender, EventArgs e) { using (var context = new ChinookEntities()) { foreach (var album in context.Album.ToList()) { lbDados.Items.Add(album.Title); } } }
Executando o projeto iremos obter o resultado a seguir:
Poderíamos continuar e desenvolver as operações CRUD (incluir, ler, atualizar e deletar) em nossa aplicação, mas isso é assunto para outro artigo.
Pegue o projeto completo aqui: Using_SQLServer_Compact.zip