Entity Framework Code First com MySql
22/07/2013
0
Thiago Porto
Post mais votado
27/02/2015
https://devmais.wordpress.com/2015/02/26/configurando-mysql-entityframework-code-first-passo-a-passo/
Prodados Ltda
Mais Posts
23/07/2013
Gabriel Simas
Bem, para que você possa conectar o MySQL ao seu Modelo de Dados você antes de mais nada precisar colocar a sua string de conexão e dar um nome a ela, seja no App.config ou no web.config, como por exemplo:
<add name="ConexaoMySQL" connectionString="Server=111.222.333.444; Database=bancodados; Uid=user; Pwd=senha;" providerName="MySql.Data.MySqlClient" />
Como você criou um nome para esta conexão com o MySQL, na sua Classe que extende a DbContext, você deve utilizar o nome desta conexão no construtor,como um exemplo:
public class ConexaoBanco : System.Data.Entity.DbContext { public DbContext() : base("ConexaoMySQL") { } public DbSet<Tabela> Tabela { get; set; } }
E pronto, este código já fará com que você se conecte com a Base de Dados com sucesso. Se quiser, pode fazer um teste com uma Console Application mesmo instanciando a Classe ConexaoBanco, se ela trouxer algum resultado que não seja uma exceção, a Connection String estará correta.
Quaisquer dúvidas, só nos chamar aqui que de pronto lhe ajudaremos.
Forte Abraço.
23/07/2013
Thiago Porto
public class ConexaoBanco : System.Data.Entity.DbContext { public ConexaoBanco() : base("ConexaoMySQL") { } public DbSet<Tabela> Tabela { get; set; } }
Deu certo para criar o banco, mas quando chego no método add ele dá um erro informando que o campo não pode ser not null sendo que passo valor.
PS: Alterei o nome do construtor que estava errado.
Obrigado!
23/07/2013
Gabriel Simas
O trecho de código que eu coloquei foi apenas para exemplificar o que você deveria fazer para obter êxito.
Bem, você conseguiu fazer a conexão com o Banco e isso já é uma vitória não era apenas isso o que você estava precisando? ou você precisa também saber como que se usa o Entity Framework Code First?
É um grande prazer ajudar.
Forte Abraço.
27/02/2015
Thiago Santana
Já participei de alguns Hangouts, porém nunca fiz pratiquei nada.
27/02/2015
Gabriel Simas
Já participei de alguns Hangouts, porém nunca fiz pratiquei nada.
Por que não Thiago?
Forte Abraço
27/02/2015
Thiago Santana
Mas agora estou bastante interessado. Poderia disponibilizar links ou material?
27/02/2015
Gabriel Simas
Mas agora estou bastante interessado. Poderia disponibilizar links ou material?
Claro, a própria microsoft têm artefatos muito bons e interessantes sobre isso.
Futuramente vou escrever alguns artigos para a .NET Magazine neste sentido sobre o EF 6, por enquanto, seguem alguns locais interessantes:
Vale a pena você estudar o Modo Code First com classes decoradas ou Code First com Fluent API (Quebra o maior galho em Domínios que você precise desacoplar, pq você mapeia fora dele).
https://msdn.microsoft.com/pt-br/magazine/dn532202.aspx => EF6 Ninja
http://www.entityframeworktutorial.net/ => Esse é excelente
http://www.dotnetcurry.com/showarticle.aspx?ID=899
E por aí vai.
Forte Abraço.
27/02/2015
Thiago Santana
Vou dar uma estudada, pois atualmente ainda não trabalho com MVC, apenas com Web Forms e Windows Forms.
27/02/2015
Gabriel Simas
Vou dar uma estudada, pois atualmente ainda não trabalho com MVC, apenas com Web Forms e Windows Forms.
Sei bem o que é isso. Quando se está em ambiente corporativo, o WebForm ajuda bastante mesmo... Apesar de você não precisar usar o EF apenas com MVC, você pode utilizá-lo com WebForms tb caso você já programe utilizando camadas e afins.
Aqui onde trabalho tb é WebForms, mas utilizamos NHibernate, Entity Framework e para os WebServices utilizamos ADO.NET e por aí vai.
Se precisar de ajuda para refactoring de seus sistemas, só chamar... 4 braços andam mais rápidos que 2, hehe
Forte Abraço
27/01/2016
Thiago Souto
Como faço para criar a conexão fora do app.config ou web.config, usando o dbcontext. Pois caso o cliente mude o banco de dados de local para outro servidor então segue a baixo minhas perguntas.
1° - eu posso criar uma classe de conexão e ao invez de usar o app.config ou web.config e usar essa classe?
2° - eu perco desempenho do banco de dados ao trocar esse tipo de conexão?
e como ficaria essa conexão do dbcontext e essa classe de conexão.
27/01/2016
Jothaz
Como faço para criar a conexão fora do app.config ou web.config, usando o dbcontext. Pois caso o cliente mude o banco de dados de local para outro servidor então segue a baixo minhas perguntas.
1° - eu posso criar uma classe de conexão e ao invez de usar o app.config ou web.config e usar essa classe?
2° - eu perco desempenho do banco de dados ao trocar esse tipo de conexão?
e como ficaria essa conexão do dbcontext e essa classe de conexão.
Se mudar de local porque não alterar nos arquivos .config?
28/01/2016
Gabriel Simas
Como faço para criar a conexão fora do app.config ou web.config, usando o dbcontext. Pois caso o cliente mude o banco de dados de local para outro servidor então segue a baixo minhas perguntas.
1° - eu posso criar uma classe de conexão e ao invez de usar o app.config ou web.config e usar essa classe?
R.: Sim você pode criar uma classe de conexão, porém, você vai ficar engessado justamente quando você precisar trocar de servidor, vai ficar tendo que alterar o código fonte, ao invés de só alterar um arquivo.
2° - eu perco desempenho do banco de dados ao trocar esse tipo de conexão?
R.: Não perde em desempenho da aplicação, mas perde desempenho na entrega do que lhe fora solicitado.
e como ficaria essa conexão do dbcontext e essa classe de conexão.
A dica de como criar isso, você vê aqui:
[url:descricao=https://msdn.microsoft.com/en-us/library/bb738533(v=vs.110).aspx]https://msdn.microsoft.com/en-us/library/bb738533(v=vs.110).aspx[/url]
28/01/2016
Jothaz
public Context() : base("name=sua-string-conexao")
configuration> <connectionStrings> <add name="NomeDaSuaConexao" connectionString=""Data Source=(seu-server); Initial Catalog=seu-bd; Integrated Security=True;" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
Configurando via classe se mudar algum dados você terá de alterar a aplicação e gerar um outro deploy e atualizar seu ambiente de produção.
Ao usar os .config você altera somente neles e já vai funcionar, sem a necessidade de nenhuma inferência na aplicação. Usar-se .config justamente para poder usurfruir desta dinamicidade e independência.
Por isto questionei o porque de não utilizar os .config!
Mas quem decide é o responsável pelo desenvolvimento que comece melhor do que ninguém o cenário.
Clique aqui para fazer login e interagir na Comunidade :)