![]() |
VOOZH | about |
dotnet add package ETLBox.Analysis --version 3.9.0
NuGet\Install-Package ETLBox.Analysis -Version 3.9.0
<PackageReference Include="ETLBox.Analysis" Version="3.9.0" />
<PackageVersion Include="ETLBox.Analysis" Version="3.9.0" />Directory.Packages.props
<PackageReference Include="ETLBox.Analysis" />Project file
paket add ETLBox.Analysis --version 3.9.0
#r "nuget: ETLBox.Analysis, 3.9.0"
#:package ETLBox.Analysis@3.9.0
#addin nuget:?package=ETLBox.Analysis&version=3.9.0Install as a Cake Addin
#tool nuget:?package=ETLBox.Analysis&version=3.9.0Install as a Cake Tool
Get Started | Overview | Code Examples | Licensing | Free Trial
ETLBox is a complete ETL (Extract, Transform, Load) library and data integration toolbox for .NET. It helps you create and manage data integration pipelines to extract data from different sources, transform it into the format you need, and load it into databases, APIs, or files. Whether you're migrating data, synchronizing systems, or automating workflows, ETLBox provides the components to handle these tasks efficiently.
ETLBox is a flexible alternative to traditional ETL tools like SQL Server Integration Services (SSIS) or Azure Data Factory. Unlike those tools, ETLBox does not rely on a graphical user interface, making it ideal for developers who prefer programmatic control. It supports parallel execution and streaming, allowing efficient processing of large data with minimal memory usage.
ETLBox lets you build data pipelines that process structured and unstructured data from various sources, including databases, APIs, and flat files. It automates tasks like data transformation, validation, and cleaning, and supports bulk inserts, updates, and deletes. With its ability to handle streaming data and parallel workflows, ETLBox delivers performance and flexibility for modern data integration tasks. Developers can rely on built-in connectors or extend the library to fit custom requirements.
Example 1: Bulk Insert into SQL Database
string connString =
@"Source=.;Trusted_Connection=true;Initial Catalog=ETLBox;"
var destCon = new SqlConnectionManager(connString);
//Create the dataflow components
var source = new CsvSource(sourceCon, "SourceData.csv");
var dest = new DbDestination(destCon, "DestinationTable");
//Default mapping: Csv header and column name match (case-sensitive)
//Override mapping like this:
dest.ColumnMapping = new[] {
new DbColumnMap() {
DbColumnName = "Id", PropertyName = "OrderNumber"
}
};
//Link the source and destination, run the dataflow
source.LinkTo(dest);
await Network.ExecuteAsnyc(source);
Example 2: Migrate Between Databases
string mySqlConnString =
@"Server=localhost;Database=ETLBox;Uid=user;Pwd=password;";
string postgresConnString =
@"Server=.;Initial Catalog=ETLBox;Trusted_Connection=true;";
var sourceCon = new MySqlConnectionManager(mySqlConnString);
var destCon = new PostgresConnectionManager(postgresConnString);
//Create the dataflow components
var source = new DbSource(sourceCon, "SourceTableName");
var dest = new DbDestination(destCon, "DestTableName");
//Link the source and destination, run the dataflow
source.LinkTo(dest);
await Network.ExecuteAsync(source);
Example 3: Merge Data Between Tables
public class MyMergeRow : MergeableRow
{
[IdColumn]
public long Key { get; set; }
[CompareColumn]
[UpdateColumn]
public string Value { get; set; }
[DeleteColumn(true)]
public bool DeleteThisRow { get; set; }
}
//Create the dataflow components
DbSource<MyMergeRow> source = new (connection, "SourceTable");
DbMerge<MyMergeRow> mergeDest = new (connection, "DestinationTable");
merge.MergeMode = MergeMode.Full;
merge.CacheMode = CacheMode.Partial;
//Link the source and destination, run the dataflow
source.LinkTo(merge);
Network.Execute(source);
For our full list of code examples, tutorials, licensing information, and documentation visit: www.etlbox.net
For more support and inquiries, please email us at: support@etlbox.net
Ready to build your ETL pipelines? Start now at www.etlbox.net.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 was computed. |
| .NET Framework | net461 net461 was computed. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.9.0 | 103 | 5/12/2026 |
| 3.8.0 | 143 | 2/24/2026 |
| 3.7.3 | 26,813 | 11/9/2025 |
| 3.7.2 | 6,571 | 10/16/2025 |
| 3.7.1 | 26,856 | 7/8/2025 |
| 3.7.0 | 34,882 | 3/7/2025 |
| 3.6.1 | 18,280 | 1/6/2025 |
| 3.6.0 | 262 | 1/6/2025 |
| 3.5.2 | 3,078 | 12/20/2024 |
| 3.5.1 | 203 | 11/15/2024 |
| 3.5.0 | 253 | 10/14/2024 |
| 3.4.4 | 208 | 9/30/2024 |
| 3.4.3 | 238 | 9/12/2024 |
| 3.4.2 | 208 | 9/3/2024 |
| 3.4.1 | 235 | 7/15/2024 |
| 3.4.0 | 234 | 5/29/2024 |
| 3.3.0 | 309 | 3/14/2024 |
We are constantly improving ETLBox - adding new features, fixing bugs, and enhancing performance to make data integration even easier.
For the latest updates and detailed release notes, visit: https://www.etlbox.net/release-notes/