DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


ADO.NET Entity Framework - .Net Magazine 80

Veremos neste artigo alguns conceitos básicos e técnicas relacionadas ao Entity Framework, explorando um pouco do seu funcionamento através de alguns exemplos práticos. Com isso, uma boa visão do que é necessário para sua utilização será apresentada, além de serem verificadas algumas motivações que levaram ao seu surgimento.






ADO.NET Entity Framework
Investigando os principais conceitos e aplicações

A capacidade de recuperar e modificar dados persistentes em aplicativos é um dos pontos mais críticos para o seu planejamento. A prática mais utilizada e bem estabelecida para alcançar tal característica faz uso da tecnologia de banco de dados relacional, que proporciona benefícios em relação à questões como concorrência, desempenho e facilidade de gerenciamento, entre outros.
As tecnologias de acesso a dados da Microsoft sofreram grandes mudanças desde o seu surgimento, e um histórico resumido pode ser observado na Figura 1.

Segundo Andrew Troelsen, o “ADO.NET é a tecnologia de acesso a dados nativa da plataforma .NET, e pode ser utilizada de três maneiras distintas: conectada, desconectada, ou através do Entity Framework” (TROELSEN, 2010, p. 883).
    A camada conectada representa a maneira mais direta disponível para o acesso a dados, e também a mais flexível. Sua utilização é muito simples, e esta estrutura pode ser observada na Figura 2.

As classes DataReader, Command e Connection possuem implementações específicas para cada provedor de dados, mas sua utilização é transparente. Através da classe Connection, é definida uma conexão (sua abertura e fechamento ficam a cargo do desenvolvedor), que serve como um canal de comunicação e gerenciamento com o banco de dados. Uma vez estabelecida, é passada para um objeto Command, que fica responsável por informar ao banco de dados uma tarefa à ser executada (pode ser qualquer operação CRUD). No caso de uma consulta, os valores são retornados através de um objeto DataReader. Acompanhe a Listagem 1, onde essa técnica é demonstrada para o banco de dados SQL Server.
Observe que um SqlConnection foi instanciado dentro da cláusula using, que vai liberá-lo automaticamente da memória após sua execução. A conexão é aberta e passada para um SqlCommand, que recebe também instruções SQL e parâmetros para realizar uma consulta por ID, retornada em um DataReader. A conexão será fechada automaticamente ao final das instruções.

Listagem 1. ADO.NET
try {
    int id = 99;
    string connectionString =
@"Data Source=.\sqlexpress;Initial Catalog=artigosdb;Integrated Security=True;Pooling=False";
    using (SqlConnection conn = new SqlConnection(connectionString)) {
        conn.Open();

        using (SqlCommand cmd = new SqlCommand()) {
            cmd.Connection = conn;
            cmd.CommandText = "SELECT nome FROM Autores WHERE Autores.Id = @AutorId";
            SqlParameter param = new SqlParameter("@AutorId", SqlDbType.Int, 50, "id");
            param.Value = id;
            cmd.Parameters.Add(param);

            Console.WriteLine("Autor: " + cmd.ExecuteScalar());
            Console.ReadLine();
        }
    }
} catch (Exception ex) {
    Console.WriteLine(ex.Message);
}



Embora o modelo conectado seja uma alternativa, o ADO.NET foi concebido visando a nuvem, onde o custo do tráfego de rede é considerado alto. O modelo desconectado (Figura 3) tenta amenizar este problema, diminuindo o número de acessos ao banco de dados.
Nessa abordagem, o ator principal é o DataSet, sendo este uma representação em memória das tabelas e relacionamentos do banco de dados. Sua obtenção e manipulação é responsabilidade do DataAdapter, que em conjunto com um objeto Connection, funciona como uma ponte entre o DataSet e o banco de dados. A ideia nesse modelo é que utilizando um DataAdapter, uma conexão com o banco de dados seja aberta, o DataSet obtido e a conexão fechada imediatamente. A aplicação pode então fazer uso do DataSet, e atualizar seu conteúdo enquanto desconectado da fonte de dados. O DataAdapter é capaz de resolver alterações feitas no DataSet, e enviar os dados modificados para o banco de dados (através de instruções SQL).
"


ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Silvio Paganini

(Sem mini-bio cadastrado)




Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03