Entity Framework - Visão geral
O que é Entity Framework?
O Entity Framework foi lançado pela primeira vez em 2008, o principal meio da Microsoft de interagir entre aplicativos .NET e bancos de dados relacionais. Entity Framework é um Object Relational Mapper (ORM) que é um tipo de ferramenta que simplifica o mapeamento entre objetos em seu software para as tabelas e colunas de um banco de dados relacional.
Entity Framework (EF) é uma estrutura ORM de código aberto para ADO.NET que faz parte do .NET Framework.
Um ORM cuida de criar conexões de banco de dados e executar comandos, bem como obter resultados de consulta e materializar automaticamente esses resultados como seus objetos de aplicativo.
Um ORM também ajuda a controlar as mudanças nesses objetos e, quando instruído, também vai persistir essas mudanças no banco de dados para você.
Por que Entity Framework?
O Entity Framework é um ORM e os ORMs têm como objetivo aumentar a produtividade do desenvolvedor, reduzindo a tarefa redundante de persistir os dados usados nas aplicações.
O Entity Framework pode gerar os comandos de banco de dados necessários para ler ou gravar dados no banco de dados e executá-los para você.
Se estiver fazendo uma consulta, você pode expressar suas consultas nos objetos de domínio usando LINQ para entidades.
O Entity Framework executará a consulta relevante no banco de dados e, em seguida, materializará os resultados em instâncias de seus objetos de domínio para você trabalhar em seu aplicativo.
Existem outros ORMs no mercado, como NHibernate e LLBLGen Pro. A maioria dos ORMs normalmente mapeia tipos de domínio diretamente para o esquema do banco de dados.
O Entity Framework tem uma camada de mapeamento mais granular para que você possa personalizar os mapeamentos, por exemplo, mapeando a única entidade para várias tabelas de banco de dados ou mesmo várias entidades para uma única tabela.
Entity Framework é a tecnologia de acesso a dados recomendada pela Microsoft para novos aplicativos.
ADO.NET parece se referir diretamente à tecnologia para conjuntos de dados e tabelas de dados.
Entity Framework é onde todo o investimento de movimento para a frente está sendo feito, o que já acontece há vários anos.
A Microsoft recomenda que você use o Entity Framework sobre ADO.NET ou LINQ to SQL para todos os novos desenvolvimentos.
Modelo Conceitual
Para desenvolvedores que estão acostumados com o desenvolvimento focado em banco de dados, a maior mudança no Entity Framework é que ele permite que você se concentre em seu domínio de negócios. O que você deseja que seu aplicativo faça sem ser limitado pelo que o banco de dados é capaz de fazer?
Com o Entity Framework, o ponto focal é conhecido como um modelo conceitual. É um modelo dos objetos em seu aplicativo, não um modelo do banco de dados que você usa para manter os dados do aplicativo.
Seu modelo conceitual pode estar alinhado com o esquema do banco de dados ou pode ser bem diferente.
Você pode usar um Visual Designer para definir seu modelo conceitual, que pode então gerar as classes que você usará em seu aplicativo.
Você pode apenas definir suas classes e usar um recurso do Entity Framework chamado Code First. E então o Entity Framework compreenderá o modelo conceitual.
De qualquer maneira, o Entity Framework descobre como passar de seu modelo conceitual para seu banco de dados. Portanto, você pode consultar seus objetos de modelo conceitual e trabalhar diretamente com eles.
Características
A seguir estão os recursos básicos do Entity Framework. Esta lista é criada com base nos recursos mais notáveis e também a partir de perguntas frequentes sobre o Entity Framework.
- Entity Framework é uma ferramenta da Microsoft.
- O Entity Framework está sendo desenvolvido como um produto Open Source.
- O Entity Framework não está mais vinculado ou dependente do ciclo de lançamento do .NET.
- Funciona com qualquer banco de dados relacional com provedor Entity Framework válido.
- Geração de comandos SQL de LINQ para Entidades.
- O Entity Framework criará consultas parametrizadas.
- Rastreia alterações em objetos na memória.
- Permite inserir, atualizar e excluir a geração de comandos.
- Trabalha com um modelo visual ou com suas próprias aulas.
- Entity Framework armazenou suporte de procedimento.