title | description | author | ms.date | uid |
---|---|---|---|---|
Tools & Extensions - EF Core |
External tools and extensions for Entity Framework Core |
ErikEJ |
05/22/2024 |
core/extensions/index |
These tools and extensions provide additional functionality for Entity Framework Core.
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.
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: 6-8.
EF Core Power Tools CLI is a .NET global command line tool. It enables advanced reverse engineering of DbContext and entity classes from existing databases and SQL Server DACPACs. For EF Core: 6-8.
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-8.
Entity Developer is a powerful O/RM 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: 2-7.
EF Core Sidekick is a Visual Studio extension that enhances the power of auto code generation in Visual Studio. It provides a set of tools and templates for generating EF Core entities and derived DbContext from existing database, and then generating services and REST APIs from the entities. For EF Core: 6-8.
Visual Studio Marketplace | Website
Entity Framework Visual Editor is a Visual Studio extension that adds an O/RM 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-8.
IWAPI (Instant Web API) is a scaffolding engine for .NET Core that can automate the generation of DbContext classes, entities, models and creates a working Web API from any SQL Server database.
efmig is a multi-platform GUI application that speeds up daily development when working with Entity Framework Core. It covers the most popular use cases such as migration code and script generation with simple, one-click interface. For EF Core: 2-8.
With Entity Framework Core query plan debugger visualizer, you can view the query plan of your queries directly inside Visual Studio. Currently, the visualizer supports SQL Server and PostgreSQL. For EF Core: 7-8.
A plugin library that enables automatically recording the data changes performed by EF Core into a history table. For EF Core: 2-6.
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-8.
Allows customization of classes reverse engineered from an existing database using the Entity Framework Core tool chain with Handlebars templates. For EF Core: 2-8.
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: 3-8.
EF Core extensions for Bulk operations (Insert, Update, Delete). For EF Core: 2-8.
Adds design-time pluralization. For EF Core: 2-8.
Extends Verify to allow snapshot testing with Entity Framework. For EF Core: 3-8.
Provides a wrapper around SQL Server Express LocalDB to simplify running tests against Entity Framework. For EF Core: 3-8.
Flexible projection magic for EF Core. Use properties, methods, and extension methods in your query without client evaluation. For EF Core: 3-6, 8.
Triggers for EF Core. Respond to changes in your DbContext before and after they are committed to the database. Triggers are fully asynchronous and support dependency injection, inheritance, cascading and more. For EF Core: 3-6.
Extends your DbContext with features such as: Include Filter, Auditing, Caching, Query Future, Batch Delete, Batch Update, and more. For EF Core: 2-8.
Website | GitHub repository | NuGet
Extends your DbContext with high-performance bulk operations: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge, and more. For EF Core: 2-8.
Add support for calling extension methods in LINQ lambdas. For EF Core: 3-6.
Alternative (not MS based) Language Integrated Query (LINQ) technology for relational databases. It allows you to use C# to write strongly typed SQL queries. For EF Core: 3-8.
- Full C# support for query creation: multiple statements inside lambda, variables, functions, etc.
- No semantic gap with SQL. EntityLinq 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".
This will automatically make all your table and column names have snake_case, all UPPER or all lower case naming. For EF Core: 3-8.
This plugin allows you to opt into some check constraints - just activate it and they'll automatically get created for you. For EF Core: 5-8.
Adds native support to EntityFrameworkCore for SQL Server for the NodaTime types. For EF Core: 3-8.
Note
The SQL Server hierarchyid data type is supported directly within EF Core as of EF Core 8.
Adds hierarchyid support to the SQL Server EF Core provider. For EF Core: 3-7.
Alternative translator of LINQ queries to SQL expressions. For EF Core: 2-8.
Includes support for advanced SQL features such as CTEs, bulk copy, table hints, windowed functions, temporary tables, and database-side create/update/delete operations.
An implementation for soft deleting entities. For EF Core: 3-6.
Extends EF Core to resolve connection strings from App.config. For EF Core: 3-8.
A DTO-Entity mapper with composition/aggregation handling (similar to GraphDiff). For EF Core: 3-8.
Adds support for NodaTime types when using SQLite. For EF Core: 5-8.
Enables reverse engineering an EF Core model from a SQL Server data-tier application package (.dacpac). For EF Core: 6-8.
Generate DGML (Graph) content that visualizes your DbContext. Adds the AsDgml() extension method to the DbContext class. For EF Core: 6-7.
Note
Raw SQL queries against unmapped types is supported directly within EF Core as of EF Core 8.
Provides the SqlQueryAsync<T>
and SqlQueryValueAsync<T>
methods to help you populate arbitrary classes or a list of primitive types from a raw SQL query. For EF Core: 6-7.
Note
SQL Server DateOnly
and TimeOnly
mapping is supported directly within EF Core as of EF Core 8.
Use the DateOnly
and TimeOnly
.NET types with the EF Core SQL Server provider. For EF Core: 6-7.
When using Entity Framework Core all database exceptions are wrapped in DbUpdateException. EntityFramework.Exceptions handles all the database-specific details to find which constraint was violated and allows you to use typed exceptions such as UniqueConstraintException
, CannotInsertNullException
, MaxLengthExceededException
, NumericOverflowException
, ReferenceConstraintException
when your query violates database constraints.
Supports SQL Server, Postgres, MySql, SQLite and Oracle. For EF Core: 3-8.
Adds F# design-time support to EF Core. For EF Core: 5-6.
Adds VB design-time support to EF Core. For EF Core: 5-8.
Extension for Entity Framework that allows you to create and manage multiple query filters. For EF Core: 5-7.
This is a library for Pagination on EntityFrameworkCore. Works well with Entity Framework Core as an extension, and supports both asynchronous and synchronous. It also has many useful features commonly used especially on web development. For EF Core: 2-7.
Fluent API to declare triggers in Context.OnModelCreating
which are later built into migrations. Providers to Postgres, MySQL, SQL Server and SQLite. For EF Core: 5-8.
Cloning entities using EF Core configuration. You can use the Include
method to specify related data to be cloned. For EF Core: 5-8.
Provides window (analytics) functions and binary functions for EF Core. Providers: SQL Server, SQLite, PostgreSQL. For EF Core: 6-8.
Extension for EF Core that provides alternative Include
syntax in order to better support the following scenarios:
- Loading multiple entities on the same level (siblings).
- Writing extension methods that are independent of nesting level.
For EF Core: 6-7.
Adds design-time customization of the reverse engineered model including:
- Class, property and navigation naming
- Skipping the scaffolding of any schema, table, or column.
- Overriding property types, especially for enums.
- EF6 EDMX support, providing a smooth 3-step upgrade path from EF6 to EF Core.
For EF Core: 6-8.
GitHub repository | CLI Tool NuGet | Design NuGet
A source generator that can generate strongly-typed-id classes automatically for entities. For EF Core: 7.
The Dynamic LINQ library let you execute query with dynamic string and provide some utilities methods such as ParseLambda, Parse, and CreateClass. For EF Core: 2-8.
Website | GitHub repository | NuGet
EfCoreNexus helps integrating the entity framework core into blazor apps. Via reflection it adds the entity classes automatically and provides you with basic crud functionality for them without writing additional code.
For EF Core: 8.
Update an entity graph in store to a given one by inserting, updating and removing the respective entities. For EF Core: 6-7.
Persisted computed properties in EF Core that update automatically on save changes. For EF Core: 8.
These packages are designed to integrate directly with EF Core to expose various APIs.
Enhance the local development experience by simplifying the management of your cloud-native app's configuration and interconnections. For EF Core: 8.
Website | GitHub repository | NuGet
Build your own GraphQL endpoint on top of any resource.
Add Entity Framework IQueryable
support to GraphQL. For EF Core: 6-8.
GraphQL server with tight EntityFramework integration. For EF Core: 5-8.
A standard for implementing REST APIs with specifications for discovery, filtering, sorting, projections, navigations, bulk operations, and more.
An O/RM 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 O/RM. 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.
A plugin for Microsoft.EntityFrameworkCore to support repository, unit of work patterns, and multiple databases with distributed transaction supported. For EF Core: 2-3.
Revival of [Index] attribute (with extension for model building). For EF Core: 2-5.
Note
SQL Server temporal tables are supported directly within EF Core as of EF Core 6.
Easily perform temporal queries on your favorite database using introduced extension methods: AsTemporalAll()
, AsTemporalAsOf(date)
, AsTemporalFrom(startDate, endDate)
, AsTemporalBetween(startDate, endDate)
, AsTemporalContained(startDate, endDate)
. For EF Core: 3-5.
Note
SQL Server temporal tables are supported directly within EF Core as of EF Core 6.
Extension library for Entity Framework Core which allows developers who use SQL Server to easily use temporal tables. For EF Core: 2-5.
Note
SQL Server temporal tables are supported directly within EF Core as of EF Core 6.
LINQ extensions to Entity Framework Core 3.1 to support Microsoft SQL Server Temporal Table Querying. For EF Core: 3.
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-3.
Life cycle hooks (for SaveChanges). For EF Core: 2-3.