C# - CRUD básico com Entity Framework para iniciantes - I


Neste artigo eu vou mostrar as vantagens em usar os recursos do Entity Framework, este fantástico ORM para plataforma .NET que não chega ser a oitava maravilha do mundo mas que , como eu vou mostrar , veio para facilitar a sua vida quando o assunto for acessar dados.

Vou mostrar um exemplo prático onde irei acessar um banco de dados relacional SQL Server e irei realizar as principais operações de manutenção - CRUD e navegação.

Vou usar o Visual Studio 2010 beta 2, mas o código não usa nenhum recurso que não seja suportado pelo Visual Studio 2008.

Abra o VS 2010 beta 2 e crie um novo projeto usando o template Visual C# -> Windows Forms Application, selecionando a plataforma .NET Framework 3.5 e informando o nome EF_Crud_Basico;

Para ganhar tempo eu já tenho um banco de dados chamado Cadastro que foi criado no SQL Server 2005 e que possui uma tabela Estados que irei usar no exemplo;

Nota: Para saber como criar banco de dados e tabelas no SQL Server veja o artigo: Usando o SQL Server Management Studio

No menu Project selecione a opção Add New Item, selecione o template Data e a seguir ADO .NET Entiy Data Model para criar o nosso modelo de entidades baseado no banco de dados Cadastro. Informe o nome Estados.edmx e clique em Add;

Clique na opção Generate from database e no botão Next>;

A seguir efetue a conexão com o banco de dados Cadastro.mdf; Aceite o nome para a entity Connection - CadastroEntities e clique no botão Next>;

Responda No (Não) para a próxima janela que pergunta se você quer copiar a conexão para o seu projeto;

A seguir selecione a tabela Estados , aceite o nome para o namespace do modelo - CadastroModel e clique em Finish;

Ao final desta etapa você deverá ter gerado o seu modelo de entidades com o nome Estados. Para ficar mais coerente eu vou alterar o nome para ESTADO.

Vamos agora selecionar o formulário form1.cs criado no projeto e definir uma interface para que possamos realizar a manutenção na tabela Estados. Faremos isso através da nossa entidade ESTADO. Defina então a interface com o seguinte leiaute:

No formulário estamos usando um controle TabControl para exibir duas visões dos dados: Detalhes e Lista.

- Para exibir os detalhes usamos na primeira TabPage controles Label,TextBox e Buttons;
- Para exibir a relação de estados usamos um controle
DataGridView (gdvEstados) ;

Neste exemplo meu objetivo é apenas mostrar como realizar as tarefas de manutenção usando o Entity Framework por este motivo eu não usar a arquitetura em camadas, o código estará nos eventos dos controles no formulário. É uma prática que deve ser evitada em aplicações de produção. OK !!!

Vamos começar definindo o namespace System.Data.Objects que devemos declarar no início do formulário form1.cs:

using System.Data.Objects;

A seguir logo após a declaração do formulário devemos declarar as variáveis a seguir:

CadastroEntities contextoDados;
List<ESTADO> estadoLista;
int indiceAtualEstado = 0;

Estas variáveis são importantes pois serão usadas em toda a aplicação:

- contextoDados é o nosso contexto que representa o modelo de entidades que foi mapeado pelo EF;
- estadoLista é uma lista genérica onde iremos armazenar os estados;
- indiceAtualEstado é uma variável que vai controlar a posição do registro atual;

Veja a continuação deste artigo em :  C# - CRUD básico com Entity Framework para iniciantes - II

Eu sei é apenas Entity Framework mas eu gosto...

Referências:


José Carlos Macoratti