All Projects → zzzprojects → Entityframework Extensions

zzzprojects / Entityframework Extensions

Entity Framework Bulk Operations | Improve Entity Framework performance with Bulk SaveChanges, Insert, update, delete and merge for SQL Server, SQL Azure, SQL Compact, MySQL and SQLite.

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Entityframework Extensions

Entityframeworkcore.cacheable
EntityFrameworkCore second level cache
Stars: ✭ 138 (-35.81%)
Mutual labels:  entity-framework, database, dotnet-standard, dotnet-core
Efcore
EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.
Stars: ✭ 10,838 (+4940.93%)
Mutual labels:  entity-framework, database, dotnet-standard, dotnet-core
Etl.net
Mass processing data with a complete ETL for .net developers
Stars: ✭ 129 (-40%)
Mutual labels:  entity-framework, dotnet-standard, dotnet-core
Pomelo.entityframeworkcore.mysql
Entity Framework Core provider for MySQL and MariaDB built on top of MySqlConnector
Stars: ✭ 2,099 (+876.28%)
Mutual labels:  entity-framework, database, dotnet-core
Devicemanager.api
Web API Framework demonstrates scalable, multitenant, architecture and allows building its own solution in the minutes. Uses: Entity Framework, UnitOfWork, Repository patterns. Wrapped in Docker, Kubernetes
Stars: ✭ 168 (-21.86%)
Mutual labels:  entity-framework, database, dotnet-core
Mockqueryable
Moking Entity Framework Core operations such ToListAsync, FirstOrDefaultAsync etc
Stars: ✭ 281 (+30.7%)
Mutual labels:  entity-framework, dotnet-standard, dotnet-core
Tracker Enabled Dbcontext
Tracker-enabled DbContext offers you to implement full auditing in your database
Stars: ✭ 210 (-2.33%)
Mutual labels:  entity-framework, database
Spark
.NET for Apache® Spark™ makes Apache Spark™ easily accessible to .NET developers.
Stars: ✭ 1,721 (+700.47%)
Mutual labels:  dotnet-standard, dotnet-core
Dotnetlabs
.NET Labs -- Show Me the Tips and Tricks and Code
Stars: ✭ 135 (-37.21%)
Mutual labels:  entity-framework, dotnet-core
Sio.core
✔ [ SIOC ] Swastika I/O Core is an all in one platform (e.g CMS, eCommerce, Forum, Q&A, CRM...) ASP.NET Core / Dotnet Core System based on SIOH Framework.
Stars: ✭ 121 (-43.72%)
Mutual labels:  dotnet-standard, dotnet-core
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+823.72%)
Mutual labels:  dotnet-standard, dotnet-core
Dotnet Etcd
A C# .NET (dotnet) GRPC client for etcd v3 +
Stars: ✭ 157 (-26.98%)
Mutual labels:  dotnet-standard, dotnet-core
Frapper
ASP.NET Core 3.1 Beginners project template with complete Custom User Management and lot's of other useful Features Which Helps you for Rapid Application Development.
Stars: ✭ 129 (-40%)
Mutual labels:  entity-framework, database
Wopihost
ASP.NET Core MVC implementation of the WOPI protocol. Enables integration with WOPI clients such as Office Online Server.
Stars: ✭ 132 (-38.6%)
Mutual labels:  dotnet-standard, dotnet-core
Colore
A powerful C# library for Razer Chroma's SDK
Stars: ✭ 121 (-43.72%)
Mutual labels:  dotnet-standard, dotnet-core
Json Flatfile Datastore
Simple JSON flat file data store with support for typed and dynamic data.
Stars: ✭ 212 (-1.4%)
Mutual labels:  database, dotnet-core
Linq2db.entityframeworkcore
Bring power of Linq To DB to Entity Framework Core projects
Stars: ✭ 166 (-22.79%)
Mutual labels:  entity-framework, dotnet-core
Reinforced.tecture
Aspect-based architectural framework for .NET business applications involving some FP and CQRS principles.
Stars: ✭ 113 (-47.44%)
Mutual labels:  database, dotnet-core
Rafty
Implementation of RAFT consensus in .NET core
Stars: ✭ 182 (-15.35%)
Mutual labels:  dotnet-standard, dotnet-core
Command Line Api
Command line parsing, invocation, and rendering of terminal output.
Stars: ✭ 2,418 (+1024.65%)
Mutual labels:  dotnet-standard, dotnet-core

What's Entity Framework Extensions?

Entity Framework Extensions is a library that dramatically improves EF performances by using bulk and batch operations.

People using this library often report performance enhancement by 50x times and more!

Improve Entity Framework performance with Bulk SaveChanges and Bulk Operations

Solve Entity Framework performance issue when saving with high performance bulk operations and hundreds of flexibles feature.

  • BulkSaveChanges
  • BulkInsert
  • BulkUpdate
  • BulkDelete
  • BulkMerge
  • DeleteFromQuery
  • UpdateFromQuery
var context = new CustomerContext();
// ... context code ...

// Easy to use
context.BulkSaveChanges();

// Easy to customize
context.BulkSaveChanges(operation => operation.BatchSize = 1000);
// Perform specific bulk operations
context.BulkDelete(customers);
context.BulkInsert(customers);
context.BulkUpdate(customers);

// Customize Primary Key
context.BulkMerge(customers, operation => {
   operation.ColumnPrimaryKeyExpression = customer => customer.Code;
});
Scalable

SQL Server - Benchmarks

Operations 100 Rows 1,000 Rows 10,000 Rows
BulkSaveChanges 20 ms 200 ms 2,000 ms
BulkInsert 2 ms 6 ms 25 ms
BulkUpdate 27 ms 50 ms 80 ms
BulkDelete 25 ms 45 ms 70 ms
BulkMerge 30 ms 65 ms 160 ms
Extensible

Support Multiple SQL Providers:

  • SQL Server 2008+
  • SQL Azure
  • SQL Compact
  • MySQL
  • SQLite
  • PostgreSQL
  • Oracle

Download

Entity Framework Core (EF Core)

download

PM> Install-Package Z.EntityFramework.Extensions.EFCore

Entity Framework 6 (EF6)

download

PM> Install-Package Z.EntityFramework.Extensions

Entity Framework 5 (EF5)

download

PM> Install-Package Z.EntityFramework.Extensions.EF5

* PRO Version unlocked for the current month

Stay updated with the latest changes:

Twitter Follow Facebook Like

BulkSaveChanges

Problem

You need to save hundreds or thousands of entities, but you are not satisfied with Entity Framework performance.

Solution

BulkSaveChanges is exactly like SaveChanges but performs way faster. It’s easy to use, you only need to replace “SaveChanges” by “BulkSaveChanges”, and you are done!

// Upgrade SaveChanges performance with BulkSaveChanges
var context = new CustomerContext();
// ... context code ...

// Easy to use
context.BulkSaveChanges();

// Easy to customize
context.BulkSaveChanges(operation => operation.BatchSize = 1000);
Scalability

BulkSaveChanges is as fast as SaveChanges with one entity and quickly become 10-50x faster with hundreds and thousands of entities.

Bulk Operations

Problem

You need even more performance than BulkSaveChanges, save detached entities or save entities in a specific order.

Solution

Use bulk operations such as bulk insert, update, delete and merge which perform operations on specified entities and bypass the change tracker to increase performance.

// Perform specific bulk operations on entities
context.BulkDelete(customers);
context.BulkInsert(customers);
context.BulkUpdate(customers);
context.BulkMerge(customers);
Maintainability

Bulk Operation uses directly the Entity Framework Model. Even if you change column name or change inheritance (TPC, TPH, TPT), Bulk operation will continue to work as expected.

Custom Key

Problem

You need to perform an update, delete, or merge using a specific custom key like the custom code.

Solution

Specify your own key by customizing the operation.

// Use flexible features such as specifying the primary key
context.BulkMerge(customers, operation => {
   operation.ColumnPrimaryKeyExpression = customer => customer.Code;
});
Flexibility

Bulk operations offer hundreds of customization such as BatchSize, Custom Key, Custom Mapping, etc.

PRO Version

PRO Version unlocked for the current month

Features PRO Version
Bulk SaveChanges Yes
Bulk Insert Yes
Bulk Update Yes
Bulk Delete Yes
Bulk Merge Yes
DeleteFromQuery Yes
UpdateFromQuery Yes
Commercial License Yes
Royalty-Free Yes
Support & Upgrades (1 year) Yes
Learn more about the PRO Version

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Fork it
  • Star it
  • Share it

A HUGE THANKS for your help.

More Projects

Contact our outstanding customer support for any request. We usually answer within the next business day, hour, or minutes!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].