LokiBulkDataProcessor 4.0.1
dotnet add package LokiBulkDataProcessor --version 4.0.1
NuGet\Install-Package LokiBulkDataProcessor -Version 4.0.1
<PackageReference Include="LokiBulkDataProcessor" Version="4.0.1" />
paket add LokiBulkDataProcessor --version 4.0.1
#r "nuget: LokiBulkDataProcessor, 4.0.1"
// 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:
- Part 1: https://youtu.be/vci6kQWcmhs
- Part 2: https://youtu.be/2ABIrl_nwMk
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 | Versions 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. |
-
net6.0
- FastMember (>= 1.5.0)
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- System.Data.SqlClient (>= 4.8.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Upgraded System.Data.SqlClient to V4.8.6 due to a recent security patch in that package.