Entity Framework – Atribuir valores antes dos dados serem salvos

Olá,

Um cenário bastante comum, que encontro nos fóruns, é a necessidade de registrar alguma informação na entidade antes dela ser salva na base de dados, via Entity Framework.

Dados como: “data de inclusão”, “data da última atualização”, “registro de log”, “usuário que realizou a alteração” e outros, são dados pertinentes para o funcionamento da aplicação e que estão atrelados ao evento de inclusão e atualização dos dados na base de dados.

duck9ph

Leia mais »

DbEntityEntry – Capturando os dados originais de uma entidade

Olá,

Hoje vamos discutir sobre um recurso muito útil do Entity Framework 5, o DbEntityEntry. Instâncias desta classe fornecem acesso a informações das entidades controladas pelo DbContext.

Mas que tipo de informação é gerenciada pela DbEntityEntry?

Com uma instância ativa de DbEntityEntry podemos recuperar os dados originais de uma entidade (aqueles mesmos dados de quando recuperamos a instância do banco de dados), podemos atualizar a instância com os dados ativos na base de dados, podemos forçar a execução das rotinas de validação, alterar o status de uma entidade, além de outras ações.

Leia mais »

Entity Framework – Como atualizar apenas um campo?

Olá,

O Entity Framework, como todos sabem, é uma ferramenta de mapeamento objeto-relacional. E realiza ações como seleção, inclusão, atualização e exclusão de dados. Dentre estas simples operações podemos ter controle de grande parte de seu funcionamento.

Assim como podemos, em uma query, selecionar apenas um conjunto de campos que queremos recuperar do banco de dados, podemos indicar que queremos apenas atualizar um conjunto de campos, não toda a estrutura da entidade sob edição.

Leia mais »

Entity Framework open source, e agora? Como eu faço?

Agora o Entity Framework é open source. E o que podemos esperar disso?

O maior significado desta atitude é que o time de Entity Framework esta realmente interessado e esperando por nossas contribuições. O EF não é o primeiro produto da Microsoft a tornar-se open source. O ASP.Net MVC 4, ASP.Net Web API e Razor são projetos que também tornaram-se open source no último semestre.

O que significa ser open source? Open source é uma ideologia/filosofia que promove a distribuição livre e o acesso ao código fonte de um software/produto/projeto. O modelo open source também prevê a colaboração voluntária, a fim de melhorar o software disponibilizado, por meio do trabalho e do conhecimento de seus colaboradores voluntários.

ado_net_entity_framework

Leia mais »

Entity Framework agora é open source!

Olá pessoal,

entityFrameworkBrasilHoje, o código fonte do Entity Framework esta sendo disponibilizado sob uma licença open source (Apache 2.0) no CodePlex (http://entityframework.codeplex.com/). Esta atitude permitirá que qualquer um na comunidade possa engajar-se e contribuir com correção de bugs e desenvolvimento de novas features.

A Microsoft continuará desenvolvendo compilações oficiais do Entity Framework como os demais produtos. O objetivo de tornar o EF um projeto open source é aumentar o ciclo de feedback de desenvolvimento, favorecendo a construção de um produto ainda melhor.

Leia mais »

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 »