EF Core Tools & Extensions

These tools and extensions provide additional functionality for Entity Framework Core 2.1 and later.

Important

Extensions are built by a variety of sources and aren't maintained as part of the Entity Framework Core project. When considering a third party extension, be sure to evaluate its quality, licensing, compatibility, support, etc. to ensure it meets your requirements. In particular, an extension built for an older version of EF Core may need updating before it will work with the latest versions.

Tools

LLBLGen Pro

LLBLGen Pro is an entity modeling solution with support for Entity Framework and Entity Framework Core. It lets you easily define your entity model and map it to your database, using database first or model first, so you can get started writing queries right away. For EF Core: 2, 3

Website

Devart Entity Developer

Entity Developer is a powerful ORM designer for ADO.NET Entity Framework, NHibernate, LinqConnect, Telerik Data Access, and LINQ to SQL. It supports designing EF Core models visually, using model first or database first approaches, and C# or Visual Basic code generation. For EF Core: 1, 2, 3, 5.

Website

nHydrate ORM for Entity Framework

An ORM that creates strongly-typed, extendable classes for Entity Framework. The generated code is Entity Framework Core. There is no difference. This is not a replacement for EF or a custom ORM. It is a visual, modeling layer that allows a team to manage complex database schemas. It works well with SCM software like Git, allowing multi-user access to your model with minimal conflicts. The installer tracks model changes and creates upgrade scripts. For EF Core: 3.

Github site

EF Core Power Tools

EF Core Power Tools is a Visual Studio extension that exposes various EF Core design-time tasks in a simple user interface. It includes reverse engineering of DbContext and entity classes from existing databases and SQL Server DACPACs, management of database migrations, and model visualizations. For EF Core: 2, 3.

GitHub wiki

Entity Framework Visual Editor

Entity Framework Visual Editor is a Visual Studio extension that adds an ORM designer for visual design of EF 6, and EF Core classes. Code is generated using T4 templates so can be customized to suit any needs. It supports inheritance, unidirectional and bidirectional associations, enumerations, and the ability to color-code your classes and add text blocks to explain potentially arcane parts of your design. For EF Core: 2.

Marketplace

CatFactory

CatFactory is a scaffolding engine for .NET Core that can automate the generation of DbContext classes, entities, mapping configurations, and repository classes from a SQL Server database. For EF Core: 2.

GitHub repository

LoreSoft's Entity Framework Core Generator

Entity Framework Core Generator (efg) is a .NET Core CLI tool that can generate EF Core models from an existing database, much like dotnet ef dbcontext scaffold, but it also supports safe code regeneration via region replacement or by parsing mapping files. This tool supports generating view models, validation, and object mapper code. For EF Core: 2.

Tutorial Documentation

Extensions

Microsoft.EntityFrameworkCore.AutoHistory

A plugin library that enables automatically recording the data changes performed by EF Core into a history table. For EF Core: 2.

GitHub repository

EFCoreSecondLevelCacheInterceptor

Second level caching is a query cache. The results of EF commands will be stored in the cache, so that the same EF commands will retrieve their data from the cache rather than executing them against the database again. For EF Core: 3.

GitHub repository

Geco

Geco (Generator Console) is a simple code generator based on a console project, that runs on .NET Core and uses C# interpolated strings for code generation. Geco includes a reverse model generator for EF Core with support for pluralization, singularization, and editable templates. It also provides a seed data script generator, a script runner, and a database cleaner. For EF Core: 2.

GitHub repository

EntityFrameworkCore.Scaffolding.Handlebars

Allows customization of classes reverse engineered from an existing database using the Entity Framework Core toolchain with Handlebars templates. For EF Core: 2, 3.

GitHub repository

NeinLinq.EntityFrameworkCore

NeinLinq extends LINQ providers such as Entity Framework to enable reusing functions, rewriting queries, and building dynamic queries using translatable predicates and selectors. For EF Core: 2, 3.

GitHub repository

Microsoft.EntityFrameworkCore.UnitOfWork

A plugin for Microsoft.EntityFrameworkCore to support repository, unit of work patterns, and multiple databases with distributed transaction supported. For EF Core: 2.

GitHub repository

EFCore.BulkExtensions

EF Core extensions for Bulk operations (Insert, Update, Delete). For EF Core: 2, 3.

GitHub repository

Bricelam.EntityFrameworkCore.Pluralizer

Adds design-time pluralization. For EF Core: 2.

GitHub repository

Toolbelt.EntityFrameworkCore.IndexAttribute

Revival of [Index] attribute (with extension for model building). For EF Core: 2, 3.

GitHub repository

EfCore.InMemoryHelpers

Provides a wrapper around the EF Core In-Memory Database Provider. Makes it act more like a relational provider. For EF Core: 2.

GitHub repository

EFCore.TemporalSupport

An implementation of temporal support. For EF Core: 2.

GitHub repository

EfCoreTemporalTable

Easily perform temporal queries on your favourite database using introduced extension methods: AsTemporalAll(), AsTemporalAsOf(date), AsTemporalFrom(startDate, endDate), AsTemporalBetween(startDate, endDate), AsTemporalContained(startDate, endDate). For EF Core: 3.

GitHub repository

EFCore.TimeTraveler

Allow full-featured Entity Framework Core queries against SQL Server Temporal History using the EF Core code, entities, and mappings you already have defined. Travel through time by wrapping your code in using (TemporalQuery.AsOf(targetDateTime)) {...}. For EF Core: 3.

GitHub repository

EntityFrameworkCore.TemporalTables

Extension library for Entity Framework Core which allows developers who use SQL Server to easily use temporal tables. For EF Core: 2.

GitHub repository

EntityFrameworkCore.Cacheable

A high-performance second-level query cache. For EF Core: 2.

GitHub repository

EntityFrameworkCore.NCache

NCache Entity Framework Core Provider is a distributed second level cache provider for caching query results. The distributed architecture of NCache makes it more scalable and highly available. For EF Core 2.

Website

Entity Framework Plus

Extends your DbContext with features such as: Include Filter, Auditing, Caching, Query Future, Batch Delete, Batch Update, and more. For EF Core: 2, 3.

Website GitHub repository

Entity Framework Extensions

Extends your DbContext with high-performance bulk operations: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge, and more. For EF Core: 2, 3.

Website

Expressionify

Add support for calling extension methods in LINQ lambdas. For EF Core: 3.

GitHub repository

XLinq

Language Integrated Query (LINQ) technology for relational databases. It allows you to use C# to write strongly typed queries. For EF Core: 3.

  • Full C# support for query creation: multiple statements inside lambda, variables, functions, etc.
  • No semantic gap with SQL. XLinq declares SQL statements (like SELECT, FROM, WHERE) as first class C# methods, combining familiar syntax with intellisense, type safety and refactoring.

As a result SQL becomes just "another" class library exposing its API locally, literally "Language Integrated SQL".

Website

Ramses

Lifecycle hooks (for SaveChanges). For EF Core: 2, 3.

GitHub repository

EFCore.NamingConventions

This will automatically make all your table and column names have snake_case, all UPPER or all lower case naming. For EF Core: 3.

GitHub repository

SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime

Adds native support to EntityFrameworkCore for SQL Server for the NodaTime types. For EF Core: 3.

GitHub repository

Dabble.EntityFrameworkCore.Temporal.Query

LINQ extensions to Entity Framework Core 3.1 to support Microsoft SQL Server Temporal Table Querying. For EF Core: 3.

GitHub repository

EntityFrameworkCore.SqlServer.HierarchyId

Adds hierarchyid support to the SQL Server EF Core provider. For EF Core: 3.

GitHub repository

linq2db.EntityFrameworkCore

Alternative translator of LINQ queries to SQL expressions. For EF Core: 3.

Includes support for advanced SQL features such as CTEs, bulk copy, table hints, windowed functions, temporary tables, and database-side create/update/delete operations.

GitHub repository

EFCore.SoftDelete

An implementation for soft deleting entities. For EF Core: 3.

NuGet