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, gerenciamento de migrações de banco de dados e visualizações de modelo. Para o EF Core: 6-8.

Wiki do GitHub

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-8.

Leiame do GitHub

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.

Site

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.

Site

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-7.

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.

Visual Studio Marketplace

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.

Site

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.

Repositório do GitHub

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-8.

Visual Studio Marketplace

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.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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: 2 a 7.

Repositório do GitHub | NuGet

EFCore.BulkExtensions

Extensões do EF Core para operações em massa (Inserir, Atualizar e Excluir). Para o EF Core: 2-8.

Repositório do GitHub | NuGet

Bricelam.EntityFrameworkCore.Pluralizer

Adiciona a pluralização de tempo de design. Para o EF Core: 2-8.

Repositório do GitHub | NuGet

Verify.EntityFramework

Estende Verify para permitir testes de instantâneo com o Entity Framework. Para o EF Core: 3-8.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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-6.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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 o EF Core: 2-8.

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 o EF Core: 2-8.

Site | NuGet

Expressionify

Adicione suporte para chamar métodos de extensão em lambdas LINQ. Para o EF Core: 3-6.

Repositório do GitHub | NuGet

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-6.

  • 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".

Site | NuGet

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.

Repositório do GitHub | NuGet

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-8.

Repositório do GitHub | NuGet

SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime

Adiciona suporte nativo a EntityFrameworkCore para SQL Server para os tipos NodaTime. Para o EF Core: 3-8.

Repositório do GitHub | NuGet

EntityFrameworkCore.SqlServer.HierarchyId

Adiciona suporte hierarchyid ao provedor do EF Core do SQL Server. Para o EF Core: 3 a 7.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

EFCore.SoftDelete

Uma implementação para a exclusão reversível de entidades. Para o EF Core: 3-6.

Repositório do GitHub | NuGet

EntityFrameworkCore.ConfigurationManager

Estende o EF Core para resolver cadeias de conexão de App.config. Para o EF Core: 3-8.

Repositório do GitHub | NuGet

Mapeador desanexado

Um mapeador de DTO-Entity com tratamento de composição/agregação (semelhante ao GraphDiff). Para o EF Core: 3-6.

Repositório do GitHub | NuGet

EntityFrameworkCore.Sqlite.NodaTime

Adiciona suporte para tipos NodaTime ao usar o SQLite. Para o EF Core: 5-8.

Repositório do GitHub | NuGet

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-8.

Repositório do GitHub | NuGet

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-7.

Repositório do GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery

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.

Repositório do GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly

Use os tipos DateOnly e TimeOnly .NET com o provedor do SQL Server do EF Core. Para o EF Core: 6-7.

Repositório do GitHub | NuGet

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-6.

Repositório do GitHub

EntityFrameworkCore.FSharp

Adiciona suporte em tempo de design F# ao EF Core. Para o EF Core: 5-6.

Repositório do GitHub | NuGet

EntityFrameworkCore.VisualBasic

Adiciona suporte em tempo de design VB ao EF Core. Para o EF Core: 5-8.

Repositório do GitHub | NuGet

Krzysztofz01.EFCore.QueryFilterBuilder

Extensão do Entity Framework que permite criar e gerenciar vários filtros de consulta. Para o EF Core: 5-7.

Repositório do GitHub

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.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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-7.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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.

Repositório do GitHub

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 o EF Core: 2-8.

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.

Repositório do GitHub | NuGet

Integrações de API

Esses pacotes foram projetados para integrar diretamente ao EF Core para expor várias APIs.

HotChocolate

Crie seu próprio ponto de extremidade do GraphQL em cima de qualquer recurso.

Repositório do GitHub | NuGet

GraphQL.EntityFramework

Adicione suporte ao Entity Framework IQueryable ao GraphQL. Para o EF Core: 6-8.

Repositório do GitHub | NuGet

EntityGraphQL

Servidor GraphQL com rígida integração do EntityFramework. Para o EF Core: 5-7.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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.

Repositório do GitHub

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.

Repositório do GitHub

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.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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.

Repositório do GitHub | NuGet

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.

Site | NuGet

Ramses

Ganchos de ciclo de vida (para SaveChanges). Para o EF Core: 2-3.

Repositório do GitHub | NuGet