Mapeando heranças no Entity Framework Code First

O Entity Framework Code First provê suporte ao mapeamento de heranças. Podemos fazer este mapeamento de duas maneiras, via Table Per Hierarchy ou Table Per Type. Vamos ver seu funcionamento e suas diferenças neste post.

Para os exemplos desta publicação utilizaremos a mesma estrutura de classes para os dois modelos de mapeamento. A estrutura proposta engloba três classes: Veiculo, Carro e Aviao. Nessa estrutura as classes Carro e Aviao herdam de Veiculo. O diagrama deste modelo pode ser visto na figura abaixo:

diagramaClasses

Leia mais »

Microsoft Virtual Academy – Entity Framework

Esta semana saiu a publicação de mais um Microsoft Virtual Academy (MVA), e agora é a nossa vez! Este novo MVA é sobre Entity Framework (http://www.microsoftvirtualacademy.com/tracks/fundamentos-do-entity-framework-4).

Neste MVA discutimos sobre:
– O que é o Entity Framework
– Bancos de dados e ORM
– Leitura de dados do banco de dados
– Inclusão, atualização e exclusão de dados

Neste trabalho, Carlos dos Santos, Renato Haddad e eu gravamos uma sequência de vídeos e escrevemos alguns artigos explicando o funcionamento do Entity Framework.

Leia mais »

DbContext e o ObjectContext – Não deixe seus dados em memória!

O DbContext e o ObjectContext são duas classes responsáveis por gerenciar e acompanhar alterações em instâncias de classes no modelo, estas classes também gerenciam a conexão e o contexto de transação das operações com o banco de dados.

É importante assegurar que qualquer recurso associado com estes objetos seja limpo da memória quando não mais necessários, pois ao longo de cada execução é mantido um CACHE das instâncias de objetos recuperadas nas consultas. Se mantivermos a instância de nosso contexto por muito tempo ativa, executando consultas atrás de consultas, corremos o risco de consumir mais memória do que o necessário.

Para resolver esta questão, tanto a classe DbContext quanto a classe ObjectContext implementam a interface IDisposable, que inclui o método Dispose(), responsável por eliminar recursos utilizados pela instância corrente que não sejam mais necessários.

Leia mais »

Como utilizar assemblies em pacotes do SQL Server Integration Services (SSIS)

Um cenário que podemos encarar durante a criação de pacotes do SQL Server Integration Services (SSIS) é a necessidade de executar código contido em assemblies .Net em algum passo do pacote do SSIS. Neste post vou demonstrar como incluir e executar assemblies em pacotes do Integration.

Primeiro, vamos criar um projeto Class Library no Visual Studio. Este projeto Class Library será o projeto gerador do assembly que será anexado ao pacote do Integration.

Leia mais »

SQL Azure – Consultando dados

O SQL Azure é um conjunto de serviços que oferece capacidade de processamento e armazenamento de dados relacionais na nuvem. É a ferramenta que devemos utilizar para armazenarmos dados relacionais de nossa aplicação na plataforma Windows Azure.

No post anterior (https://ferhenriquef.com/2012/04/25/como-criar-um-banco-de-dados-no-sql-azure/) discutimos sobre como criar uma base de dados no SQL Azure, neste post vou demonstrar como acessar o SQL Azure.

Para acessar o SQL Azure não precisamos de nenhum SDK ou configuração especial, apenas precisamos modificar nossa connection string, definindo como server o nome do nosso servidor no Azure.Leia mais »

Como criar um Banco de Dados no SQL Azure

O SQL Azure representa um conjunto de serviços que fornecem a capacidade de processamento e armazenamento de dados relacionais no Windows Azure. O SQL Azure nos permite fazer uso dos mesmos recursos que estamos acostumados no SQL (persistência de dados, BI, relatórios, replicação e outros).

Neste post irei descrever como criar seu banco de dados no Windows Azure, nos próximos posts vou demonstrar como devemos fazer para consumir os dados deste banco de dados utilizando os recursos nativos do .Net Framework.

Vamos então a criação do banco de dados!

1 – Faça logon em sua conta do Windows Azure
2 – Vá até o painel de gerenciamento do Windows Azure e clique no ícone “Novo Servidor de Banco de Dados”

Capture02

Leia mais »

Considerações de Performance do Entity Framework 5

Olá pessoal,

Este post será bastante sucinto. Semana passada o time de ADO.Net liberou um artigo com considerações de performance existentes no Entity Framework 5.

Este artigo é bastante interessante e detalhe diversos aspectos do Entity Framework, tais como:
– Cache
– Opções de execução de queries
– Estratégias de herança
– Lazy loading
– Comparações de performance

Leia mais »