EF Core Tools & Extensions

These tools and extensions provide additional functionality for Entity Framework Core 2.0 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.

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.

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.

Website

EF Core Power Tools

EF Core Power Tools is a Visual Studio 2017 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.

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.

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.

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.

Tutorial Documentation

Extensions

Microsoft.EntityFrameworkCore.AutoHistory

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

GitHub repository

Microsoft.EntityFrameworkCore.DynamicLinq

A .NET Core / .NET Standard port of System.Linq.Dynamic that includes async support with EF Core. System.Linq.Dynamic originated as a Microsoft sample that shows how to construct LINQ queries dynamically from string expressions rather than code.

GitHub repository

EFSecondLevelCache.Core

An extension that enables storing the results of EF Core queries into a second-level cache, so that subsequent executions of the same queries can avoid accessing the database and retrieve the data directly from the cache.

GitHub repository

EntityFrameworkCore.PrimaryKey

This library allows retrieving the values of primary key (including composite keys) from any entity as a dictionary.

GitHub repository

EntityFrameworkCore.TypedOriginalValues

This library enables strongly typed access to the original values of entity properties.

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.

GitHub repository

LinqKit.Microsoft.EntityFrameworkCore

LinqKit.Microsoft.EntityFrameworkCore is an EF Core-compatible version of the LINQKit library. LINQKit is a free set of extensions for LINQ to SQL and Entity Framework power users. It enables advanced functionality like dynamic building of predicate expressions, and using expression variables in subqueries.

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.

GitHub repository

Microsoft.EntityFrameworkCore.UnitOfWork

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

GitHub repository

EFCore.BulkExtensions

EF Core extensions for Bulk operations (Insert, Update, Delete).

GitHub repository

Bricelam.EntityFrameworkCore.Pluralizer

Adds design-time pluralization to EF Core.

GitHub repository

PomeloFoundation/Pomelo.EntityFrameworkCore.Extensions.ToSql

A simple extension method that obtains the SQL statement EF Core would generate for a given LINQ query in simple scenarios. The ToSql method is limited to simple scenarios because EF Core can generate more than one SQL statement for a single LINQ query, and different SQL statements depending on parameter values.

GitHub repository

Toolbelt.EntityFrameworkCore.IndexAttribute

Revival of [Index] attribute for EF Core (with extension for model building).

GitHub repository

EfCore.InMemoryHelpers

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

GitHub repository

EFCore.TemporalSupport

An implementation of temporal support for EF Core.

GitHub repository

EntityFrameworkCore.Cacheable

A high-performance second-level query cache for EF Core.

GitHub repository

Entity Framework Plus

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

Website GitHub repository

Entity Framework Extensions

Extends your DbContext with high-performance bulk operations: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge, and more.

Website

Reconciler

Update an entity graph in store to a given one by inserting, updating and removing the respective entities.

GitHub repository