Ferramentas do EF Core & Extensões
Essas ferramentas e extensões fornecem funcionalidade adicional para o Entity Framework Core.
Importante
As extensões são criadas por uma variedade de fontes e não são mantidas como parte do projeto Entity Framework Core. Ao considerar uma extensão de terceiros, certifique-se de avaliar sua qualidade, licenciamento, compatibilidade, suporte, etc. 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 antes de funcionar com as versões mais recentes.
Ferramentas
Ferramentas elétricas EF Core
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 de usuário simples. Ele inclui engenharia reversa de DbContext e classes de entidade de bancos de dados existentes e DACPACs do SQL Servere visualizações e diagramas de modelo. Para o EF Core: 6-9.
CLI de Ferramentas Elétricas EF Core
A CLI do EF Core Power Tools é uma ferramenta de linha de comando global do .NET. Ele permite engenharia reversa avançada de DbContext e classes de entidade de bancos de dados existentes e DACPACs do SQL Server. Para o EF Core: 6-9.
LLBLGen Pro
LLBLGen Pro é uma solução de modelagem de entidade com suporte para Entity Framework e Entity Framework Core. Ele permite que você defina facilmente seu modelo de entidade e mapeie-o para seu banco de dados, usando o banco de dados primeiro ou o modelo primeiro, para que você possa começar a escrever consultas imediatamente. Para o EF Core: 2-8.
Devart Entity Developer
O Entity Developer é um poderoso designer de O/RM para ADO.NET Entity Framework, NHibernate, LinqConnect, Telerik Data Access e LINQ to SQL. Ele suporta a criação de modelos EF Core visualmente, usando abordagens de modelo primeiro ou banco de dados primeiro, e geração de código C# ou Visual Basic. Para o EF Core: 2-7.
DevMagic EF Core Sidekick
O EF Core Sidekick é uma extensão do Visual Studio que aprimora o poder da geração automática de código no Visual Studio. Fornece um conjunto de ferramentas e modelos para gerar entidades EF Core e um DbContext a partir do banco de dados existente, seguido da geração de serviços e APIs REST com base nas entidades. Para o EF Core: 6-8.
Site do Visual Studio Marketplace |
Entity Framework Visual Editor
O Editor Visual do Entity Framework é uma extensão do Visual Studio que adiciona um designer O/RM para design visual das classes EF 6 e EF Core. O código é gerado usando modelos T4 para que possa ser personalizado para atender a quaisquer necessidades. Ele suporta herança, associações unidirecionais e bidirecionais, enumerações e a capacidade de codificar por cores suas classes e adicionar blocos de texto para explicar partes potencialmente arcanas do seu design. Para o EF Core: 2-8.
IWAPI
IWAPI (Instant Web API) é 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 abrange 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 de plano de consulta Entity Framework Core, você pode exibir o plano de consulta de suas consultas diretamente no Visual Studio. Atualmente, o visualizador suporta SQL Server e PostgreSQL. Para o EF Core: 7-8.
Extensões
Microsoft.EntityFrameworkCore.AutoHistory
Uma biblioteca de plug-ins que permite gravar automaticamente as alterações de dados realizadas pelo EF Core em uma tabela de histórico. Para o EF Core: 2-6.
EFCoreSecondLevelCacheInterceptor
O cache de segundo nível é um cache de consulta. Os resultados dos comandos EF serão armazenados no cache, para que os mesmos comandos EF recuperem 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 de engenharia reversa a partir de um banco de dados existente usando a cadeia de ferramentas Entity Framework Core com modelos de guiador. Para o EF Core: 2-8.
NeinLinq.EntityFrameworkCore
O NeinLinq estende os provedores LINQ, como o Entity Framework, para permitir a reutilização de funções, a reescrita de consultas e a criação de 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, Excluir). Para o EF Core: 2-8.
Bricelam.EntityFrameworkCore.Pluralizer
Adiciona pluralização durante o design. Para o EF Core: 2-9.
Verify.EntityFramework
Estende Verificação para permitir a realização de testes de snapshot com o Entity Framework. Para o EF Core: 3-8.
LocalDb
Fornece um wrapper em torno do SQL Server Express LocalDB, , para simplificar a execução de testes contra o Entity Framework. Para o EF Core: 3-8.
EntityFrameworkCore.Projectables
Magia de projeção flexível para 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, 8.
EntityFrameworkCore.Triggered
Os gatilhos para o EF Core. Responda às alterações em seu DbContext antes e depois que elas forem confirmadas no banco de dados. Os gatilhos são totalmente assíncronos e dão suporte a injeção de dependência, herança, encadeamento e muito mais. Para o EF Core: 3-6.
Entity Framework Plus
Estende seu 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 GitHub | NuGet
Extensões do Entity Framework
Estende seu DbContext com operações em massa de alto desempenho: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge e muito mais. Para o EF Core: 2-8.
Expressionify
Adicionar suporte para invocar métodos de extensão em lambdas LINQ. Para o EF Core: 3-6.
EntityLinq
Tecnologia alternativa (não baseada em MS) Language Integrated Query (LINQ) para bancos de dados relacionais. Ele 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 do lambda, variáveis, funções, etc.
- Nenhuma lacuna semântica com SQL. EntityLinq declara instruções SQL (como
SELECT
,FROM
,WHERE
) como métodos C# de primeira classe, combinando sintaxe familiar com intellisense, segurança de tipo e refatoração.
Como resultado, o SQL se torna apenas "outra" biblioteca de classes expondo sua API localmente, literalmente "Language Integrated SQL".
EFCore.NamingConventions
Isto fará automaticamente com que todos os nomes das suas tabelas e colunas estejam em snake_case, todos em maiúsculas ou todos em minúsculas. Para o EF Core: 3-8.
EFCore.CheckConstraints
Este plugin 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 ao EntityFrameworkCore para SQL Server para os tipos NodaTime. Para o EF Core: 3-9.
EntityFrameworkCore.SqlServer.HierarchyId
Observação
O tipo de dados hierarchyid do SQL Server tem suporte diretamente no EF Core a partir de EF Core 8.
Adiciona suporte para hierarchyid ao provedor EF Core do SQL Server. Para o EF Core: 3-7.
linq2db.EntityFrameworkCore
Tradutor alternativo de consultas LINQ para expressões SQL. Para o EF Core: 2-8.
Inclui suporte para recursos avançados de SQL, como CTEs, cópia em massa, dicas de tabela, funções em janela, tabelas temporárias e operações de criação/atualização/exclusão do lado do banco de dados.
EFCore.SoftDelete
Uma implementação para a eliminação suave de entidades. Para o EF Core: 3-6.
EntityFrameworkCore.ConfigurationManager
Estende o EF Core para resolver cadeias de conexão de App.config. Para o EF Core: 3-9.
Mapeador Independente
Um mapeador DTO-Entity com manipulação de composição/agregação (semelhante ao GraphDiff). Para o EF Core: 3-8.
EntityFrameworkCore.Sqlite.NodaTime
Adiciona suporte para tipos de NodaTime ao usar SQLite. Para o EF Core: 5-8.
ErikEJ.EntityFrameworkCore.SqlServer.Dacpac
Permite realizar a engenharia inversa de um modelo do EF Core a partir de um pacote de aplicação da camada de dados do SQL Server (.dacpac). Para o EF Core: 6-9.
ErikEJ.EntityFrameworkCore.DgmlBuilder
Gere conteúdo DGML (Gráfico) que visualize seu DbContext. Adiciona o método de extensão AsDgml() à classe DbContext. Para o EF Core: 6-9.
ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery
Observação
Consultas SQL brutas em tipos não mapeados são suportadas diretamente no EF Core a partir de EF Core 8.
Fornece os métodos SqlQueryAsync<T>
e SqlQueryValueAsync<T>
para ajudá-lo 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 de TimeOnly
são suportados diretamente no EF Core a partir de EF Core 8.
Use os tipos DateOnly
e TimeOnly
.NET com o provedor EF Core SQL Server. 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 localizar qual restrição foi violada e permite que você use exceções digitadas, como UniqueConstraintException
, CannotInsertNullException
, MaxLengthExceededException
, NumericOverflowException
, ReferenceConstraintException
quando sua consulta viola restrições de banco de dados.
Suporta 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 a tempo de desenvolvimento do Visual Basic ao EF Core. Para o EF Core: 5-8.
Krzysztofz01.EFCore.QueryFilterBuilder
Extensão para o 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 Pagination no EntityFrameworkCore. Funciona bem com o Entity Framework Core como uma extensão e suporta operações assíncronas e síncronas. Ele também tem muitos recursos úteis comumente usados especialmente no desenvolvimento web. Para o EF Core: 2-7.
Laraue.EfCoreTriggers
API fluente para declarar gatilhos em Context.OnModelCreating
que são posteriormente incorporados em 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 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 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 para EF Core que fornece sintaxe Include
alternativa para oferecer melhor suporte aos seguintes cenários:
- Carregando várias entidades no mesmo nível (irmãos).
- Escrever métodos de extensão que são independentes do nível de aninhamento.
Para o EF Core: 6-7.
Régua do Entity Framework
Adiciona personalização em tempo de design do modelo de engenharia reversa, incluindo:
- Nomenclatura para classes, propriedades e navegação
- Ignorando o andaime de qualquer esquema, tabela ou coluna.
- Substituindo tipos de propriedade, especialmente para enumerações (enums).
- Suporte para EDMX do EF6, oferecendo um caminho de atualização suave em 3 etapas do EF6 para o EF Core.
Para o EF Core: 6-8.
repositório GitHub | ferramenta CLI NuGet | Design NuGet
LessCode.EFCore.StronglyTypedId
Um gerador de origem que pode gerar classes de id fortemente tipadas automaticamente para entidades. Para o EF Core: 7.
Microsoft.EntityFrameworkCore.DynamicLinq
A biblioteca Dynamic LINQ permite executar consultas 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 GitHub | NuGet
EfCoreNexus.Framework
O EfCoreNexus ajuda a integrar o Entity Framework Core em aplicações Blazor. Através da reflexão, ele adiciona as classes de entidade automaticamente e fornece a funcionalidade crud básica para elas sem escrever código adicional.
Para o EF Core: 8.
Reconciliador
Atualize um gráfico de entidade armazenado para um determinado inserindo, atualizando e removendo as respetivas 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 API
Esses pacotes são projetados para se integrar diretamente ao EF Core para expor várias APIs.
.NET Aspire [en]
Melhore a experiência de desenvolvimento local simplificando o gerenciamento da configuração e das interconexões do seu aplicativo nativo da nuvem. Para o EF Core: 8.
site | repositório GitHub | NuGet
Chocolate Quente
Crie o seu próprio endpoint 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 integração estreita com EntityFramework. Para o EF Core: 5-8.
OData
Um padrão para implementar APIs REST com especificações para deteção, filtragem, classificação, projeções, navegações, operações em massa e muito mais.
Extensões para versões EF Core não suportadas
nHydrate ORM para Entity Framework
Um O/RM que cria classes extensíveis e fortemente tipadas para o Entity Framework. O código gerado é Entity Framework Core. Não há diferença. Este não é um substituto para EF ou um O/RM personalizado. É uma camada de modelagem visual que permite que uma equipe gerencie esquemas complexos de banco de dados. Ele funciona bem com software SCM como o Git, permitindo o acesso multiusuário ao seu modelo com conflitos mínimos. O instalador controla as alterações do modelo e cria scripts de atualização. Para o EF Core: 3.
Microsoft.EntityFrameworkCore.UnitOfWork
Um plug-in para o Microsoft.EntityFrameworkCore que suporta os padrões de repositório, unidade de trabalho e vários bancos de dados, com suporte a transações distribuídas. Para o EF Core: 2-3.
Toolbelt.EntityFrameworkCore.IndexAttribute
Revitalização do atributo [Índice] (com extensão para construção de modelos). Para o EF Core: 2-5.
EfCoreTemporalTable
Observação
As tabelas temporais do SQL Server são suportadas diretamente no EF Core a partir de EF Core 6.
Execute facilmente consultas temporais 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 são suportadas diretamente no EF Core a partir de EF Core 6.
Biblioteca de extensão para o Entity Framework Core que permite que os desenvolvedores que usam o SQL Server usem facilmente tabelas temporais. Para o EF Core: 2-5.
Dabble.EntityFrameworkCore.Temporal.Query
Observação
As tabelas temporais do SQL Server são suportadas diretamente no EF Core a partir de EF Core 6.
Extensões LINQ para o Entity Framework Core 3.1 para oferecer suporte ao Microsoft SQL Server Temporal Table Querying. Para o EF Core: 3.
EntityFrameworkCore.NCache
O NCache Entity Framework Core Provider é um provedor de cache distribuído de segundo nível para armazenar em cache os resultados da consulta. A arquitetura distribuída do NCache o torna mais escalável e altamente disponível. Para o EF Core: 2-3.
Ramsés
Ganchos de ciclo de vida (para SaveChanges). Para o EF Core: 2-3.