Utilizar LINQ to SQL é fácil, mas só funciona com banco de dados MS-SQL.
E se minha necessidade for utilizar o MySQL como banco de
dados? Nesse caso teremos que utilizar o LINQ to Entities. O conceito é o mesmo
e funciona para qualquer banco de dados.
Nesse caso eu vou utilizar o MySQL 5. 5.0.45.
Criei uma tabela com a seguinte estrutura:
Onde a coluna id é
por padrão incrementada 1 a 1.
Já no Visual Studio, precisamos adicionar uma conexão
apontando para o MySQL.
Clique na guia Server Explorer e clique em adicionar
conexão. A janela a seguir irá aparecer:
Escolha MySQL e clique em ok.
Preencha os campos conforme seu banco de dados. No meu caso
o nome do banco de dados é Projeto e esta localizada no Localhost. Vou usar o
usuário root para acessar.
Após criar a conexão, é necessário adicionar o item ADO.NET Entity Data Model, como abaixo . Vou nomear o arquivo como Banco.edmx
e clicar em Add.
A janela a seguir será apresentada, escolha a opção “Generate from database” e clique em Next.
Escolha a conexão para o banco de dados. E clique em Next.
Será apresentada a janela a seguir, nessa janela podemos
escolher as entidades que vamos utilizar. No meu caso, somente a entidade usuário.
Clique em Finish
Pronto, o mapeamento já foi feito e podemos trabalhar com a
entidade criada.
Para inserir um registro faremos da seguinte maneira:
Banco bd = new Banco();//Representa o
contexto do banco de dados
usuario u = new usuario();
u.nome = "Celso
Zequim";
u.email = "czequim@gmail.com";
bd.AddTousuario(u);
bd.SaveChanges();
Ao pressionar F5, podemos ver que o registro foi inserido no
Banco de dados:
Para ler essa informação e exibir no console é simples:
var
usuarios = from ur in
bd.usuario orderby ur.nome select ur;
foreach
(usuario usr in
usuarios)
{
Console.Write(usr.nome);
Console.WriteLine();
}
O resultado é o seguinte:
Simples... e funciona para qualquer banco de dados, como: MySQL, Oracle, Postgres, Firebird... etc.
:D