E o ADO.NET nunca deve deixar de ser utilizado

Comumente recebo e-mails sobre: “Qual tecnologia de acesso a dados devo utilizar no meu projeto?”, “O EF é performático o suficiente para fazer isso?”, “Tenho uma rotina de acesso a dados lenta, o que devo fazer?”, “Qual a melhor formar de construir minha camada de acesso a dados?”, etc. A resposta para todas essas perguntas é basicamente a mesma. E sempre acabo me referindo ao ADO.NET como um aliado muito forte (e presente) nas aplicações que desenvolvo. Fato este que gera muita surpresa em todos.

Imagem-Animada-How-Do-You-DoWhat

A construção de camadas de acesso a dados é complexa e exige cuidados. Nos últimos anos muito se tem dito e apoiado o uso de ferramentas de mapeamento objeto-relacional (ORM). Tomo como exemplo este blog, onde muitos de meus posts são sobre o Entity Framework.

Leia mais »

Publicidade

Gerando registros de log automáticos com o Entity Framework

Uma tarefa bastante recorrente durante o desenvolvimento de sistemas é a criação de rotinas de log. E o Entity Framework facilita a nossa vida quando temos de fazer isso.

Com o Entity Framework podemos criar uma customização que encapsule os comandos que serão enviados para o banco de dados e então adicionar uma lógica que gere os registros de log necessários para cada operação.

log de dados

Leia mais »

Entity Framework – Melhores práticas em busca de performance

Separei neste post algumas dicas de como tornar suas aplicações com Entity Framework mais performáticas. As dicas abaixo se resumem a um grupo de boas práticas que costumo aplicar em meus projetos. Algumas desta dicas não se aplicam apenas ao Entity Framework, mas se aplicam a outras ferramentas ORM ou técnicas de modelagem de sua camada de acesso a dados.

Tornando sua aplicação mais performática

Leia mais »

Entity Framework 6 – Crie uma instância de DbContext por meio de uma instância de um DbConnection

Um dos novos recursos disponíveis no Entity Framework 6 é a possibilidade de criar novas instâncias de contexto utilizando uma instância de DbConnection ativa. Operações que mesclam comandos em ADO.Net e com o Entity Framework podem fazer uso deste recurso.

No Entity Framework 6, a classe DbContext ganhou novas assinaturas para seus construtores, permitindo o uso de uma instância ativa de DbConnection para criação de um novo contexto. Para ver todos os construtores disponíveis na classe DbContext acesse este link: http://msdn.microsoft.com/en-us/library/system.data.entity.dbcontext(v=vs.103).aspx

Desenho1

Leia mais »

Windows Azure Storage – Table

Azure Tables é o recurso do Windows Azure storage mais próximo dos bancos de dados NoSql.

O Windows Azure Tables fornece recursos para o armazenamento e manipulação de dados estruturados.

Uma Azure Table pode ser vista como um container que provê recursos para o armazenamento de dados. Uma grande diferença entre as Azure Tables e as tabelas de bancos de dados relacionais é que, podemos armazenar diferentes estruturas dentro de uma mesma Azure Table, algo impossível de ser feito com tabelas de bancos relacionais. Desta maneira, as Tables acabam se tornando um grande conjunto de entidades. Isso torna o Azure Table ideal para o armazenamento de grandes coleções de objetos.

Azure Tables são otimizadas para trabalhar com grandes quantidades de dados. Um detalhe importante é que Tables podem ser automaticamente escaladas para acomodarem até 100 terabytes de dados, a fim de garantir a melhor performance possível.

Leia mais »

Utilizando PowerShell para o acesso a bases de dados SQL

O Windows PowerShell é um prompt de comando muito poderoso. Com ele podemos criar scripts para automatização de tarefas, consumir componentes Microsoft .Net, objetos COM e outras APIs de aplicações Microsoft (como por exemplo Sharepoint, Exchange, Active Diretory, etc).

Devido ao seu uso bastante genérico, sempre surgem diferentes situações para o seu emprego. Gostaria de demonstrar nesse post como é feita a leitura e inclusão de dados em bases de dados SQL via Windows PowerShell.

Leia mais »

Windows Azure Storage – Blob

Um dos recursos providos pelo Windows Azure storage é a administração de Blobs. Os Blobs (Binary Large Objects) são coleções de dados binários armazenados em uma única entidade de forma não estruturada. Blobs são tipicamente imagens, áudios ou outros tipos de artefatos de multimídia. O armazenamento de blobs requer cuidados, pois não são dados estruturados (como dados de bancos de dados estruturais e instâncias de classes) e geralmente estão associados com grandes quantidades de dados binários (esta é a origem do termo binary large objects).

Para ter uma visão mais geral sobre o Windows Azure storage leia este link: https://ferhenriquef.com/2013/05/16/windows-azure-storage/

Leia mais »

Visual Studio Summit 2013: Patterns para criação de camadas de acesso a dados

Olá!

No último sábado (25/05/2013) tive a honra de participar do Visual Studio Summit 2013.

Participei da edição de 2012 com o tema “Principais novidades do Entity Framework 5” (https://ferhenriquef.com/2012/09/24/visual-studio-summit-2012-principais-novidades-do-entity-framework-5-0/).

Este ano apresentei um conteúdo mais próximo aos tópicos de arquitetura e modelagem de software, falei sobre o tema “Patterns para criação de camadas de acesso a dados”.

Leia mais »