Dev (Back & Front)ARTIGO

VB .NET – Usando o Entity Framework com MySQL no VS 2008 – Parte 01

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? 

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…

é referência em Visual Basic no Brasil e autor dos livros "Aprenda Rápido: ASP" e "ASP, ADO e Banco de Dados na Internet". Mantenedor do site macoratti.net.

Ver perfil