LokiBulkDataProcessor 4.0.1

dotnet add package LokiBulkDataProcessor --version 4.0.1                
NuGet\Install-Package LokiBulkDataProcessor -Version 4.0.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="LokiBulkDataProcessor" Version="4.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LokiBulkDataProcessor --version 4.0.1                
#r "nuget: LokiBulkDataProcessor, 4.0.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 LokiBulkDataProcessor as a Cake Addin
#addin nuget:?package=LokiBulkDataProcessor&version=4.0.1

// Install LokiBulkDataProcessor as a Cake Tool
#tool nuget:?package=LokiBulkDataProcessor&version=4.0.1                

Loki Bulk Data Processor

The Loki Bulk Data Processor is fast and simple Asp.Net Core library which processes data in bulk in SQL Server. It uses the SQL Bulk Copy class under the hood, and can process data model collections or data tables.

The package can be downloaded on Nuget by running the following command:

Install-Package LokiBulkDataProcessor -Version 3.0.0

Or by searching for "Loki Bulk Data Processor" in the "Manage Nuget Packages for Solution" window.

Performance Compared to Entity Framework

The following performance benchmarks were recorded against a laptop with an I7-4800MQ 2.70 Ghz CPU, 16 GB of RAM and a 256GB solid state hard drive.

Bulk Data Processor

<table> <thead> <tr> <th>Records Saved</th> <th>Time Taken</th> <th>RAM Consumed</th> </tr> </thead> <tbody> <td>100,000</td> <td>2.99 seconds</td> <td>266MB</td> </tbody> </table>

Entity Framework

<table> <thead> <tr> <th>Records Saved</th> <th>Time Taken</th> <th>RAM Consumed</th> </tr> </thead> <tbody> <td>100,000</td> <td>68.743 seconds</td> <td>1GB+</td> </tbody> </table>

Note: Both results were recorded against an empty database, inserting records into a database table with 4 columns, which included 1 primary key and 1 foreign key.

Documentation

The documentation for the library can be found in the Wiki:

https://github.com/stephen-rebner/loki-bulk-data-processor/wiki

A 2 part tutorial has also been uploaded to YouTube:

Code Examples

There are also code examples in the following Git Hub repository:

https://github.com/stephen-rebner/loki-bulk-data-processor-examples

Donations

If you have found this project helpful, please consider making a donation at the link below:

https://www.paypal.com/paypalme2/StephenRebner?locale.x=en_GB

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.1 132 2/15/2024
4.0.0 397 11/5/2022
3.5.1 464 9/30/2020
3.5.0 435 6/21/2020
3.0.0 473 4/7/2020
2.0.3 443 3/8/2020
2.0.1 582 3/8/2020
2.0.0 589 3/8/2020
1.0.2 764 2/8/2020 1.0.2 is deprecated because it has critical bugs.

Upgraded System.Data.SqlClient to V4.8.6 due to a recent security patch in that package.