Ferramentas e Extensões do EF Core
Essas ferramentas e extensões oferecem funcionalidade adicional para o Entity Framework Core.
Importante
As extensões são compostas de diversas fontes e não são mantidas como parte do projeto do Entity Framework Core. Ao considerar uma extensão de terceiros, avalie a qualidade, o licenciamento, a compatibilidade, o suporte, entre outras coisas, para garantir que ela atenda às suas necessidades. Em particular, uma extensão criada para uma versão mais antiga do EF Core pode precisar de atualização para que funcione com as versões mais recentes.
Ferramentas
EF Core Power Tools
O EF Core Power Tools é uma extensão do Visual Studio que expõe várias tarefas de tempo de design do EF Core em uma interface do usuário simples. Ele inclui a engenharia reversa do DbContext e classes de entidade de bancos de dados existentes e do SQL Server DACPACs, bem como visualizações de modelo e diagramas. Para o EF Core: 6-9.
CLI do Power Tools do EF
A CLI do Power Tools do EF Core é uma ferramenta de linha de comando global do .NET. Ela permite a engenharia reversa avançada de classes DbContext e de entidades de bancos de dados existentes e DACPACs do SQL Server. Para o EF Core: 6-9.
LLBLGen Pro
O LLBLGen Pro é uma solução de modelagem de entidade compatível com o Entity Framework e o Entity Framework Core. Com ele, é possível definir facilmente o modelo de entidade e mapeá-lo em seu banco de dados usando as abordagens Model First ou Database First. Assim, você pode começar a escrever consultas imediatamente. Para o EF Core: 2-8.
Desenvolvedor de Entidade Devart
O Desenvolvedor de Entidade é um potente designer de O/RM para o ADO.NET Entity Framework, NHibernate, LinqConnect, Telerik Data Access e LINQ to SQL. Ele é compatível com a criação de modelos do EF Core visualmente, usando as primeiras abordagens do modelo ou do banco de dados e a geração de código em C # ou Visual Basic. Para o EF Core: 2 a 7.
Sidekick do EF Core DevMagic
O Sidekick do EF Core é uma extensão do Visual Studio que aprimora o poder da geração de código automático no Visual Studio. Ele fornece um conjunto de ferramentas e modelos para gerar entidades do EF Core e DbContext derivado do banco de dados existente e, em seguida, gerar serviços e APIs REST a partir das entidades. Para o EF Core: 6-8.
Site | do Visual Studio Marketplace
Editor Visual do Entity Framework
O Entity Framework Visual Editor é uma extensão do Visual Studio que adiciona um designer de O/RM ao design visual do EF 6 e às classes do EF Core. O código é gerado usando modelos T4. Portanto, ele pode ser personalizado para atender a quaisquer necessidades. Ele é compatível com herança, associações unidirecionais e bidirecionais, enumerações e com a capacidade de atribuir código de cor às suas classes e de adicionar blocos de texto para explicar partes potencialmente misteriosas do seu design. Para o EF Core: 2-8.
IWAPI
A IWAPI (API Web Instantânea) é um mecanismo de scaffolding para .NET Core que pode automatizar a geração de classes, entidades, modelos DbContext e cria uma API Web funcional a partir de qualquer banco de dados SQL Server.
efmig
O efmig é um aplicativo GUI multiplataforma que acelera o desenvolvimento diário ao trabalhar com o Entity Framework Core. Ele cobre os casos de uso mais populares, como código de migração e geração de scripts com interface simples de um clique. Para o EF Core: 2-8.
EFCore.Visualizer
Com o visualizador do depurador do plano de consulta do Entity Framework Core, você pode visualizar o plano de consulta de suas consultas diretamente no Visual Studio. Atualmente, o visualizador oferece suporte a SQL Server e PostgreSQL. Para o EF Core: 7 a 8.
Extensões
Microsoft.EntityFrameworkCore.AutoHistory
Uma biblioteca de plug-in que permite registrar automaticamente as alterações de dados feitas pelo EF Core em uma tabela de histórico. Para o EF Core: 2 a 6.
EFCoreSecondLevelCacheInterceptor
O cache segundo nível é um cache de consulta. Os resultados dos comandos do EF serão armazenados no cache. Esses mesmos comandos recuperarão seus dados do cache em vez de executá-los no banco de dados novamente. Para o EF Core: 3-8.
EntityFrameworkCore.Scaffolding.Handlebars
Permite a personalização de classes com engenharia reversa de um banco de dados existente usando a cadeia de ferramentas do Entity Framework Core com modelos de Handlebars. Para o EF Core: 2-8.
NeinLinq.EntityFrameworkCore
O NeinLinq estende provedores LINQ, como o Entity Framework, para habilitar a reutilização de funções, reescrever consultas e criar consultas dinâmicas usando predicados e seletores traduzíveis. Para o EF Core: 3-8.
EFCore.BulkExtensions
Extensões do EF Core para operações em massa (Inserir, Atualizar e Excluir). Para o EF Core: 2-8.
Bricelam.EntityFrameworkCore.Pluralizer
Adiciona a pluralização de tempo de design. Para EF Core: 2-9.
Verify.EntityFramework
Estende Verify para permitir testes de instantâneo com o Entity Framework. Para o EF Core: 3-8.
LocalDb
Fornece um wrapper em torno de SQL Server Express LocalDB para simplificar a execução de testes no Entity Framework. Para o EF Core: 3-8.
EntityFrameworkCore.Projectables
Magic de projeção flexível para o EF Core. Use propriedades, métodos e métodos de extensão em sua consulta sem avaliação do cliente. Para o EF Core: 3 a 6, 8.
EntityFrameworkCore.Triggered
Gatilhos para o EF Core. Responda às alterações em seu DbContext antes e depois de serem confirmadas no banco de dados. Os gatilhos são totalmente assíncronos e dão suporte à injeção de dependência, herança, cascata e muito mais. Para o EF Core: 3-6.
Entity Framework Plus
Estende o DbContext com recursos como: incluir Filtro, Auditoria, Cache, Consulta Futura, Exclusão em Lote, Atualização em Lote e muito mais. Para EF Core: 2-9.
Site | Repositório do GitHub | NuGet
Extensões do Entity Framework
Estende o DbContext com operações em massa de alto desempenho: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge e muito mais. Para EF Core: 2-9.
Expressionify
Adicione suporte para chamar métodos de extensão em lambdas LINQ. Para o EF Core: 3-6.
EntityLinq
Tecnologia LINQ (Language Integrated Query) alternativa (não baseada em MS) para bancos de dados relacionais. Permite que você use C# para escrever consultas SQL fortemente tipadas. Para o EF Core: 3-8.
- Suporte completo a C# para criação de consultas: várias instruções dentro de lambda, variáveis, funções etc.
- Nenhuma lacuna semântica com o SQL. O EntityLinq declara instruções SQL (como
SELECT
,FROM
,WHERE
) como métodos de C# de primeira classe, combinando sintaxe familiar com IntelliSense, segurança de tipo e refatoração.
Como resultado, o SQL se torna apenas mais uma biblioteca de classes expondo a própria API localmente, literalmente um "SQL integrado à linguagem".
EFCore.NamingConventions
Isso fará automaticamente com que todos os nomes de tabela e coluna tenham snake_case, LETRAS MAIÚSCULAS ou letras minúsculas. Para o EF Core: 3-8.
EFCore.CheckConstraints
Este plug-in permite que você opte por algumas restrições de verificação – basta ativá-lo e eles serão criados automaticamente para você. Para o EF Core: 5-9.
SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime
Adiciona suporte nativo a EntityFrameworkCore para SQL Server para os tipos NodaTime. Para o EF Core: 3 a 9.
EntityFrameworkCore.SqlServer.HierarchyId
Observação
O tipo de dados hierarchyid do SQL Server tem suporte diretamente no EF Core a partir do EF Core 8.
Adiciona suporte hierarchyid ao provedor do EF Core do SQL Server. Para o EF Core: 3 a 7.
linq2db.EntityFrameworkCore
Conversor alternativo de consultas LINQ para expressões SQL. Para o EF Core: 2-8.
Inclui suporte para recursos avançados do SQL, como CTEs, cópia em massa, dicas de tabela, funções em janelas, tabelas temporárias e operações de criação/atualização/exclusão no lado do banco de dados.
EFCore.SoftDelete
Uma implementação para a exclusão reversível de entidades. Para o EF Core: 3-6.
EntityFrameworkCore.ConfigurationManager
Estende o EF Core para resolver cadeias de conexão de App.config. Para EF Core: 3-9.
Mapeador desanexado
Um mapeador de DTO-Entity com tratamento de composição/agregação (semelhante ao GraphDiff). Para o EF Core: 3-8.
EntityFrameworkCore.Sqlite.NodaTime
Adiciona suporte para tipos NodaTime ao usar o SQLite. Para o EF Core: 5-8.
ErikEJ.EntityFrameworkCore.SqlServer.Dacpac
Habilita a engenharia reversa de um modelo EF Core a partir de um pacote de aplicativos da camada de dados SQL Server (.dacpac). Para o EF Core: 6-9.
ErikEJ.EntityFrameworkCore.DgmlBuilder
Gere conteúdo DGML (Graph) que visualiza seu DbContext. Adiciona o método de extensão AsDgml() à classe DbContext. Para o EF Core: 6-9.
ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery
Observação
Há suporte para consultas SQL brutas em tipos não mapeados diretamente no EF Core a partir do EF Core 8.
Fornece os métodos SqlQueryAsync<T>
e SqlQueryValueAsync<T>
para ajudar você a preencher classes arbitrárias ou uma lista de tipos primitivos de uma consulta SQL bruta. Para o EF Core: 6-7.
ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly
Observação
O SQL Server DateOnly
e o mapeamento TimeOnly
têm suporte diretamente no EF Core a partir do EF Core 8.
Use os tipos DateOnly
e TimeOnly
.NET com o provedor do SQL Server do EF Core. Para o EF Core: 6-7.
EntityFramework.Exceptions
Ao usar o Entity Framework Core, todas as exceções de banco de dados são encapsuladas em DbUpdateException. EntityFramework.Exceptions lida com todos os detalhes específicos do banco de dados para descobrir qual restrição foi violada e permite que você use exceções de tipo, como UniqueConstraintException
, CannotInsertNullException
, MaxLengthExceededException
, NumericOverflowException
, ReferenceConstraintException
quando sua consulta viola as restrições do banco de dados.
Dá suporte a SQL Server, Postgres, MySql, SQLite e Oracle. Para o EF Core: 3-8.
EntityFrameworkCore.FSharp
Adiciona suporte em tempo de design F# ao EF Core. Para o EF Core: 5-6.
EntityFrameworkCore.VisualBasic
Adiciona suporte em tempo de design VB ao EF Core. Para o EF Core: 5-8.
Krzysztofz01.EFCore.QueryFilterBuilder
Extensão do Entity Framework que permite criar e gerenciar vários filtros de consulta. Para o EF Core: 5-7.
Pagination.EntityFrameworkCore.Extensions
Esta é uma biblioteca para Paginação no EntityFrameworkCore. Funciona bem com o Entity Framework Core como uma extensão e dá suporte assíncrono e síncrono. Também tem muitos recursos úteis comumente usados especialmente no desenvolvimento da Web. Para o EF Core: 2 a 7.
Laraue.EfCoreTriggers
API fluente para declarar gatilhos em Context.OnModelCreating
que são posteriormente incorporados às migrações. Provedores para Postgres, MySQL, SQL Server e SQLite. Para o EF Core: 5-8.
EntityCloner.Microsoft.EntityFrameworkCore
Clonagem de entidades usando a configuração do EF Core. Você pode usar o método Include
para especificar dados relacionados a serem clonados. Para o EF Core: 5-8.
Extensões Zomp do EF Core
Fornece funções de janela (análise) e funções binárias para o EF Core. Provedores: SQL Server, SQLite, PostgreSQL. Para o EF Core: 6-8.
Ainoraz.EFCore.IncludeBuilder
Extensão do EF Core que fornece sintaxe Include
alternativa para dar suporte melhor aos seguintes cenários:
- Carregar várias entidades no mesmo nível (irmãos).
- Escrever métodos de extensão independentes do nível de aninhamento.
Para o EF Core: 6-7.
Régua do Entity Framework
Adiciona a personalização em tempo de design do modelo de engenharia reversa, incluindo:
- Nomeação de classe, propriedade e navegação
- Ignorar o scaffolding de qualquer esquema, tabela ou coluna.
- Substituir os tipos de propriedade, especialmente para enumerações.
- Suporte ao EDMX do EF6, fornecendo um caminho de atualização suave de 3 etapas do EF6 para o EF Core.
Para o EF Core: 6-8.
Repositório do GitHub | CLI da ferramenta NuGet | Design NuGet
LessCode.EFCore.StronglyTypedId
Um gerador de origem que pode gerar automaticamente classes de ID fortemente tipadas para entidades. Para o EF Core: 7.
Microsoft.EntityFrameworkCore.DynamicLinq
A biblioteca LINQ Dinâmica permite executar a consulta com cadeia de caracteres dinâmica e fornecer alguns métodos de utilitários, como ParseLambda, Parse e CreateClass. Para EF Core: 2-9.
Site | Repositório do GitHub | NuGet
EfCoreNexus.Framework
O EfCoreNexus ajuda a integrar o núcleo da estrutura de entidade em aplicativos blazor. Por meio da reflexão, ele adiciona as classes de entidade automaticamente e fornece funcionalidade básica para elas sem gravar código adicional.
Para o EF Core: 8.
Reconciler
Atualize um grafo de entidade no repositório para um determinado grafo, inserindo, atualizando e removendo as respectivas entidades. Para o EF Core: 6-7.
AutoCompute
Propriedades computadas persistentes no EF Core que são atualizadas automaticamente ao salvar alterações. Para o EF Core: 8.
Integrações de API
Esses pacotes foram projetados para integrar diretamente ao EF Core para expor várias APIs.
.NET Aspire
Aprimore a experiência de desenvolvimento local simplificando o gerenciamento da configuração e das interconexões do aplicativo nativo de nuvem. Para o EF Core: 8.
Site | Repositório do GitHub | NuGet
HotChocolate
Crie seu próprio ponto de extremidade do GraphQL em cima de qualquer recurso.
GraphQL.EntityFramework
Adicione suporte ao Entity Framework IQueryable
ao GraphQL. Para o EF Core: 6-8.
EntityGraphQL
Servidor GraphQL com rígida integração do EntityFramework. Para o EF Core: 5-8.
OData
Um padrão para implementar APIs REST com especificações para descoberta, filtragem, classificação, projeções, navegações, operações em massa e muito mais.
Extensões para versões do EF Core sem suporte
nHydrate ORM para Entity Framework
Um O/RM que cria classes extensíveis fortemente tipadas para Entity Framework. O código gerado é Entity Framework Core. Não há diferença. Isso não é uma substituição do EF nem de um O/RM personalizado. É um visual, uma camada de modelagem que permite que uma equipe gerencie esquemas de banco de dados complexos. Ele funciona bem com software SCM como o Git, permitindo o acesso de vários usuários ao seu modelo com o mínimo de conflito. O instalador rastreia as alterações do modelo e cria scripts de atualização. Para o EF Core: 3.
Microsoft.EntityFrameworkCore.UnitOfWork
Um plug-in para Microsoft.EntityFrameworkCore para dar suporte ao repositório, aos padrões de unidade de trabalho e a vários bancos de dados compatíveis com a transação distribuída. Para o EF Core: 2-3.
Toolbelt.EntityFrameworkCore.IndexAttribute
Reativação do atributo [Index] para o EF Core (com a extensão para criação de modelo). Para o EF Core: 2-5.
EfCoreTemporalTable
Observação
As tabelas temporais do SQL Server têm suporte diretamente no EF Core a partir do EF Core 6.
Realize consultas temporais com facilidade em seu banco de dados favorito usando métodos de extensão introduzidos: AsTemporalAll()
, AsTemporalAsOf(date)
, AsTemporalFrom(startDate, endDate)
, AsTemporalBetween(startDate, endDate)
, AsTemporalContained(startDate, endDate)
. Para o EF Core: 3-5.
EntityFrameworkCore.TemporalTables
Observação
As tabelas temporais do SQL Server têm suporte diretamente no EF Core a partir do EF Core 6.
Biblioteca de extensões para Entity Framework Core que permite aos desenvolvedores que usam SQL Server usar tabelas temporais com facilidade. Para o EF Core: 2-5.
Dabble.EntityFrameworkCore.Temporal.Query
Observação
As tabelas temporais do SQL Server têm suporte diretamente no EF Core a partir do EF Core 6.
Extensões LINQ para o Entity Framework Core 3.1 dão suporte a Consultas de Tabela Temporal do Microsoft SQL Server. Para o EF Core: 3.
EntityFrameworkCore.NCache
O provedor de Entity Framework Core do NCache é um provedor de cache de segundo nível distribuído para armazenar em cache os resultados de consultas. A arquitetura distribuída do NCache torna-a mais escalonável e altamente disponível. Para o EF Core: 2-3.
Ramses
Ganchos de ciclo de vida (para SaveChanges). Para o EF Core: 2-3.