Conectando o MySql no Visual Studio 2010
Autor: Theo Alexandre Miliani | Publicado: 2012-05-18T05:44:00-07:00

Quando eu nao sabia direito como funcionava, eu procurei muito na internet e nao achei nada que fosse realmente esclarecedor para mim, tentei por muito tempo diversas formas diferentes, mas nada dava certo satisfatoriamente.
Primeiro vamos as considerações:
Nao adianta querer trabalhar com o MySql no Visual Studio 2010 express, ele simplesmente nao tem suporte.
(Mas como assim? eu conheço fulano, ciclano e beltrano que conseguiu) Explicando, ele nao tem um suporte facil, porem se voce ja dominar a linguagem você consegue sim (todo o segredo esta no web.config), porem com muitas limitações(code first pode esquecer).
O melhor suporte que eu encontrei foi no Visual Studio 2010 ultimate que é o que eu vou descrever aqui.
Me parece, não sei se estou certo, a Microsoft não tem interesse em tornar o MySql nativo do Visual Studio, nao sei se no 2011 ja mudou, mas acredito que não.
Entao temos que baixar o conector do MySql, nao vou colocar o link direto aqui, esse foi um erro que encontrei em diversos sites que eu consultei inicialmente para tentar entender e sempre ficava a duvida se as instruções eram para uma versão especifica ou era mais generico, basta entrar no site do MySql, e baixar a ultima versão do conector que sempre sera necessario, por diversos motivos, entre eles, correção de bugs, mais rendimento e etc...
Uma vez baixado e instalado, reinicie o Visual Studio e mãos a obra.
Modele o banco de dados externamente já que o code first não esta disponivel (se alguem conseguiu comente que eu estudo o modo e coloco um post so sobre isso aqui), e no projeto criado clique com o botao direito na pasta models(para uma melhor organização) selecione "Add" e na aba seguinte "New Item" ira aparecer uma janela mais ou menos como a da imagem abaixo, basta selecionar em "Installed Templates" a opção "Data" para filtrar as opções de dados e logo após "ADO.NET Entity Data Model", como na imagem abaixo:




O nome que eu dei é somente um exemplo, pode ser desconsiderado (ja vi programador que ate hoje se utiliza de nomes propostas por cursos, então eu tento nao prender ninguem no meu sistema de nomenclatura).
Quando clicar em ok uma janela como a de baixo ira aparecer:


Escolha o "Generate from database", pois o outro gera um sql que não é inteiramente compativel com o MySql, pelo menos ate a versão que eu testei, entao recomendo usar ele
Clicando em "Next" a proxima tela ira aparecer:


Eu numerei os passos, no circundado numero 1 voce podera escolher entre outras conexoes ja prontas entre todos os bancos de dados que ja foram selecionado, aqui iremos escolher "New Connection"
Ira aparecer uma tela como a seguir:
























&nbsp;



Aqui finalmente iremos "Desenterrar" o nosso MySql Connector, em "Data Source" provavelmente ira figurar outra conexão a outro tipo de banco de dados, clique em Change e selecione "MySql DataBase (Mysql Data Provider)" (se essa opção não estiver disponivel nesse passo, é porque seu conector nao esta instalado corretamente, ou algum outro problema ocorreu escreva sua duvida nos posts que eu tento resolver junto.) Em "Server Name", coloque o endereço de acesso ao banco de dados (ip, site e afins), em "User Name" o nome de usuário e em "Password" sua senha de acesso ao seu banco de dados, opcionalmente marque "Save my password" eu uso marcado, e nesse post vou considerar que você marcou tbm.

Feito tudo isso o proprio conector ira entrar no banco de dados selecionado e você podera escolher o banco de dados que ira usar.

Se tudo deu certo ate agora provavelmente voltara a tela anterior novamente.

Selecione "Yes, include include the sensitive data in connections string", isso fara com que nao seja necessario reescrever a connexction a cada conexao ao banco sendo que a mesma ficara inclusa no web.config.

"Tique"&nbsp; a caixa logo acima do numero 2 para ele ficar habilitado e nomeie a sua conexão ao banco de dados.

Se tudo deu certo ate agora o entity ira entrar no seu banco de dados e mapea-lo, fornecendo uma tela como a seguir:



onde todas as tabelas ja estarao mapeadas e prontas para serem usadas.

Em model Namespace nomeie o seu model e pronto!

Seu projeto ja estara conectado no banco de dados MySql.

Agradeço a atenção de todos.

Esse post foi pedido pelo Arthur Ciurilli por pedido de Marcos Bazzo.

Espero ter ajudado e se alguem quizer alguma postagem em especial é so pedir no meu email que esta aqui no site mesmo que eu faço o post com muita satisfação.