EFBox 3.4.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package EFBox --version 3.4.1                
NuGet\Install-Package EFBox -Version 3.4.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EFBox" Version="3.4.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EFBox --version 3.4.1                
#r "nuget: EFBox, 3.4.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install EFBox as a Cake Addin
#addin nuget:?package=EFBox&version=3.4.1

// Install EFBox as a Cake Tool
#tool nuget:?package=EFBox&version=3.4.1                

Entity Framework Box

Bridging ETLBox and Entity Framework with seamless DbContext extensions for efficient bulk operations. Giving Entity Framework the Bulk Operations it's been Missing!

What you get with EFBox

Entity Framework Extensions enriches your DbContext with robust bulk operations. Now effortlessly handle bulk insert, bulk update, bulk delete, and bulk merge, streamlining your data management journey!

Performance Boost

By extending your DbContext with bulk operations, EFBox brings a notable performance improvement to your Entity Framework operations, ensuring smooth and rapid data processing.

Write faster

The bulk insert, update, delete operations are engineered to handle vast amounts of data, allowing you to insert numerous records swiftly and efficiently.

Sync data (fast)

With bulk merge, effortlessly synchronize your data, ensuring your datasets remain updated and consistent across the board.

Free to Use

EFBox is free of charge for the most common databases, opening up a realm of robust data management functionalities without any financial commitments.

Supports your database

EFBox offers support to the most common used databases (SqlServer, MySql, and Postgres), encompassing all versions to provide a versatile platform for your bulk operations needs..

ETLBox Foundation

At its core, EFBox is built upon the robust and reliable framework of ETLBox, inheriting its well-structured architecture for efficient data processing and management.

Turbocharge Your Data Operations with EFBox

Step up your game with EFBox's BulkInsert operation, making data inserts at least 10 times faster compared to the usual SaveChanges() in Entity Framework.

The secret? EF Box smartly batches your data, significantly reducing the number of roundtrips between your application and the database.

But that's not all! EFBox speeds up updates and deletes too. With BulkMerge(), EFBox figures out if the data needs to be inserted, updated, or deleted, and does that for you, fast.

Effortless Data Insertion with BulkInsert
// Initiating a new database context
using (var db = new Context()) {
   // Crafting a collection of demo data
   var data = CreateDemoDataCollection();
   // Employing BulkInsert to swiftly add the data to the database
   db.BulkInsert(data);
}

In this snippet, we create a database context and demo data, then use BulkInsert() to quickly add all data to the database. Simple and fast!

Swift Data Modification with BulkUpdate
// Initiating a new database context
using (var db = new Context()) {
   // Crafting a collection of demo data for update
   var data = UpdateDemoDataCollection();
   // Employing BulkUpdate to swiftly modify the data in the database
   db.BulkUpdate(data);
}

Here,we create a database context and demo data, then use BulkUpdate() to quickly update the dataset. Fast and simple!

Streamlined Data Removal with BulkDelete()
// Initiating a new database context
using (var db = new Context()) {
   // Preparing a collection of demo data for deletion
   var dataToDelete = DeleteDemoDataCollection();
   // Using BulkDelete to swiftly remove the data from the database
   db.BulkDelete(dataToDelete);
}

Here we create a database context and demo data for deletion, then use BulkDelete() to efficiently remove the specified records from the database. Quick and clean!

One-Step Data Sync with BulkMerge
// Initiating a new database context
using (var db = new Context()) {
   // Crafting collections of demo data for insert and update
   var dataToInsert = InsertDemoDataCollection();
   var dataToUpdate = UpdateDemoDataCollection();

   // Merging both data collections into one
   var mergedData = dataToInsert.Union(dataToUpdate);

   // Employing BulkMerge to handle insert, update, and delete operations seamlessly
   db.BulkMerge(mergedData, options => options.MergeMode = MergeMode.Full);
}

Now we employ BulkMerge() with MergeMode set to Full. This way, EFBox smartly handles not only the insertion and updating of data but also identifies and deletes any obsolete records, all in one swift operation. Your data sync tasks just got a whole lot easier and faster!

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on EFBox:

Package Downloads
EFBox.SqlServer

Extend your Entity Framework's DbContext with extremely fast Bulk Operations for SQLServer.

EFBox.Postgres

Extend your Entity Framework's DbContext with extremely fast Bulk Operations for Postgres.

EFBox.MySql

Extend your Entity Framework's DbContext with extremely fast Bulk Operations for MySql.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.5.1 86 11/15/2024
3.5.0 107 10/14/2024
3.4.4 114 9/30/2024
3.4.3 119 9/12/2024
3.4.2 129 9/3/2024
3.4.1 134 7/15/2024
3.4.0 122 5/29/2024
3.3.0 163 3/14/2024
3.2.0 506 1/11/2024
3.1.0 524 11/24/2023
3.0.2 231 10/6/2023