.NET ETL Cross-platform Library – actionETL

Cross-platform .NET ETL library combining the best of the ETL mindset with the tools & techniques of modern application development

Code-First ETL

actionETL worker hierarchy

actionETL runs cross-platform on Linux and Windows, using .NET Framework 4.6.2+, .NET Standard 2.0+, and .NET 6+.

Use it with C#, Visual Basic, F#, etc.

Dedicated MariaDB, MySQL, PostgreSQL®, SQLite, and SQL Server®  database providers, as well as ODBC for other SQL and NoSQL databases.

Supports both on-premises and cloud deployments, including cloud versions of the above databases (Azure SQL, Azure PostgreSQL, etc., as well as on other cloud platforms).



actionETL is a high performance, highly productive .NET Core and .NET Framework library for easily writing ETL (Extract, Transform, Load) data processing applications in .NET languages such as C# and VB.

Use it to add ETL processing to your existing applications, and to create new ones, replacing or augmenting traditional ETL tools.

It is suitable for ETL developers with anywhere from limited to extensive .NET programming experience, and equally for .NET developers that have ETL requirements.

The Effective Way to ETL, using .NET

Outstanding Features

High Performance

Broad Data Source Support

Familiar ETL Concepts

  • NuGet.org packages and project templates for .NET Core / .NET Framework and a 100% C# implementation provide simple integration and updates
  • Compose and encapsulate existing workers into new (control flow and dataflow) reusable workers
  • Highly flexible workers that optionally accept code snippets (lambdas), e.g. to perform a greater-than join instead of the default equi-join, or specifying ordering columns, etc.
  • .NET code-based programming and the actionETL architecture handles complexity very well
  • Perform effective ETL testing with any .NET test framework
  • Take full advantage of Visual Studio® or other .NET development environments for refactoring, source control, CI/CD, etc.

Modern Application Development

Unique Strengths


Easy to Learn

Build your ETL application using the included 69 workers, which provide control flow and dataflow functionality, and handle both simple and highly complex scenarios with ease. The database workers generally work with all supported providers, making it easy to implement as well as port between databases.

This small C# ETL snippet moves a file and groups three workers that execute an external command, read a CSV file and insert the records in a database.

actionETL worker hierarchy

The architecture also makes it easy to create new, custom workers, that can be used and reused, same as the out-of-box workers.

With excellent reusability and composability, actionETL required 23 times less C# code (9kB) to create a high performance and reusable custom Slowly Changing Dimension (SCD) worker (fully included in documentation) vs. similar functionality implemented in one commonly used traditional ETL tool (209kB).

23 Times Less Code

Excels with Large and Complex Requirements

In this comprehensive ETL C# Process Incoming Files Example, a custom worker provides standardized and reliable processing, archiving and logging of incoming files, for any file type.