Enterprise Library Data Access (ELDA), utilizando o Mysql

 

Enterprise Library são bibliotecas (free) disponibilizadas pela Microsoft com o objetivo de ajudar os desenvolvedores a criarem projetos com um bom padrão de codificação, instalação e configuração.

 

Neste artigo falarei sobre Enterprise Library Data Access (ELDA), mais especificamente utilizando o Mysql.  Minha razão para escrever este artigo é que a maioria dos exemplos disponibilizados na Web utilizam o SqlServer, pois já vem como default no ELDA. Com isso várias pessoas acabam não sabendo utilizar o ELDA para o Mysql, e terminam deixando essa opção de lado. Os passos necessários para o uso do Mysql são bastante simples, e aqui mostrarei cada um deles.

 

Instalação do Enterprise Library

Não vou demonstrar neste artigo os passos necessários para instalação do Enterprise Library, pelo simples fato de existir vários artigos na Web sobre o assunto, e isto tornaria o artigo muito extenso. Segue um artigo do Linha de Código sobre o assunto:

        

http://www.linhadecodigo.com.br/artigos.asp?id_ac=678

 

Download do Connector do Mysql

Antes de qualquer coisa é preciso baixar a biblioteca que fará o “trabalho pesado” com o Mysql, que é a MySqlConnector.Net. Segue o endereço para download:

 

http://dev.mysql.com/downloads/connector/net/1.0.html

 

Configuração do Enterprise Library Data Access (ELDA)

Agora sim vamos começar a fazer a configuração propriamente dita. Primeiro temos que ir ao diretório de instalação do Enterprise Library, entrar no diretório “src\Data”, e criar a seguinte pasta: “MySql”.

 

Adicione então nesta pasta os dois arquivos (MySqlCommandWrapper.cs e MySqlDatabase.cs) que estão disponibilizados neste artigo para download.

 

Confira na figura a seguir:

 

eldagustavofig01.JPG

 

Os arquivos MySqlCommandWrapper.cs e MySqlDatabase.cs

A classe  MySqlDatabase” , a qual deriva de “Database”, é a responsável por se conectar ao MySql. Já a “MySqlCommandWrapper” ( como o próprio nome diz J ) é apenas um Wrapper afim de tornar mais simples as chamadas ao banco.

 

MySqlConnector.Net

O instalador que vem no MySqlConnector.Net gera uma dll, chamadaMySql.Data.dll”. Copie esta dll e cole na pasta que criamos ainda a pouco, pasta “MySql.

 

Adicionando a dll e as classes ao projeto do Enterprise Library Data Access

O Enterprise Library nada mais é do que um projeto .Net como outro qualquer. Devemos adicionar nele as classes e a dll da pasta “MySql”. Para isso abra a solução Data.sln. ( Esta solução se encontra dentro da pasta “src”, localizada no diretório do Enterprise Library).

 

Observe a figura a seguir:

 

eldagustavofig02.JPG

 

Com a solução aberta no Visual Sutdio 2003, adicione ( no projeto Data) a dll e as classes que adicionamos na pasta “MySql”. Pronto, agora só precisamos “rebuildar” a solução ( Ctrl+Shift+B).

 

Confira a figura a seguir: 

 

eldagustavofig03.JPG

 

Utilizando ELDA com Mysql em seu projeto

Ao utilizar o ELDA com Mysql em seu projeto, preste atenção a seguinte observação: NÃO ADICIONE as dll´s da pasta “[Enterprise library]/bin”, pois essas são as originais do Enterprise Library. Você deve adicionar as dll´s do diretório “[Enterprise library]/src/Data/bin/”, pois foram essas as dll´s que nós modificamos.

 

Confira na imagem a seguir:

 

eldagustavofig04.JPG

 

Finalmente para utilizar o ELDA com Mysql em seu projeto, ao configurar o Enterprise Library Data Access (através do Enterprise Library Configuration), você deve primeiro criar um “Database Type” do tipo Mysql. Para isso vá em “Database Types”, dê um clique (com o botão direito) e escolha “New->Database Type”.

 

eldagustavofig05.JPG

 

Dê um nome ( por exemplo MySql ) e em TypeName cole a seguinte string:

Microsoft.Practices.EnterpriseLibrary.Data.MySql.MySqlDatabase, Microsoft.Practices.EnterpriseLibrary.Data

 

eldagustavofig06.JPG

 

Por último, na instância do Database, selecione o “Database Type” que criamos ( neste caso MySql ).

 

eldagustavofig07.JPG

 

É isso ai pessoal. Como eu disse, não coloquei neste artigo os passos necessários para instalação e utilização do Enterprise Library. Entretanto se alguém não conseguir instalar, ou tiver qualquer problema com este artigo, é só me falar que faço um artigo explicando todo o resto.

 

Um abraço.

 

Gustavo Barros