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 ?
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 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:
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: 1 solução contendo dois projetos:
|
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:
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 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
- 5 Buttons
- 1 DataGridView
|
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