O Entity Framework (EF) é um
framework para realizar o mapeamento OR/M e persistir dados em banco de dados
relacionais. Desde o seu lançamento ele vem sendo aperfeiçoado e na nova versão
da plataforma .NET ele deve estar mais robusto e com muitos bugs corrigidos.
Vamos aguardar…
Eu já publiquei diversos artigos sobre
o Entity Framework(EF) e em todos eles eu usei o banco
de dados SQL Server. Procurei na web para ver exemplos com outros banco de dados
e não achei nada de muito concreto, mas por acaso acabei descobrindo que, após
baixar a última versão do MySQL e do conector .NET para MySQL, era
possível usar o Entity Framework(EF) com o MySQL
nativamente no Visual Studio 2008 com SP1.
Então este artigo vai mostrar um
exemplo usando uma aplicação Windows Forms só para mostrar que
podemos usar o Entity Framework com o
MySQL no VS 2008. Se você já acompanhou os meus
artigos a respeito, verá que não haverá muita diferença nos procedimentos que devemos realizar para efetuar as operações contra um banco de
dados MySQL usando o Entity Framework.
Então vamos ao trabalho…
Do que você vai precisar?
-
Visual Studio 2008 com service pack 1;
Devemos realizar as seguintes tarefas:
-
Criar o banco de dados Cadastro no
MySQL usando o MySQL Administrator; -
Criar a tabela Produtos contendo os
campos : id , nome e valor; -
Criar um novo projeto Windows
Application usando o VS 2008; -
Criar um Entity Data Model para o
banco de dados Cadastro; -
Usar os métodos do contexto criado
pelo EDM para realizar o acesso e as operações CRUD no banco de dados;
Então, como diria Jack, vamos por
partes…
1. Criando o banco de dados e a tabela
no MySQL usando o MySQL Administrator
O MySQL Administrator é
uma ferramenta que fornece uma interface gráfica
que o ajuda a gerenciar o seu MySQL.
Ao executar o MySQL
Administrator você verá a seguinte tela:

Você deve se conectar ao
MySQL informando a senha que configurou durante a instalação.
Ao fazer isto obterá a seguinte janela:

Selecione a opção
– Catalogs. Você verá uma lista dos bancos de
dados que já existem no MySQL.

Clique com o botão
direito do mouse sobre a área da janela onde os banco de
dados estão sendo exibidos e selecione a opção
– Create New Schema.
Uma nova janela chamada –
Create New Schema – irá
surgir e você deverá informar o nome do banco de
dados que deseja criar, conforme abaixo.
Ao clicar no botão OK,
o banco de dados – Produtos – será criado no MySQL.

Assim que o novo Schema surgir na lista,
estamos prontos para criar a tabela – Produtos – para isto , clique no botão – Create Table.
Na janela – Table Editor informe o nome da tabela e digite o
nome dos campos que deseja criar diretamente na aba – Columns and
Indices.
Abaixo foi criada a tabela Produtos com os
campos:
-
id
– o código do produto -
nome – o nome do produto
- valor
– o valor do produto

Para incluir alguns dados na tabela
produtos podemos usar o MySQL Query Browser e usar a instrução SQL:
Insert Into Produtos (nome,valor) values ('Caneta', 1.25)conforme a figura abaixo:

2. Criando
a solução no Visual Studio 2008 SP1
Abra o VS 2008 e no menu File
selecione New Project e a seguir selecione em Other Project Types o item
Visual
Studio Solutions;
Depois selecione Blank Solution em Templates e informe o nome
EF_MySQL e clique em OK;

Agora no menu File selecione Add e a
seguir New Project;
Na janela New Project selecione o template
Windows Forms Application e informe o nome ef_interface;

Vamos agora incluir um outro projeto
do tipo Class Library onde iremos definir o nosso
entity data model (EDM);
No menu File selecione Add e a
seguir New Project;
Na janela New Project selecione o template
Class Library e informe o nome ef_entities;

Se você fez tudo certinho, a janela
Solution Explorer do seu projeto deverá estar como a figura abaixo:

Na janela Solution Explorer temos uma solução contendo dois projetos:
- ef_interface
- ef_entities
Agora selecione o projeto
ef_entities e clique com o botão do mouse sobre ele e selecione o Add ->
New Item;
Em seguida selecione ADO .NET
Entity Data Model, informe o nome Cadastro.edmx e clique em Add;

No assistente do
Entity Data Model selecione o item Generate from DataBase e
clique em Next>;
Na janela Choose
Your Data Connection do assistente clique no botão New Connection;
Na janela
Connection Properties clique no botão Change;

Na janela Change
Data Source selecione o Data Source MySQL DataBase e clique em
OK;

A seguir defina as propriedades de
conexão para o seu banco de dados MySQL. No meu caso os valores são:
-
Server name =
localhost -
User name = root
-
Password = ******
Feito isso, já poderemos selecionar o
banco de dados Cadastro no MySQL e clicar em OK;

De volta à janela do assistente
Entity Data Model(EDM) marque a opção Yes e
clique em Next>;

Agora selecione a tabela produtos
e clique em Finish.

Ao final termos a entidade produtos
criada no descrito Entity Data Model(EDM)
conforme abaixo;
Obs: Eu poderia ter
alterado o nome da entidade para produto, mas preferi deixar o nome fornecido.

Agora é só alegria …
Basta definir uma interface no projeto
ef_interface e usar os métodos do contexto do EDM para acessar os
dados e realizarmos as operações contra o banco de dados MySQL.
3. Criando
a interface e mandando bala com o EF no MySQL
A interface que eu vou definir no
formulário form1.vb é mostrada na figura abaixo:

Controles do formulário:
– 3 TextBox
- txtID
- txtNome
- txtValor
– 5 Buttons
- btnNovo
- btnAlterar
- btnExcluir
- btnExibir
- btnSair
– 1 DataGridView
- gdvProdutos
Aguarde a
continuação do artigo…
Eu sei, é apenas Entity Framework, mas eu gosto…








