Entity Framework 6
O EF6 (Entity Framework 6) é um O/RM (mapeador relacional de objetos) testado para .NET com muitos anos de desenvolvimento e estabilização de recursos.
Como um O/RM, o EF6 reduz a incompatibilidade de impedância entre os mundos relacionais e orientado a objeto, permitindo que desenvolvedores escrevam aplicativos que interagem com os dados armazenados em bancos de dados relacionais usando objetos .NET fortemente tipados que representam o domínio do aplicativo e eliminando a necessidade de uma grande parte do acesso aos dados “canalizando” o código que normalmente eles precisariam escrever.
O EF6 implementa vários recursos populares de O/RM:
- Mapeamento de classes de entidade POCO que não dependem de nenhum tipo de EF
- Controle de alterações automático
- Resolução de identidade e a unidade de trabalho
- Carregamento adiantado, lento e explícito
- Conversão das consultas fortemente tipadas usando LINQ (consulta integrada à linguagem)
- Recursos avançados de mapeamento, incluindo compatibilidade com:
- Relações um para um, um para muitos e muitos para muitos
- Herança (tabela por hierarquia, tabela por tipo e a tabela por classe concreta)
- Tipos complexos
- Procedimentos armazenados
- Um designer visual para criar modelos de entidade.
- Uma experiência de "Code First" para criar modelos de entidade escrevendo código.
- Os modelos podem ser gerados de bancos de dados existentes e editados manualmente ou podem ser criados do zero e usados para gerar novos bancos de dados.
- Integração com os modelos de aplicativos do .NET Framework, incluindo ASP.NET e por meio de associação de dados, com o WPF e o WinForms.
- Conectividade de banco de dados com base no ADO.NET e vários provedores disponíveis para se conectar a SQL Server, Oracle, MySQL, SQLite, PostgreSQL, DB2 etc.
Devo usar o EF6 ou o EF Core?
O EF Core é uma versão mais moderna, leve e extensível do Entity Framework que tem recursos e benefícios muito semelhantes ao EF6. O EF Core é uma reformulação completa e contém muitos recursos novos que não estão disponíveis no EF6, embora ele ainda não tenha alguns dos recursos mais avançados de mapeamento do EF6. Considere usar o EF Core em novos aplicativos se o conjunto de recursos corresponder aos seus requisitos. Comparar o EF Core e o EF6 examina esta escolha mais detalhadamente.
Introdução
Adicione o pacote NuGet EntityFramework ao seu projeto ou instale o Entity Framework Tools para Visual Studio. Em seguida, assista a vídeos e leia tutoriais e a documentação avançada para saber como aproveitar o EF6 ao máximo.
Versões anteriores do Entity Framework
Esta é a documentação para a versão mais recente do Entity Framework 6, embora a maior parte dela também se aplique às versões anteriores. Confira as Novidades e as Versões anteriores para encontrar uma lista completa das versões do EF e os recursos introduzidos.