Condividi tramite


Strumenti ed estensioni di EF Core

Questi strumenti e le estensioni offrono funzionalità aggiuntive per Entity Framework Core.

Importante

Le estensioni sono composte da diversi tipi di origine e non vengono mantenute nell'ambito del progetto di Entity Framework Core. Quando si prende in considerazione un'estensione di terze parti, valutarne con cura gli aspetti relativi a qualità, licenze, compatibilità, supporto e così via, per essere certi che soddisfi i propri requisiti. In particolare, un'estensione compilata per una versione precedente di EF Core potrebbe necessitare di un aggiornamento prima che funzioni con le versioni più recenti.

Strumenti

EF Core Power Tools

EF Core Power Tools è un'estensione di Visual Studio che espone varie attività di progettazione di EF Core in un'interfaccia utente intuitiva. Include il reverse engineering delle classi DbContext e di entità da database esistenti e DACPACs di SQL Servere visualizzazioni e diagrammi del modello. Per EF Core: 6-9.

Wiki di GitHub

EF Core Power Tools CLI

EF Core Power Tools CLI è uno strumento da riga di comando globale .NET. Consente la reverse engineering avanzata delle classi DbContext e di entità da database esistenti e DACPACs di SQL Server. Per EF Core: 6-9.

NuGet

LLBLGen Pro

LLBLGen Pro è una soluzione per la modellazione delle entità con supporto per Entity Framework ed Entity Framework Core. Consente di definire facilmente il modello di entità e di eseguirne il mapping al database, usando l'approccio Database-First o Model-First, in modo da iniziare subito a scrivere le query. Per EF Core: 2-8.

Sito Web

Devart Entity Developer

Entity Developer è una potente finestra di progettazione O/RM per ADO.NET Entity Framework, NHibernate, LinqConnect, Telerik Data Access e LINQ to SQL. Supporta la progettazione visiva di modelli EF Core, usando l'approccio con precedenza del modello o precedenza del database e la generazione di codice C# o Visual Basic. Per EF Core: 2-7.

Sito Web

DevMagic EF Core Sidekick

EF Core Sidekick è un'estensione di Visual Studio che migliora la potenza della generazione di codice automatico in Visual Studio. Fornisce un set di strumenti e modelli per la generazione di entità EF Core e dbContext derivati dal database esistente e quindi la generazione di servizi e API REST dalle entità. Per EF Core: 6-8.

Sito Web di Visual Studio Marketplace |

Entity Framework Visual Editor

Entity Framework Visual Editor è un'estensione di Visual Studio che aggiunge una finestra di progettazione O/RM per la progettazione visiva di classi di Entity Framework 6 ed EF Core. Il codice viene generato usando i modelli T4, pertanto può essere personalizzato per soddisfare qualsiasi esigenza. Supporta l'ereditarietà, le associazioni unidirezionali e bidirezionali, le enumerazioni e la possibilità di usare una codifica a colori per le classi e di aggiungere blocchi di testo, per spiegare parti potenzialmente molto complesse del progetto. Per EF Core: 2-8.

Visual Studio Marketplace

IWAPI

IWAPI (Instant Web API) è un motore di scaffolding per .NET Core in grado di automatizzare la generazione di classi, entità, modelli DbContext e crea un'API Web funzionante da qualsiasi database di SQL Server.

Sito Web

efmig

efmig è un'applicazione GUI multipiattaforma che accelera lo sviluppo giornaliero quando si usa Entity Framework Core. Vengono illustrati i casi d'uso più diffusi, ad esempio il codice di migrazione e la generazione di script con un'interfaccia semplice con un clic. Per EF Core: 2-8.

repository di GitHub

EFCore.Visualizer

Con il visualizzatore del debugger del piano di query di Entity Framework Core, è possibile visualizzare il piano di query delle query direttamente all'interno di Visual Studio. Attualmente, il visualizzatore supporta SQL Server e PostgreSQL. Per EF Core: 7-8.

Visual Studio Marketplace

Estensioni

Microsoft.EntityFrameworkCore.AutoHistory

Libreria di plug-in che consente di registrare automaticamente le modifiche ai dati eseguite da EF Core in una tabella di cronologia. Per EF Core: 2-6.

Repository GitHub | NuGet

EFCoreSecondLevelCacheInterceptor

La memorizzazione nella cache di secondo livello è una cache della query. I risultati dei comandi EF verranno memorizzati nella cache, in modo che gli stessi comandi EF recupereranno i dati dalla cache anziché eseguirli di nuovo sul database. Per EF Core: 3-8.

Repository GitHub | NuGet

EntityFrameworkCore.Scaffolding.Handlebars

Consente la personalizzazione di classi decompilate da un database esistente usando la catena di strumenti di Entity Framework Core con modelli Handlebars. Per EF Core: 2-8.

Repository GitHub | NuGet

NeinLinq.EntityFrameworkCore

NeinLinq estende i provider LINQ, ad esempio Entity Framework, e consente il riuso delle funzioni, la riscrittura di query e la creazione di query dinamiche usando predicati e selettori traducibili. Per EF Core: 3-8.

Repository GitHub | NuGet

EFCore.BulkExtensions

Estensioni EF Core per operazioni in blocco (inserimento, aggiornamento, eliminazione). Per EF Core: 2-8.

Repository GitHub | NuGet

Bricelam.EntityFrameworkCore.Pluralizer

Aggiunge la pluralizzazione in fase di progettazione. Per EF Core: 2-9.

Repository GitHub | NuGet

Verify.EntityFramework

Estende Verify per consentire il test degli snapshot con Entity Framework. Per EF Core: 3-8.

Repository GitHub | NuGet

LocalDB

Offre un wrapper per LocalDB di SQL Server Express per semplificare l'esecuzione di test per Entity Framework. Per EF Core: 3-8.

Repository GitHub | NuGet

EntityFrameworkCore.Projectables

Magic di proiezione flessibile per EF Core. Consente di usare proprietà, metodi e metodi di estensione nella query senza valutazione del client. Per EF Core 3- 6, 8.

Repository GitHub | NuGet

EntityFrameworkCore.Triggered

Trigger per EF Core. Consentono di rispondere alle modifiche nel dbContext prima e dopo che ne venga eseguito il commit nel database. I trigger sono completamente asincroni e supportano l'inserimento di dipendenze, l'ereditarietà, l'ereditarietà, la propagazione e altro ancora. Per EF Core: 3-6.

Repository GitHub | NuGet

Entity Framework Plus

Estende DbContext con funzionalità quali: Includi filtro, controllo, memorizzazione nella cache, query future, eliminazione batch, aggiornamento batch e altro ancora. Per EF Core: 2-9.

Website | GitHub repository | NuGet

Entity Framework Extensions

Estende DbContext con operazioni bulk ad alte prestazioni: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge e altro ancora. Per EF Core: 2-9.

Sito Web | NuGet

Expressionify

Aggiunta del supporto per la chiamata di metodi di estensione nelle espressioni lambda LINQ. Per EF Core: 3-6.

Repository GitHub | NuGet

EntityLinq

Tecnologia LINQ (Language Integrated Query) alternativa (non basata su MS) per database relazionali. Consente di usare C# per scrivere query SQL fortemente tipizzate. Per EF Core: 3-8.

  • Supporto C# completo per la creazione di query: più istruzioni all'interno di lambda, variabili, funzioni e così via.
  • Nessun gap semantico con SQL. EntityLinq dichiara istruzioni SQL (ad esempio SELECT, FROM, WHERE) come metodi C# di prima classe, combinando la sintassi familiare con IntelliSense, l'indipendenza dai tipi e il refactoring.

Di conseguenza, SQL diventa semplicemente "un'altra" libreria di classi che espone l'API in locale, letteralmente "SQL integrato nel linguaggio".

Sito Web | NuGet

EFCore.NamingConventions

Per tutti i nomi di tabella e colonna verrà automaticamente usata la convenzione di denominazione snake_case, tutte maiuscole o tutte minuscole. Per EF Core: 3-8.

Repository GitHub | NuGet

EFCore.CheckConstraints

Questo plug-in consente di scegliere esplicitamente alcuni vincoli CHECK, attivarlo per creare automaticamente i vincoli. Per EF Core: 5-9.

Repository GitHub | NuGet

SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime

Aggiunge il supporto nativo a EntityFrameworkCore per SQL Server per i tipi NodaTime. Per EF Core: 3-9.

Repository GitHub | NuGet

EntityFrameworkCore.SqlServer.HierarchyId

Nota

Il tipo di dati gerarchizzati di SQL Server è supportato direttamente all'interno di EF Core a partire da EF Core 8.

Aggiunge il supporto di hierarchyid al provider SQL Server EF Core. Per EF Core: 3-7.

Repository GitHub | NuGet

linq2db.EntityFrameworkCore

Convertitore alternativo di query LINQ in espressioni SQL. Per EF Core: 2-8.

Include il supporto per le funzionalità avanzate di SQL, ad esempio espressioni di tabella comuni, copia bulk, hint di tabella, funzioni finestra, tabelle temporanee e operazioni di creazione/aggiornamento/eliminazione sul lato database.

Repository GitHub | NuGet

EFCore.SoftDelete

Implementazione per l'eliminazione temporanea di entità. Per EF Core: 3-6.

Repository GitHub | NuGet

EntityFrameworkCore.ConfigurationManager

Estende EF Core per risolvere i stringa di connessione da App.config. Per EF Core: 3-9.

Repository GitHub | NuGet

Mapper scollegato

Mapper DTO-entità con gestione della composizione/aggregazione (simile a GraphDiff). Per EF Core: 3-8.

Repository GitHub | NuGet

EntityFrameworkCore.Sqlite.NodaTime

Aggiunge il supporto per i tipi NodaTime quando si usa SQLite. Per EF Core: 5-8.

Repository GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.Dacpac

Abilita il reverse engineering di un modello EF Core da un pacchetto applicazione livello dati di SQL Server (DACPAC). Per EF Core: 6-9.

Repository GitHub | NuGet

ErikEJ.EntityFrameworkCore.DgmlBuilder

Consente di generare contenuto DGML (Graph) che visualizza dbContext. Aggiunge il metodo di estensione AsDgml() alla classe DbContext. Per EF Core: 6-9.

Repository GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery

Nota

Le query SQL non elaborate su tipi non mappati sono supportate direttamente all'interno di EF Core a partire da EF Core 8.

Offre i metodi SqlQueryAsync<T> e SqlQueryValueAsync<T> per popolare classi arbitrarie o un elenco di tipi primitivi da una query SQL non elaborata. Per EF Core: 6-7.

Repository GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly

Nota

SQL Server DateOnly e TimeOnly il mapping sono supportati direttamente all'interno di EF Core a partire da EF Core 8.

Usare i tipi DateOnly e TimeOnly .NET con il provider DI SQL Server di EF Core. Per EF Core: 6-7.

Repository GitHub | NuGet

EntityFramework.Exceptions

Quando si usa Entity Framework Core, viene eseguito il wrapping di tutte le eccezioni di database in DbUpdateException. EntityFramework.Exceptions gestisce tutti i dettagli specifici del database per individuare il vincolo violato e consente di usare eccezioni tipizzate, ad esempio UniqueConstraintException, CannotInsertNullException, MaxLengthExceededException, NumericOverflowException, ReferenceConstraintException quando la query viola i vincoli del database.

Supporta SQL Server, Postgres, MySql, SQLite e Oracle. Per EF Core: 3-8.

Repository GitHub

EntityFrameworkCore.FSharp

Aggiunge il supporto F# per la fase di progettazione a EF Core. Per EF Core: 5-6.

Repository GitHub | NuGet

EntityFrameworkCore.VisualBasic

Aggiunge il supporto VB per la fase di progettazione a EF Core. Per EF Core: 5-8.

Repository GitHub | NuGet

Krzysztofz01.EFCore.QueryFilterBuilder

Estensione per Entity Framework che consente di creare e gestire più filtri di query. Per EF Core: 5-7.

repository di GitHub

Pagination.EntityFrameworkCore.Extensions

Libreria per la paginazione in EntityFrameworkCore. Funziona bene con Entity Framework Core come estensione e supporta sia l'opzione asincrona che quella sincrona. Ha anche molte funzionalità utili comunemente usate in particolare per lo sviluppo Web. Per EF Core: 2-7.

Repository GitHub | NuGet

Laraue.EfCoreTriggers

API Fluent per dichiarare i trigger in Context.OnModelCreating che in seguito vengono incorporati nelle migrazioni. Provider a Postgres, MySQL, SQL Server e SQLite. Per EF Core: 5-8.

Repository GitHub | NuGet

EntityCloner.Microsoft.EntityFrameworkCore

Clonazione di entità usando la configurazione di EF Core. È possibile usare il metodo Include per specificare i dati correlati da clonare. Per EF Core: 5-8.

Repository GitHub | NuGet

Estensioni Zomp EF Core

Fornisce funzioni finestra (analisi) e funzioni binarie per EF Core. Provider: SQL Server, SQLite, PostgreSQL. Per EF Core: 6-8.

Repository GitHub | NuGet

Ainoraz.EFCore.IncludeBuilder

Estensione per EF Core che fornisce una sintassi di Include alternativa per supportare meglio gli scenari seguenti:

  • Caricamento di più entità sullo stesso livello (elementi di pari livello).
  • Scrittura di metodi di estensione indipendenti dal livello di annidamento.

Per EF Core: 6-7.

Repository GitHub | NuGet

Entity Framework Ruler

Aggiunge la personalizzazione in fase di progettazione del modello inverso, tra cui:

  • Denominazione di classe, proprietà e navigazione
  • Ignorare lo scaffolding di qualsiasi schema, tabella o colonna.
  • Override dei tipi di proprietà, in particolare per le enumerazioni.
  • Supporto EDMX di EF6, che offre un percorso di aggiornamento graduale in 3 passaggi da EF6 a EF Core.

Per EF Core: 6-8.

Strumento dell'interfaccia della riga di comando del repository | GitHub NuGet Design NuGet |

LessCode.EFCore.StronglyTypedId

Generatore di origine che può generare automaticamente classi con id fortemente tipizzato per le entità. Per EF Core: 7.

repository di GitHub

Microsoft.EntityFrameworkCore.DynamicLinq

La libreria LINQ dinamica consente di eseguire query con una stringa dinamica e di fornire alcuni metodi di utilità, ad esempio ParseLambda, Parse e CreateClass. Per EF Core: 2-9.

Website | GitHub repository | NuGet

EfCoreNexus.Framework

EfCoreNexus consente di integrare entity framework core in app blazor. Tramite reflection aggiunge automaticamente le classi di entità e offre funzionalità crud di base per loro senza scrivere codice aggiuntivo.

Per EF Core: 8.

Repository GitHub | NuGet

Riconciliatore

Aggiornare un grafo di entità nell'archivio con uno specificato inserendo, aggiornando e rimuovendo le rispettive entità. Per EF Core: 6-7.

repository di GitHub

AutoCompute

Proprietà calcolate persistenti in EF Core che vengono aggiornate automaticamente al salvataggio delle modifiche. Per EF Core: 8.

Repository GitHub | NuGet

Integrazioni API

Questi pacchetti sono progettati per l'integrazione diretta con EF Core per esporre varie API.

.NET Aspire

Migliorare l'esperienza di sviluppo locale semplificando la gestione della configurazione e delle interconnessioni dell'app nativa del cloud. Per EF Core: 8.

Website | GitHub repository | NuGet

HotChocolate

Consente di creare un endpoint GraphQL personalizzato sopra qualsiasi risorsa.

Repository GitHub | NuGet

GraphQL.EntityFramework

Consente di aggiungere il supporto di Entity Framework IQueryable a GraphQL. Per EF Core: 6-8.

Repository GitHub | NuGet

EntityGraphQL

Server GraphQL con stretta integrazione entityFramework. Per EF Core: 5-8.

Repository GitHub | NuGet

OData

Standard per l'implementazione di API REST con specifiche per l'individuazione, il filtro, l'ordinamento, le proiezioni, gli spostamenti, le operazioni in blocco e altro ancora.

Repository GitHub | NuGet

Estensioni per le versioni di EF Core non supportate

ORM nHydrate per Entity Framework

Mapper relazionale a oggetti (O/RM) che consente di creare classi estendibili e fortemente tipizzate per Entity Framework. Il codice generato è Entity Framework Core. Non c'è alcuna differenza. Non si tratta di una sostituzione per EF o di un O/RM personalizzato. Si tratta di un livello di modellazione visivo che consente a un team di gestire schemi di database complessi. Funziona bene con software SCM come Git, consentendo l'accesso multiutente al modello con conflitti minimi. Il programma di installazione tiene traccia delle modifiche del modello e crea gli script di aggiornamento. Per EF Core: 3.

Repository GitHub

Microsoft.EntityFrameworkCore.UnitOfWork

Plug-in per Microsoft.EntityFrameworkCore che supporta repository, modelli di unità di lavoro e più database con la transazione distribuita supportata. Per EF Core: 2-3.

repository di GitHub

Toolbelt.EntityFrameworkCore.IndexAttribute

Ripresa dell'attributo [Index] (con estensione per la compilazione del modello). Per EF Core: 2-5.

Repository GitHub | NuGet

EfCoreTemporalTable

Nota

Le tabelle temporanee di SQL Server sono supportate direttamente all'interno di EF Core a partire da EF Core 6.

Consente di eseguire facilmente query temporanee nel database preferito usando i metodi di estensione introdotti: AsTemporalAll(), AsTemporalAsOf(date), AsTemporalFrom(startDate, endDate), AsTemporalBetween(startDate, endDate), AsTemporalContained(startDate, endDate). Per EF Core: 3-5.

Repository GitHub | NuGet

EntityFrameworkCore.TemporalTables

Nota

Le tabelle temporanee di SQL Server sono supportate direttamente all'interno di EF Core a partire da EF Core 6.

Libreria di estensioni per Entity Framework Core che consente agli sviluppatori che usano SQL Server di usare facilmente le tabelle temporali. Per EF Core: 2-5.

Repository GitHub | NuGet

Dabble.EntityFrameworkCore.Temporal.Query

Nota

Le tabelle temporanee di SQL Server sono supportate direttamente all'interno di EF Core a partire da EF Core 6.

Estensioni LINQ per Entity Framework Core 3.1 per supportare le query di tabelle temporali di Microsoft SQL Server. Per EF Core: 3.

Repository GitHub | NuGet

EntityFrameworkCore.NCache

Il provider Entity Framework Core NCache è un provider di cache di secondo livello distribuito per la memorizzazione nella cache dei risultati delle query. L'architettura distribuita di NCache ne migliora la scalabilità e offre disponibilità elevata. Per EF Core: 2-3.

Sito Web | NuGet

Ramses

Hook del ciclo di vita (per SaveChanges). Per EF Core: 2-3.

Repository GitHub | NuGet