none
Mysql RRS feed

  • Pergunta

  • Tenho uma aplicação em asp.net e c# e BD sql server esta tudo Ok rodando , porem estou trocando meu BD para Mysql workbench , queria saber como faço isso , nunca trabalhei com Mysql workbench, pois estou utilizando VS 2010 entity e ja esta criada o BD mysql , porem queria saber como integrar o meu BD mysql na minha aplicação ?
    terça-feira, 28 de junho de 2016 02:10

Todas as Respostas

  • O procedimento é o mesmo muda muito pouco, acesse o site do Mysql, baixe e instale o Connector/Net no link abaixo:

    https://dev.mysql.com/downloads/connector/net/

    depois declare o MySql em sua aplicação e faça referencia ao Mysql em seu projeto :

    MySql.Data

    Declare o Using, do Mysql :

    using System.Data;
    using MySql.Data.MySqlClient;

    O resto é intuitivo

    Exemplo em SqlServer

            SqlDataReader reader;
            SqlCommand cmd = new SqlCommand("[MinhaProcedure]", conn.conn);

           cmd.CommandType = System.Data.CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@Id", Id);

    Exemplo em MySql

             MySqlDataReader reader;
             MySqlCommand cmd = new MySqlCommand("MinhaProcedure", conn.Conn);
             cmd.CommandType = System.Data.CommandType.StoredProcedure;
             cmd.Parameters.AddWithValue("Id", Id);

    Perceba que os comandos são os mesmos muda pouca coisa.

    Se tiver interesse veja aqui Como integrar o MySql com sua Aplicação C#

    e veja também Classe para acesso ao MySql em C#

     


    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto

    Visite : www.codigoexpresso.com.br
    terça-feira, 28 de junho de 2016 05:58
  • Olá JonatasC

    Usar Entity Framework neste caso pode ser uma boa ideia. Se o banco muda o EF se entende com o banco e na sua aplicação não muda uma linha de código sequer.

    terça-feira, 28 de junho de 2016 13:08
  • Primeiramente obrigado pablo pela resposta , Porém como faço , excluo o BD existente da minha aplicação no caso SQLserver , e crio outra ADO dentro da minha camada Dao ?
    terça-feira, 28 de junho de 2016 17:04
  • boa tarde , o mysql server já vem com o conector vem tudo completo , estou trabalhando com entity
    terça-feira, 28 de junho de 2016 17:07
  • Quanto ao Entity Framework, não posso ajudar, trabalhamos com consultas complexas e nunca tive oportunidade de trabalhar com este framework, se o Pablo puder ajudar com exemplos até eu ficaria agradecido, não sei se ele funciona com consultas envolvendo mais de um banco de dados e varias tabelas ?

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br 


    terça-feira, 28 de junho de 2016 22:00
  • voce saberia me dizer por que aparece isso the entity data model designer lets you visualize and design your entity data model
    terça-feira, 28 de junho de 2016 22:22
  • Olá,

    Desculpem, ontem não consegui entrar para responder...

    Para trabalhar com o database first, ou seja, quando o banco de dados já existe, basta criar um entity data model, o famoso EDMX. Visual studio tem um wizard que te guia no processo, define string de conexão, escolhe as tabelas com as quais vai trabalhar, views, procedures, etc.

    Para "usar" este EDMX basta referenciar ele e criar uma instancia da seguinte maneira:

    MeuDBEntities db = new MeuDBEntities();

    Para usar é bem simples, para listar basta apenas fazer assim, vamos supor que tenho uma tabela clientes:

    var listaClientes = db.Cliente.ToList();

    Para filtrar:

    var listaClientes = db.Cliente.Where(x=>x.Nome.Contains("algum nome aqui")).ToList();

    Para adicionar um registro na tabela Clientes:

    Cliente oCliente = new Cliente();
    oCliente.Nome = "algum nome";
    oCliente.Telefone = "123456";
    db.Cliente.Add(oCliente);
    db.SaveChanges();

    Veja que em nenhum momento eu uso nada que tenha relação com o tipo de banco de dados que existe na outra ponta. EF abstrai isso e resolve para mim o SQL que será usado. Se o banco de dados muda de tecnologia, vamos supor, de SqlServer para MySql, eu apenas recrio o EDMX apontando para o novo banco. O meu código não depende de banco de dados por tanto não muda.

    Uma referencia de estudo pode ser este link aqui: http://carloscds.net/2012/01/trabalhando-com-entity-framework-designer/

    quarta-feira, 29 de junho de 2016 12:07
  • Então pablo ADO.net eu recrio a hora que chamo o bancos de dados my sql na tela de designer do Edmx apareci esse escrito voce saberia me dizer por que aparece isso "the entity data model designer lets you visualize and design your entity data model" Att
    quarta-feira, 29 de junho de 2016 13:59
  • Olá,

    Acho que você não "ticou" para adicionar as tabelas no wizard. Nesta tela aqui embaixo não tem nenhum objeto de banco de dados selecionado. Tem que selecionar pelo menos as tabelas ou alguma tabela.

    quarta-feira, 29 de junho de 2016 20:33
  • eu seleciono o objeto , mais as tabelas nao aparece
    quarta-feira, 29 de junho de 2016 21:52
  • Olá,

    Então, precisaria algo mais específico para poder te ajudar, mas vamos lá. Você seguiu os passos do link que te passei?

    1- Adicionar o Entity Data Model.

    2- Na janela que abre escolher a opção "Generate from database".

    3- Preencher os dados de conexão com o banco de dados.

    4- Selecionar as tabelas para mapear do banco existente.

    quinta-feira, 30 de junho de 2016 11:53
  • Bom dia ,

    Sim pablo fiz , ja exclui o ADO.net do DAL e refiz , ja fiz o generate from database diredo do admx , e aparece essa tela com Mysql ! , ja estou quase mantendo o SQL server , não da dor de cabeça e é uma mae , sem contar que é nativo do visual studio , e pagar para ter o sql server no Locaweb vai ser a solução.Pior de tudo que ele aparece essa mensagem e nao da erro na aplicação , ele compila tudo correto .

    quinta-feira, 30 de junho de 2016 15:24
  • Putz, complicado, eu não tenho mysql aqui para poder testar, mas deveria rodar de boa...

    Vou ver se em casa instalo depois e testo, agora não tenho como fazer aqui... ai te aviso do resultado.

    quinta-feira, 30 de junho de 2016 17:06
  • Obrigado Pablo. 

    Agradeço

    att

    quinta-feira, 30 de junho de 2016 21:24
  • Resolveu  ?

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br 

    sexta-feira, 29 de julho de 2016 22:39