Usando o Entity Framework Com MySQL
Usando o Entity Framework Com MySQL
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.
O MySQL Administrator é uma ferramenta que fornece uma interface gráfica que o ajuda a gerenciar o seu MySQL.
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.
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.
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;
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);
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:
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 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>;
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.
Controles do
formulário:
- 3 TextBox
txtID
txtNome
txtValor
- 5 Buttons
btnNovo
btnAlterar
btnExcluir
btnExibir
btnSair
- 1 DataGridView
gdvProdutos
Referências: