LokiBulkDataProcessor 6.0.0
See the version list below for details.
dotnet add package LokiBulkDataProcessor --version 6.0.0
NuGet\Install-Package LokiBulkDataProcessor -Version 6.0.0
<PackageReference Include="LokiBulkDataProcessor" Version="6.0.0" />
<PackageVersion Include="LokiBulkDataProcessor" Version="6.0.0" />
<PackageReference Include="LokiBulkDataProcessor" />
paket add LokiBulkDataProcessor --version 6.0.0
#r "nuget: LokiBulkDataProcessor, 6.0.0"
#:package LokiBulkDataProcessor@6.0.0
#addin nuget:?package=LokiBulkDataProcessor&version=6.0.0
#tool nuget:?package=LokiBulkDataProcessor&version=6.0.0
โก Loki Bulk Data Processor
The Loki Bulk Data Processor is a fast, efficient .NET library for bulk data inserts into SQL Server using SqlBulkCopy
. Designed for ASP.NET Core, it supports:
IEnumerable<T>
modelsDataTable
IDataReader
(v6.0.0+)JSON streams
(v6.0.0+)Structured logging and mapping support
(v6.0.0+)
Perfect for high-throughput ETL pipelines and real-time ingestion scenarios.
๐ Install
dotnet add package LokiBulkDataProcessor
โก Performance
Benchmark: 100,000 records inserted into an empty SQL Server table with 4 columns (1 primary key, 1 foreign key), on a 2.7GHz i7, 16โฏGB RAM, SSD.
Method | Time Taken | Memory Usage |
---|---|---|
Loki Bulk Processor | 2.99 seconds | 266 MB |
Entity Framework Core | 68.74 seconds | 1 GB+ |
Inserted 100,000 records into an empty table with 1 PK and 1 FK column.
โ ๏ธ Entity Framework was used with
AddAsync
andSaveChangesAsync
. Loki used a single bulk insert call.
๐ Documentation
Everything you need to get started:
- ๐ Full Documentation (Wiki)
- ๐บ YouTube Tutorial โ Part 1 โ Introduction & Setup
- ๐บ YouTube Tutorial โ Part 2 โ Advanced Usage & Mapping
- ๐งช Example Projects on GitHub
๐ Support
If this library saved you time or made your life easier, consider showing your support:
- โ Buy me a coffee
- โญ Star the GitHub repo to help others discover it
- ๐ฃ๏ธ Share your experience or contribute feedback via issues
Every bit helps keep the project going ๐
Product | Versions 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- FastMember (>= 1.5.0)
- Microsoft.Extensions.DependencyInjection (>= 8.0.1)
- Microsoft.Extensions.Logging (>= 8.0.1)
- Microsoft.Extensions.Logging.Console (>= 8.0.1)
- System.Data.SqlClient (>= 4.8.6)
- Testcontainers.MsSql (>= 4.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
1. Added new SaveAsync methods to support IDataReaders and JsonStreams.
2. Added structured logging.
Breaking change: Renamed DataTableMapping class to DataMapping.