├── .github └── FUNDING.yml ├── dapper-plus-sponsor.png ├── entity-framework-extensions-sponsor.png ├── CONTRIBUTING.md ├── LICENSE └── README.md /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [zzzprojects] 2 | custom: ["https://zzzprojects.com/contribute"] 3 | -------------------------------------------------------------------------------- /dapper-plus-sponsor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzzprojects/awesome-entity-framework-core/HEAD/dapper-plus-sponsor.png -------------------------------------------------------------------------------- /entity-framework-extensions-sponsor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzzprojects/awesome-entity-framework-core/HEAD/entity-framework-extensions-sponsor.png -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | - **To add, remove, or change things on the list:** Submit a pull request 4 | 5 | **awesome-entity-framework-core** is a specially curated list of high-quality, actively maintained Entity Framework Core packages and resources. 6 | 7 | - List items should be sorted *alphabetically*. 8 | - Each item should be limited to one link. 9 | - The link should be the name of the package or project. 10 | - Descriptions should be clear, concise, and non-promotional. 11 | - Descriptions should follow the link, on the same line and end with a punctuation mark. 12 | 13 | Please contribute links to packages/projects you have used or are familiar with. This will help ensure high-quality entries. 14 | 15 | ## Reporting issues 16 | 17 | Please open an issue if you would like to discuss anything that could be improved or have suggestions for making a list more valuable resource. 18 | 19 | Thanks everyone, you're awesome! :+1: -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 ZZZ Projects 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Entity Framework Core 2 | 3 | [![Awesome](https://awesome.re/badge-flat.svg)](https://awesome.re) 4 | 5 | Entity Framework Core is a lightweight, extensible and cross-platform object-relational mapper (ORM) made by Microsoft. It is the official data access platform for Microsoft. 6 | 7 | A curated list of awesome entity framework core libraries, packages, and documentation. 8 | 9 | ## Sponsors 10 | 11 | ZZZ Projects owns and maintains **Awesome EF Core** as part of our [mission](https://zzzprojects.com/mission) to add value to the .NET community 12 | 13 | Through [Entity Framework Extensions](https://entityframework-extensions.net/?utm_source=zzzprojects&utm_medium=awesome-entity-framework-core) and [Dapper Plus](https://dapper-plus.net/?utm_source=zzzprojects&utm_medium=awesome-entity-framework-core), we actively sponsor and help key open-source libraries grow. 14 | 15 | [![Entity Framework Extensions](https://raw.githubusercontent.com/zzzprojects/awesome-entity-framework-core/master/entity-framework-extensions-sponsor.png)](https://entityframework-extensions.net/bulk-insert?utm_source=zzzprojects&utm_medium=awesome-entity-framework-core) 16 | 17 | [![Dapper Plus](https://raw.githubusercontent.com/zzzprojects/awesome-entity-framework-core/master/dapper-plus-sponsor.png)](https://dapper-plus.net/bulk-insert?utm_source=zzzprojects&utm_medium=awesome-entity-framework-core) 18 | 19 | ### Contributing 20 | 21 | Suggestions and contributions are always welcome! Make sure to read the [contribution guidelines](https://github.com/zzzprojects/awesome-entity-framework-core/blob/master/CONTRIBUTING.md) before submitting a pull request. 22 | 23 | ### Contents 24 | 25 | - [EF Core Newsletter](#ef-core-newsletter) 26 | - [Documentation and Learning](#documentation-and-learning) 27 | - [Popular Packages](#popular-packages) 28 | - [Supported Packages](#supported-packages) 29 | - [Profiler Packages](#profiler-packages) 30 | - [Provider Packages](#provider-packages) 31 | - [Unsupported Packages](#supported-packages) 32 | 33 | ## EF Core Newsletter 34 | 35 | **📬 Subscribe for Entity Framework updates that matter** – [Sign up free](https://mailchi.mp/zzzprojects/entity-framework-newsletter) and stay in the loop. 36 | 37 | - 🛠️ Real-world Entity Framework tips 38 | - 🚀 New package releases 39 | - 🎓 Dev-focused video tutorials 40 | - 🧠 Fresh articles and guides 41 | 42 | ## Documentation and Learning 43 | 44 | - [Learn Entity Framework Core ](https://www.learnentityframeworkcore.com/) - Your guide to using the latest version of Microsoft's Object Relational Mapper. 45 | - [Entity Framework Core Tutorial](https://entityframeworkcore.com/) - Learn Entity Framework Core with online examples. 46 | - [entityframeworktutorial.net](http://www.entityframeworktutorial.net/efcore/entity-framework-core.aspx) - Learn Entity Framework using simple yet practical examples on EntityFrameworkTutorial.net 47 | - [Entity Framework Core Docs](https://docs.microsoft.com/en-us/ef/core/) - Official documentation for Entity Framework by Microsoft. 48 | - [RIP Tutorial](https://riptutorial.com/entity-framework-core) - Archived Stack Overflow Documentation (Multi-Language) 49 | - AI (Chat GPT) 50 | - [ZZZ Code AI](https://zzzcode.ai/answer-question?p1=ef%20core) - Generate instant answer to any EF Core question 51 | 52 | ## Popular Packages 53 | 54 | - [Z.EntityFramework.Extensions.EFCore](https://entityframework-extensions.net/) - EF Extensions is a library that adds high performances bulk extension methods such as BulkInsert, BulkUpdate, BulkDelete, BulkMerge, and more. 55 | - [Z.EntityFramework.Plus.EFCore](https://entityframework-plus.net/) - Entity Framework Plus extends your DbContext with must-haves features: Include Filter, Auditing, Caching, Query Future, Batch Delete, Batch Update, and more 56 | - [Microsoft.EntityFrameworkCore.DynamicLinq](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.DynamicLinq/) - With this library it's possible to write Dynamic LINQ queries (string based) on an IQueryable 57 | 58 | ## Supported Packages 59 | 60 | - [Aspire.Microsoft.EntityFrameworkCore.SqlServer](https://www.nuget.org/packages/Aspire.Microsoft.EntityFrameworkCore.SqlServer/) - Registers EntityFrameworkCore DbContext service for connecting Azure SQL, MS SQL server database. Enables connection pooling, retries, health check, logging and telemetry. 61 | - [Audit.EntityFramework.Core](https://www.nuget.org/packages/Audit.EntityFramework.Core) - Automatically generates audit logs for Entity Framework operations, supporting both Entity Framework and Entity Framework Core. 62 | - [Bricelam.EntityFrameworkCore.Pluralizer](https://www.nuget.org/packages/Bricelam.EntityFrameworkCore.Pluralizer/) - Adds design-time pluralization to EF Core. 63 | - [Clave.Expressionify](https://www.nuget.org/packages/Clave.Expressionify/) - Add expressionify support to Entity Framework Core queries. 64 | - [DelegateDecompiler.EntityFramework](https://www.nuget.org/packages/DelegateDecompiler.EntityFramework/) - A library that is able to decompile a delegate or a method body to their lambda representation. 65 | - [Detached.Mappers.EntityFramework](https://www.nuget.org/packages/Detached.Mappers.EntityFramework/) - Maps Dtos directly to entities already attached to a DbContext. Solves disconnected entities, partial updates and automapping in a single step. 66 | - [EFCore.NamingConventions](https://www.nuget.org/packages/EFCore.NamingConventions/) - Naming Conventions for Entity Framework Core Tables and Columns. 67 | - [EfCoreNexus.Framework](https://www.nuget.org/packages/EfCoreNexus.Framework/) - Integrate the entity framework core into your blazor app with ease and less code. 68 | - [EFCoreSecondLevelCacheInterceptor](https://www.nuget.org/packages/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. 69 | - [EfLocalDb](https://www.nuget.org/packages/EfLocalDb/) - Provides a wrapper around the LocalDB to simplify running tests that require Entity Framework. 70 | - [EntityCloner.Microsoft.EntityFrameworkCore](https://www.nuget.org/packages/EntityCloner.Microsoft.EntityFrameworkCore/) - Cloning entities using EntityFrameworkCore configuration. 71 | - [EntityFrameworkCore.AuditInterceptor](https://www.nuget.org/packages/EntityFrameworkCore.AuditInterceptor/) - EntityFrameworkCore.AuditInterceptor is a .NET library designed to provide seamless auditing capabilities for Entity Framework Core. 72 | - [EntityFrameworkCore.ConfigurationManager](https://www.nuget.org/packages/EntityFrameworkCore.ConfigurationManager/) - Extends EF Core to resolve connection strings from App.config. 73 | - [EntityFrameworkCore.Exceptions.MySQL.Pomelo](https://www.nuget.org/packages/EntityFrameworkCore.Exceptions.MySQL.Pomelo/) - Handle database errors easily when working with Entity Framework Core. Supports SQLServer, PostgreSQL, SQLite, Oracle and MySql 74 | - [EntityFrameworkCore.Exceptions.MySQL](https://www.nuget.org/packages/EntityFrameworkCore.Exceptions.MySQL/) - Handle database errors easily when working with Entity Framework Core. Supports SQLServer, PostgreSQL, SQLite, Oracle and MySql 75 | - [EntityFrameworkCore.Exceptions.Oracle](https://www.nuget.org/packages/EntityFrameworkCore.Exceptions.Oracle/) - Handle database errors easily when working with Entity Framework Core. Supports SQLServer, PostgreSQL, SQLite, Oracle and MySql 76 | - [EntityFrameworkCore.Exceptions.PostgreSQL](https://www.nuget.org/packages/EntityFrameworkCore.Exceptions.PostgreSQL/) - Handle database errors easily when working with Entity Framework Core. Supports SQLServer, PostgreSQL, SQLite, Oracle and MySql 77 | - [EntityFrameworkCore.Exceptions.Sqlite](https://www.nuget.org/packages/EntityFrameworkCore.Exceptions.Sqlite/) - Handle database errors easily when working with Entity Framework Core. Supports SQLServer, PostgreSQL, SQLite, Oracle and MySql 78 | - [EntityFrameworkCore.Exceptions.SqlServer](https://www.nuget.org/packages/EntityFrameworkCore.Exceptions.SqlServer/) - Handle database errors easily when working with Entity Framework Core. Supports SQLServer, PostgreSQL, SQLite, Oracle and MySql 79 | - [EntityFrameworkCore.Projectables](https://www.nuget.org/packages/EntityFrameworkCore.Projectables/) - Flexible projection magic for EF Core. 80 | - [EntityFrameworkCore.Scaffolding.Handlebars](https://www.nuget.org/packages/EntityFrameworkCore.Scaffolding.Handlebars/) - Uses Handlebars.NET to compile Handlebars templates when generating models with the Entity Framework Core scaffolding tools. 81 | - [EntityFrameworkCore.Sqlite.NodaTime](https://www.nuget.org/packages/EntityFrameworkCore.Sqlite.NodaTime/) - Adds support for NodaTime types when using SQLite with Entity Framework Core. 82 | - [EntityFrameworkCore.Testing.NSubstitute](https://www.nuget.org/packages/EntityFrameworkCore.Testing.NSubstitute/) - Adds relational support to the Microsoft EntityFrameworkCore in-memory database provider by mocking relational operations. 83 | - [EntityFrameworkCore.Triggers](https://www.nuget.org/packages/EntityFrameworkCore.Triggers/) - Supports events for entity inserting, inserted, updating, updated, deleting, and deleted. Also events on insert failure, update failure, and delete failure. 84 | - [EntityFrameworkCore.VisualBasic](https://www.nuget.org/packages/EntityFrameworkCore.VisualBasic/) - Adds VB design-time support to EF Core. 85 | - [EntityFrameworkExtras.EFCore](https://www.nuget.org/packages/EntityFrameworkExtras.EFCore/) - EntityFrameworkExtras.EFCore provides some useful additions to EntityFramework such as executing Stored Procedures with User-Defined Table Types and Output Parameters. 86 | - [EntityFrameworkRuler.Design](https://www.nuget.org/packages/EntityFrameworkRuler.Design/) - This is a design-time library that interacts with EF Core's reverse engineer (scaffolding) process. 87 | - [ErikEJ.EFCorePowerTools.Cli](https://www.nuget.org/packages/ErikEJ.EFCorePowerTools.Cli/) - Cross platform command line tool for advanced EF Core reverse engineering. 88 | - [ErikEJ.EntityFrameworkCore.DgmlBuilder](https://www.nuget.org/packages/ErikEJ.EntityFrameworkCore.DgmlBuilder/) - Generate DGML (Graph) content that visualizes your DbContext. Adds the AsDgml() extension method to the DbContext class. Also has AsSqlScript() extension method to generate a SQL script for your current model. 89 | - [ErikEJ.EntityFrameworkCore.SqlServer.Dacpac](https://www.nuget.org/packages/ErikEJ.EntityFrameworkCore.SqlServer.Dacpac/) - Reverse engineer a SQL Server .dacpac with the EF Core tooling. 90 | - [Laraue.EfCoreTriggers.Common](https://www.nuget.org/packages/Laraue.EfCoreTriggers.Common/) - EfCoreTriggers is the library to write native SQL triggers using EFCore model builder. Triggers are automatically translating into sql and adding to migrations. 91 | - [LinqKit.Microsoft.EntityFrameworkCore](https://www.nuget.org/packages/LinqKit.Microsoft.EntityFrameworkCore/) - LinqKit.Microsoft.EntityFrameworkCore contains extensions for LINQ to SQL and EntityFrameworkCore. With Include(...) and IDbAsync support. 92 | - [LLL.AutoCompute.EFCore](https://www.nuget.org/packages/LLL.AutoCompute.EFCore/) - Auto updated computed properties for EF Core. 93 | - [MassTransit.EntityFrameworkCore](https://www.nuget.org/packages/MassTransit.EntityFrameworkCore/) - MassTransit provides a developer-focused, modern platform for creating distributed applications without complexity. 94 | - [MockQueryable.EntityFrameworkCore](https://www.nuget.org/packages/MockQueryable.EntityFrameworkCore/) - Extensions for mocking Entity Framework Core (EFCore) operations such ToListAsync, FirstOrDefaultAsync etc. by Moq, NSubstitute or FakeItEasy. 95 | - [Moq.EntityFrameworkCore](https://www.nuget.org/packages/Moq.EntityFrameworkCore/) - This library helps you mocking EntityFramework contexts. Now you will be able to test methods that are using DbSet or DbQuery from DbContext in an effective way. 96 | - [NeinLinq.EntityFrameworkCore](https://www.nuget.org/packages/NeinLinq.EntityFrameworkCore/) - NeinLinq provides helpful extensions for using LINQ providers such as Entity Framework that support only a minor subset of .NET functions, reusing functions, rewriting queries, even making them null-safe, and building dynamic queries using translatable predicates and selectors. 97 | - [Npgsql.EntityFrameworkCore.PostgreSQL](https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL/) - Npgsql.EntityFrameworkCore.PostgreSQL is the open source EF Core provider for PostgreSQL. 98 | - [Pagination.EntityFrameworkCore.Extensions](https://www.nuget.org/packages/Pagination.EntityFrameworkCore.Extensions/) - This is a library for List Pagination on Dotnet. Works well with Entity Framework as an extension. 99 | - [SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime](https://www.nuget.org/packages/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime/) - Adds native support to EntityFrameworkCore for SQL Server for the NodaTime types. 100 | - [Toolbelt.EntityFrameworkCore.IndexAttribute](https://www.nuget.org/packages/Toolbelt.EntityFrameworkCore.IndexAttribute/) - The [IndexColumn] attribute that is the revival of [Index] attribute for EF Core. (with extension for model building.) 101 | - [Verify.EntityFramework](https://www.nuget.org/packages/Verify.EntityFramework/) - Extends Verify to allow snapshot testing with EntityFramework. 102 | - [Zomp.EFCore.WindowFunctions.SqlServer](https://www.nuget.org/packages/Zomp.EFCore.WindowFunctions.SqlServer/) - Window functions for SQL Server database provider for Entity Framework Core. 103 | 104 | ## Profiler Packages 105 | - [Hibernating Rhinos Entity Framework Profiler](https://hibernatingrhinos.com/products/efprof) - Entity Framework Profiler is a real-time visual debugger allowing a development team to gain valuable insight and perspective into their usage of Entity Framework. 106 | - [MiniProfiler.EntityFrameworkCore](https://miniprofiler.com) - A simple but effective mini-profiler for .NET, Ruby, Go and Node.js. 107 | - [EFCore.Visualizer](https://marketplace.visualstudio.com/items?itemName=GiorgiDalakishvili.EFCoreVisualizer) - View Entity Framework Core query plan directly in Visual Studio. 108 | 109 | ## Providers 110 | 111 | - [Microsoft.EntityFrameworkCore.SqlServer](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.SqlServer/) - Microsoft.EntityFrameworkCore.SqlServer is the EF Core database provider package for Microsoft SQL Server and Azure SQL. 112 | - [Microsoft.EntityFrameworkCore.Sqlite](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/) - Microsoft.EntityFrameworkCore.Sqlite is the EF Core database provider package for SQLite. 113 | - [Microsoft.EntityFrameworkCore.InMemory](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/) - Microsoft.EntityFrameworkCore.InMemory is the EF Core database provider package for the built-in in-memory database. 114 | - [EntityFrameworkCore.Jet](https://www.nuget.org/packages/EntityFrameworkCore.Jet/) - Jet/ACE database provider for Entity Framework Core (Microsoft Access MDB/ACCDB files). 115 | - [FirebirdSql.EntityFrameworkCore.Firebird](https://www.nuget.org/packages/FirebirdSql.EntityFrameworkCore.Firebird/) - The Entity Framework Core provider for Firebird enables you to develop .NET applications that connect to the Firebird database using Entity Framework Core. 116 | - [IBM.EntityFrameworkCore](https://www.nuget.org/packages/IBM.EntityFrameworkCore) - IBM.EntityFrameworkCore is a NuGet package that serves as the IBM Data Server provider for Entity Framework Core, enabling .NET applications to interact seamlessly with IBM database servers. 117 | - [MySql.EntityFrameworkCore](https://www.nuget.org/packages/MySql.EntityFrameworkCore/) - MySQL provides connectivity for client applications developed in .NET compatible programming languages with MySQL Connector/NET through a series of packages. 118 | - [Npgsql.EntityFrameworkCore.PostgreSQL](https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL/) - Npgsql.EntityFrameworkCore.PostgreSQL is the open source EF Core provider for PostgreSQL. It allows you to interact with PostgreSQL via the most widely-used .NET O/RM from Microsoft, and use familiar LINQ syntax to express queries. It's built on top of Npgsql. 119 | - [Pomelo.EntityFrameworkCore.MySql](https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/) - omelo.EntityFrameworkCore.MySql is the Entity Framework Core (EF Core) provider for MySQL, MariaDB, Amazon Aurora, Azure Database for MySQL and other MySQL-compatible databases. 120 | - [Devart.Data.MySql.EFCore](https://www.nuget.org/packages/Devart.Data.MySql.EFCore/) - dotConnect for MySQL is a high-performance ORM enabled data provider for MySQL 8.0+ including Embedded servers (starting with 4.1), MariaDB, Amazon RDS, Amazon Aurora, Azure MySQL, Percona that builds on ADO.NET technology. 121 | - [Devart.Data.Oracle.EFCore](https://www.nuget.org/packages/Devart.Data.Oracle.EFCore/) - dotConnect for Oracle is a high-performance ORM enabled data provider for Oracle and Oracle Cloud (DBaaS) that builds on ADO.NET technology. 122 | - [Devart.Data.PostgreSql.EFCore](https://www.nuget.org/packages/Devart.Data.PostgreSql.EFCore/) - dotConnect for PostgreSQL is a high-performance ORM enabled data provider for PostgreSQL that builds on ADO.NET technology. 123 | - [Devart.Data.SQLite.EFCore](https://www.nuget.org/packages/Devart.Data.SQLite.EFCore/) - dotConnect for SQLite is a high-performance ORM enabled data provider for SQLite that builds on ADO.NET technology. 124 | 125 | ## Unsupported Packages 126 | 127 | _We no longer list unsupported packages. There are too many!_ 128 | 129 | ## More Projects 130 | 131 | - Projects: 132 | - [EntityFramework Extensions](https://entityframework-extensions.net/) 133 | - [Dapper Plus](https://dapper-plus.net/) 134 | - [C# Eval Expression](https://eval-expression.net/) 135 | - Learn Websites 136 | - [Learn EF Core](https://www.learnentityframeworkcore.com/) 137 | - [Learn Dapper](https://www.learndapper.com/) 138 | - Online Tools: 139 | - [.NET Fiddle](https://dotnetfiddle.net/) 140 | - [SQL Fiddle](https://sqlfiddle.com/) 141 | - [ZZZ Code AI](https://zzzcode.ai/) 142 | - and much more! 143 | 144 | To view all our free and paid projects, visit our website [ZZZ Projects](https://zzzprojects.com/). 145 | --------------------------------------------------------------------------------