VB .NET - Usando o Entity Framework com MySQL no VS 2008


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 bem simples 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:

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 banco 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:

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:

1 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 define as propriedades de conexão para o seu banco de dados MySQL. No meu caso os valores são:

Feito isso já poderemos selecionar o banco de dados Cadastro no MySQL e clicar em OK;

De volta a 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

Veja a continuação em : VB .NET - Usando o Entity Framework com MySQL no VS 2008 - II

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

Referências:


José Carlos Macoratti