# ETLBox > Simple API to code ETL jobs in .NET & C#. Extremely fast data processing engine. Runs inside your applications, APIs, and jobs. Extract, filter, transform, migrate data on-the-fly. - [A C# replacement for SSIS](https://www.etlbox.net/ssis/): Replace SSIS with code-first C# data flows. ETLBox keeps Control Flow, Data Flow, and streaming bulk loads — without a designer. - [A data warehouse in C#](https://www.etlbox.net/data-warehouse/): Build a star schema in C# with ETLBox: dimensions, SCD Type 1 and 2, incremental facts. No designer — Git, tests, and CI. - [API documentation](https://www.etlbox.net/api/): The auto generated API documentation of all ETLBox classes - [Beyond SqlBulkCopy](https://www.etlbox.net/sqlbulkcopy/): SqlBulkCopy is fast for SQL Server inserts. It does not update, merge, or leave SQL Server. ETLBox uses it — and adds POCOs, other databases, and DbMerge. - [CSV to SQL Server in C#](https://www.etlbox.net/csv/): Stream a CSV into SQL Server, Postgres, MySQL, or Oracle in C#. The file does not have to fit in memory. Bulk insert on every database. - [Dapper for reads. Bulk for writes.](https://www.etlbox.net/dapper/): Add BulkInsert, BulkUpdate, BulkDelete, and BulkMerge to the same IDbConnection Dapper already uses. One extra using. - [ETLBox, implemented by the people who built it](https://www.etlbox.net/consulting/): Consulting from the team behind ETLBox. Code-first C# pipelines, AI in the flow, training — or we take the project. Free PoC. - [Pricing](https://www.etlbox.net/pricing/): ETLBox pricing and licensing for business customers. Compare plans for internal use or redistribution. Net prices, VAT extra, verified company purchase. - [Product](https://www.etlbox.net/product/): ETLBox product guides: installation, quick start, licensing, release notes, and how to try the code-first ETL library for C# and .NET. - [Documentation](https://www.etlbox.net/docs/): ETLBox documentation for building code-first ETL pipelines in C# and .NET: connectors, transformations, control flow, logging, and data-flow patterns. - [Recipes](https://www.etlbox.net/recipes/): ETLBox code recipes and C# examples: sources, destinations, transformations, file streaming, cloud jobs, and end-to-end ETL scenarios for .NET. - [ETLBox Blog](https://www.etlbox.net/blog/): Read the latest articles on ETLBox – covering ETL techniques, data workflows, product updates, and real-world use cases. Stay informed and make the most of your data integration. - [Landing](https://www.etlbox.net/landing/): ETLBox landing pages for related products such as DirectSync and FlowWright. See how the .NET ETL engine powers desktop sync and workflow tools. - [Demo](https://www.etlbox.net/demo/): Live demo endpoints used by the ETLBox website. These pages back sample APIs that show the .NET ETL library in interactive documentation examples. - [Support](https://www.etlbox.net/support/): ETLBox support, legal notices, and license agreements. Contact ETLBoxperts, complete a purchase, or read the EULA for the .NET ETL library. ## API documentation > The auto generated API documentation of all ETLBox classes - [ETLBox.ControlFlow](https://www.etlbox.net/api/etlbox.controlflow/): All classes of the namespace ETLBox.ControlFlow - [ETLBox.DataFlow](https://www.etlbox.net/api/etlbox.dataflow/): All classes of the namespace ETLBox.DataFlow - [ETLBox.Helper](https://www.etlbox.net/api/etlbox.helper/): All classes of the namespace ETLBox.Helper - [ETLBox](https://www.etlbox.net/api/etlbox/): All classes of the namespace ETLBox - [ETLBox.AI](https://www.etlbox.net/api/etlbox.ai/): All classes of the namespace ETLBox.AI - [ETLBox.Analysis](https://www.etlbox.net/api/etlbox.analysis/): All classes of the namespace ETLBox.Analysis - [ETLBox.AnalysisServices](https://www.etlbox.net/api/etlbox.analysisservices/): All classes of the namespace ETLBox.AnalysisServices - [ETLBox.Apache.Kafka](https://www.etlbox.net/api/etlbox.apache.kafka/): All classes of the namespace ETLBox.Apache.Kafka - [ETLBox.Azure.CosmosDb](https://www.etlbox.net/api/etlbox.azure.cosmosdb/): All classes of the namespace ETLBox.Azure.CosmosDb - [ETLBox.Azure.ServiceBus](https://www.etlbox.net/api/etlbox.azure.servicebus/): All classes of the namespace ETLBox.Azure.ServiceBus - [ETLBox.Azure.Tables](https://www.etlbox.net/api/etlbox.azure.tables/): All classes of the namespace ETLBox.Azure.Tables - [ETLBox.ClickHouse](https://www.etlbox.net/api/etlbox.clickhouse/): All classes of the namespace ETLBox.ClickHouse - [ETLBox.Couchbase](https://www.etlbox.net/api/etlbox.couchbase/): All classes of the namespace ETLBox.Couchbase - [ETLBox.Csv](https://www.etlbox.net/api/etlbox.csv/): All classes of the namespace ETLBox.Csv - [ETLBox.Db2](https://www.etlbox.net/api/etlbox.db2/): All classes of the namespace ETLBox.Db2 - [ETLBox.DbExtensions](https://www.etlbox.net/api/etlbox.dbextensions/): All classes of the namespace ETLBox.DbExtensions - [ETLBox.EntityFramework](https://www.etlbox.net/api/etlbox.entityframework/): All classes of the namespace ETLBox.EntityFramework - [ETLBox.Excel](https://www.etlbox.net/api/etlbox.excel/): All classes of the namespace ETLBox.Excel - [ETLBox.Json](https://www.etlbox.net/api/etlbox.json/): All classes of the namespace ETLBox.Json - [ETLBox.Logging](https://www.etlbox.net/api/etlbox.logging/): All classes of the namespace ETLBox.Logging - [ETLBox.MariaDb](https://www.etlbox.net/api/etlbox.mariadb/): All classes of the namespace ETLBox.MariaDb - [ETLBox.MongoDb](https://www.etlbox.net/api/etlbox.mongodb/): All classes of the namespace ETLBox.MongoDb - [ETLBox.MySql](https://www.etlbox.net/api/etlbox.mysql/): All classes of the namespace ETLBox.MySql - [ETLBox.Neo4j](https://www.etlbox.net/api/etlbox.neo4j/): All classes of the namespace ETLBox.Neo4j - [ETLBox.Odbc](https://www.etlbox.net/api/etlbox.odbc/): All classes of the namespace ETLBox.Odbc - [ETLBox.OleDb](https://www.etlbox.net/api/etlbox.oledb/): All classes of the namespace ETLBox.OleDb - [ETLBox.Oracle](https://www.etlbox.net/api/etlbox.oracle/): All classes of the namespace ETLBox.Oracle - [ETLBox.Parquet](https://www.etlbox.net/api/etlbox.parquet/): All classes of the namespace ETLBox.Parquet - [ETLBox.Postgres](https://www.etlbox.net/api/etlbox.postgres/): All classes of the namespace ETLBox.Postgres - [ETLBox.Redis](https://www.etlbox.net/api/etlbox.redis/): All classes of the namespace ETLBox.Redis - [ETLBox.Sap.Ase](https://www.etlbox.net/api/etlbox.sap.ase/): All classes of the namespace ETLBox.Sap.Ase - [ETLBox.Sap.Hana](https://www.etlbox.net/api/etlbox.sap.hana/): All classes of the namespace ETLBox.Sap.Hana - [ETLBox.Snowflake](https://www.etlbox.net/api/etlbox.snowflake/): All classes of the namespace ETLBox.Snowflake - [ETLBox.SQLite](https://www.etlbox.net/api/etlbox.sqlite/): All classes of the namespace ETLBox.SQLite - [ETLBox.SqlServer](https://www.etlbox.net/api/etlbox.sqlserver/): All classes of the namespace ETLBox.SqlServer - [ETLBox.Xml](https://www.etlbox.net/api/etlbox.xml/): All classes of the namespace ETLBox.Xml - [KafkaSource.DefaultRowDeserializer](https://www.etlbox.net/api/etlbox.apache.kafka.kafkasource-1/defaultrowdeserializer/): Details for Class KafkaSource.DefaultRowDeserializer (ETLBox.Apache.Kafka.KafkaSource`1) - [CrossJoin.InMemoryDestination](https://www.etlbox.net/api/etlbox.dataflow.crossjoin-3/inmemorydestination-1/): Details for Class CrossJoin.InMemoryDestination (ETLBox.DataFlow.CrossJoin`3) - [LookupTransformation.PartialDbCacheSettings](https://www.etlbox.net/api/etlbox.dataflow.lookuptransformation-2/partialdbcachesettings/): Details for Class LookupTransformation.PartialDbCacheSettings (ETLBox.DataFlow.LookupTransformation`2) - [Pivot.ValueAggregationInput](https://www.etlbox.net/api/etlbox.dataflow.pivot-1/valueaggregationinput/): Details for Class Pivot.ValueAggregationInput (ETLBox.DataFlow.Pivot`1) - [RedisDestination.RedisSetParameter](https://www.etlbox.net/api/etlbox.redis.redisdestination-1/redissetparameter/): Details for Class RedisDestination.RedisSetParameter (ETLBox.Redis.RedisDestination`1) ### ETLBox.ControlFlow > All classes of the namespace ETLBox.ControlFlow - [CleanUpSchemaTask](https://www.etlbox.net/api/etlbox.controlflow/cleanupschematask/): Details for Class CleanUpSchemaTask (ETLBox.ControlFlow) - [Constraint](https://www.etlbox.net/api/etlbox.controlflow/constraint/): Details for Class Constraint (ETLBox.ControlFlow) - [ControlFlowTask](https://www.etlbox.net/api/etlbox.controlflow/controlflowtask/): Details for Class ControlFlowTask (ETLBox.ControlFlow) - [CreateDatabaseTask](https://www.etlbox.net/api/etlbox.controlflow/createdatabasetask/): Details for Class CreateDatabaseTask (ETLBox.ControlFlow) - [CreateIndexTask](https://www.etlbox.net/api/etlbox.controlflow/createindextask/): Details for Class CreateIndexTask (ETLBox.ControlFlow) - [CreateProcedureTask](https://www.etlbox.net/api/etlbox.controlflow/createproceduretask/): Details for Class CreateProcedureTask (ETLBox.ControlFlow) - [CreateSchemaTask](https://www.etlbox.net/api/etlbox.controlflow/createschematask/): Details for Class CreateSchemaTask (ETLBox.ControlFlow) - [CreateTableTask](https://www.etlbox.net/api/etlbox.controlflow/createtabletask/): Details for Class CreateTableTask (ETLBox.ControlFlow) - [CreateViewTask](https://www.etlbox.net/api/etlbox.controlflow/createviewtask/): Details for Class CreateViewTask (ETLBox.ControlFlow) - [DbTask](https://www.etlbox.net/api/etlbox.controlflow/dbtask/): Details for Class DbTask (ETLBox.ControlFlow) - [DropDatabaseTask](https://www.etlbox.net/api/etlbox.controlflow/dropdatabasetask/): Details for Class DropDatabaseTask (ETLBox.ControlFlow) - [DropIndexTask](https://www.etlbox.net/api/etlbox.controlflow/dropindextask/): Details for Class DropIndexTask (ETLBox.ControlFlow) - [DropProcedureTask](https://www.etlbox.net/api/etlbox.controlflow/dropproceduretask/): Details for Class DropProcedureTask (ETLBox.ControlFlow) - [DropSchemaTask](https://www.etlbox.net/api/etlbox.controlflow/dropschematask/): Details for Class DropSchemaTask (ETLBox.ControlFlow) - [DropTableTask](https://www.etlbox.net/api/etlbox.controlflow/droptabletask/): Details for Class DropTableTask (ETLBox.ControlFlow) - [DropTask](https://www.etlbox.net/api/etlbox.controlflow/droptask-1/): Details for Class DropTask (ETLBox.ControlFlow) - [DropViewTask](https://www.etlbox.net/api/etlbox.controlflow/dropviewtask/): Details for Class DropViewTask (ETLBox.ControlFlow) - [ForeignKeyConstraint](https://www.etlbox.net/api/etlbox.controlflow/foreignkeyconstraint/): Details for Class ForeignKeyConstraint (ETLBox.ControlFlow) - [GetDatabaseListTask](https://www.etlbox.net/api/etlbox.controlflow/getdatabaselisttask/): Details for Class GetDatabaseListTask (ETLBox.ControlFlow) - [GetListTask](https://www.etlbox.net/api/etlbox.controlflow/getlisttask/): Details for Class GetListTask (ETLBox.ControlFlow) - [GetTableListTask](https://www.etlbox.net/api/etlbox.controlflow/gettablelisttask/): Details for Class GetTableListTask (ETLBox.ControlFlow) - [GetViewListTask](https://www.etlbox.net/api/etlbox.controlflow/getviewlisttask/): Details for Class GetViewListTask (ETLBox.ControlFlow) - [IfDatabaseExistsTask](https://www.etlbox.net/api/etlbox.controlflow/ifdatabaseexiststask/): Details for Class IfDatabaseExistsTask (ETLBox.ControlFlow) - [IfExistsTask](https://www.etlbox.net/api/etlbox.controlflow/ifexiststask/): Details for Class IfExistsTask (ETLBox.ControlFlow) - [IfIndexExistsTask](https://www.etlbox.net/api/etlbox.controlflow/ifindexexiststask/): Details for Class IfIndexExistsTask (ETLBox.ControlFlow) - [IfProcedureExistsTask](https://www.etlbox.net/api/etlbox.controlflow/ifprocedureexiststask/): Details for Class IfProcedureExistsTask (ETLBox.ControlFlow) - [IfSchemaExistsTask](https://www.etlbox.net/api/etlbox.controlflow/ifschemaexiststask/): Details for Class IfSchemaExistsTask (ETLBox.ControlFlow) - [IfTableOrViewExistsTask](https://www.etlbox.net/api/etlbox.controlflow/iftableorviewexiststask/): Details for Class IfTableOrViewExistsTask (ETLBox.ControlFlow) - [ObjectNameDescriptor](https://www.etlbox.net/api/etlbox.controlflow/objectnamedescriptor/): Details for Class ObjectNameDescriptor (ETLBox.ControlFlow) - [PrimaryKeyConstraint](https://www.etlbox.net/api/etlbox.controlflow/primarykeyconstraint/): Details for Class PrimaryKeyConstraint (ETLBox.ControlFlow) - [ProcedureDefinition](https://www.etlbox.net/api/etlbox.controlflow/proceduredefinition/): Details for Class ProcedureDefinition (ETLBox.ControlFlow) - [ProcedureParameter](https://www.etlbox.net/api/etlbox.controlflow/procedureparameter/): Details for Class ProcedureParameter (ETLBox.ControlFlow) - [QueryParameter](https://www.etlbox.net/api/etlbox.controlflow/queryparameter/): Details for Class QueryParameter (ETLBox.ControlFlow) - [RecoveryModel](https://www.etlbox.net/api/etlbox.controlflow/recoverymodel/): Details for Enum RecoveryModel (ETLBox.ControlFlow) - [RowCountOptions](https://www.etlbox.net/api/etlbox.controlflow/rowcountoptions/): Details for Enum RowCountOptions (ETLBox.ControlFlow) - [RowCountTask](https://www.etlbox.net/api/etlbox.controlflow/rowcounttask/): Details for Class RowCountTask (ETLBox.ControlFlow) - [SqlTask](https://www.etlbox.net/api/etlbox.controlflow/sqltask/): Details for Class SqlTask (ETLBox.ControlFlow) - [TableColumn](https://www.etlbox.net/api/etlbox.controlflow/tablecolumn/): Details for Class TableColumn (ETLBox.ControlFlow) - [TableData](https://www.etlbox.net/api/etlbox.controlflow/tabledata/): Details for Class TableData (ETLBox.ControlFlow) - [TableDefinition](https://www.etlbox.net/api/etlbox.controlflow/tabledefinition/): Details for Class TableDefinition (ETLBox.ControlFlow) - [TruncateTableTask](https://www.etlbox.net/api/etlbox.controlflow/truncatetabletask/): Details for Class TruncateTableTask (ETLBox.ControlFlow) - [UniqueKeyConstraint](https://www.etlbox.net/api/etlbox.controlflow/uniquekeyconstraint/): Details for Class UniqueKeyConstraint (ETLBox.ControlFlow) ### ETLBox.DataFlow > All classes of the namespace ETLBox.DataFlow - [Aggregation](https://www.etlbox.net/api/etlbox.dataflow/aggregation-2/): Details for Class Aggregation (ETLBox.DataFlow) - [Aggregation](https://www.etlbox.net/api/etlbox.dataflow/aggregation/): Details for Class Aggregation (ETLBox.DataFlow) - [AggregationMethodInfo](https://www.etlbox.net/api/etlbox.dataflow/aggregationmethodinfo/): Details for Class AggregationMethodInfo (ETLBox.DataFlow) - [AzureBlobStorageConfiguration](https://www.etlbox.net/api/etlbox.dataflow/azureblobstorageconfiguration/): Details for Class AzureBlobStorageConfiguration (ETLBox.DataFlow) - [BatchTransformation](https://www.etlbox.net/api/etlbox.dataflow/batchtransformation-1/): Details for Class BatchTransformation (ETLBox.DataFlow) - [BatchTransformation](https://www.etlbox.net/api/etlbox.dataflow/batchtransformation-2/): Details for Class BatchTransformation (ETLBox.DataFlow) - [BatchTransformation](https://www.etlbox.net/api/etlbox.dataflow/batchtransformation/): Details for Class BatchTransformation (ETLBox.DataFlow) - [BlockTransformation](https://www.etlbox.net/api/etlbox.dataflow/blocktransformation-1/): Details for Class BlockTransformation (ETLBox.DataFlow) - [BlockTransformation](https://www.etlbox.net/api/etlbox.dataflow/blocktransformation-2/): Details for Class BlockTransformation (ETLBox.DataFlow) - [BlockTransformation](https://www.etlbox.net/api/etlbox.dataflow/blocktransformation/): Details for Class BlockTransformation (ETLBox.DataFlow) - [CachedBatchTransformation](https://www.etlbox.net/api/etlbox.dataflow/cachedbatchtransformation-1/): Details for Class CachedBatchTransformation (ETLBox.DataFlow) - [CachedBatchTransformation](https://www.etlbox.net/api/etlbox.dataflow/cachedbatchtransformation-2/): Details for Class CachedBatchTransformation (ETLBox.DataFlow) - [CachedBatchTransformation](https://www.etlbox.net/api/etlbox.dataflow/cachedbatchtransformation-3/): Details for Class CachedBatchTransformation (ETLBox.DataFlow) - [CachedBatchTransformation](https://www.etlbox.net/api/etlbox.dataflow/cachedbatchtransformation/): Details for Class CachedBatchTransformation (ETLBox.DataFlow) - [CachedData](https://www.etlbox.net/api/etlbox.dataflow/cacheddata-1/): Details for Class CachedData (ETLBox.DataFlow) - [CachedRowTransformation](https://www.etlbox.net/api/etlbox.dataflow/cachedrowtransformation-1/): Details for Class CachedRowTransformation (ETLBox.DataFlow) - [CachedRowTransformation](https://www.etlbox.net/api/etlbox.dataflow/cachedrowtransformation-2/): Details for Class CachedRowTransformation (ETLBox.DataFlow) - [CachedRowTransformation](https://www.etlbox.net/api/etlbox.dataflow/cachedrowtransformation-3/): Details for Class CachedRowTransformation (ETLBox.DataFlow) - [CachedRowTransformation](https://www.etlbox.net/api/etlbox.dataflow/cachedrowtransformation/): Details for Class CachedRowTransformation (ETLBox.DataFlow) - [CacheEvictionPolicy](https://www.etlbox.net/api/etlbox.dataflow/cacheevictionpolicy/): Details for Enum CacheEvictionPolicy (ETLBox.DataFlow) - [ColumnConverter](https://www.etlbox.net/api/etlbox.dataflow/columnconverter/): Details for Class ColumnConverter (ETLBox.DataFlow) - [ColumnTransformation](https://www.etlbox.net/api/etlbox.dataflow/columntransformation-1/): Details for Class ColumnTransformation (ETLBox.DataFlow) - [ColumnTransformation](https://www.etlbox.net/api/etlbox.dataflow/columntransformation/): Details for Class ColumnTransformation (ETLBox.DataFlow) - [ConcurrentMemoryDestination](https://www.etlbox.net/api/etlbox.dataflow/concurrentmemorydestination-1/): Details for Class ConcurrentMemoryDestination (ETLBox.DataFlow) - [ConcurrentMemoryDestination](https://www.etlbox.net/api/etlbox.dataflow/concurrentmemorydestination/): Details for Class ConcurrentMemoryDestination (ETLBox.DataFlow) - [ConditionalSplit](https://www.etlbox.net/api/etlbox.dataflow/conditionalsplit-1/): Details for Class ConditionalSplit (ETLBox.DataFlow) - [ConditionalSplit](https://www.etlbox.net/api/etlbox.dataflow/conditionalsplit/): Details for Class ConditionalSplit (ETLBox.DataFlow) - [ConversionError](https://www.etlbox.net/api/etlbox.dataflow/conversionerror/): Details for Class ConversionError (ETLBox.DataFlow) - [CrossJoin](https://www.etlbox.net/api/etlbox.dataflow/crossjoin-1/): Details for Class CrossJoin (ETLBox.DataFlow) - [CrossJoin](https://www.etlbox.net/api/etlbox.dataflow/crossjoin-3/): Details for Class CrossJoin (ETLBox.DataFlow) - [CrossJoin](https://www.etlbox.net/api/etlbox.dataflow/crossjoin/): Details for Class CrossJoin (ETLBox.DataFlow) - [CustomBatchDestination](https://www.etlbox.net/api/etlbox.dataflow/custombatchdestination-1/): Details for Class CustomBatchDestination (ETLBox.DataFlow) - [CustomBatchDestination](https://www.etlbox.net/api/etlbox.dataflow/custombatchdestination/): Details for Class CustomBatchDestination (ETLBox.DataFlow) - [CustomBatchSource](https://www.etlbox.net/api/etlbox.dataflow/custombatchsource-1/): Details for Class CustomBatchSource (ETLBox.DataFlow) - [CustomBatchSource](https://www.etlbox.net/api/etlbox.dataflow/custombatchsource/): Details for Class CustomBatchSource (ETLBox.DataFlow) - [CustomDestination](https://www.etlbox.net/api/etlbox.dataflow/customdestination-1/): Details for Class CustomDestination (ETLBox.DataFlow) - [CustomDestination](https://www.etlbox.net/api/etlbox.dataflow/customdestination/): Details for Class CustomDestination (ETLBox.DataFlow) - [CustomSource](https://www.etlbox.net/api/etlbox.dataflow/customsource-1/): Details for Class CustomSource (ETLBox.DataFlow) - [CustomSource](https://www.etlbox.net/api/etlbox.dataflow/customsource/): Details for Class CustomSource (ETLBox.DataFlow) - [DataFlowBatchDestination](https://www.etlbox.net/api/etlbox.dataflow/dataflowbatchdestination-1/): Details for Class DataFlowBatchDestination (ETLBox.DataFlow) - [DataFlowComponent](https://www.etlbox.net/api/etlbox.dataflow/dataflowcomponent/): Details for Class DataFlowComponent (ETLBox.DataFlow) - [DataFlowDestination](https://www.etlbox.net/api/etlbox.dataflow/dataflowdestination-1/): Details for Class DataFlowDestination (ETLBox.DataFlow) - [DataFlowExecutableSource](https://www.etlbox.net/api/etlbox.dataflow/dataflowexecutablesource-1/): Details for Class DataFlowExecutableSource (ETLBox.DataFlow) - [DataFlowJoinTarget](https://www.etlbox.net/api/etlbox.dataflow/dataflowjointarget-1/): Details for Class DataFlowJoinTarget (ETLBox.DataFlow) - [DataFlowSource](https://www.etlbox.net/api/etlbox.dataflow/dataflowsource-1/): Details for Class DataFlowSource (ETLBox.DataFlow) - [DataFlowStreamDestination](https://www.etlbox.net/api/etlbox.dataflow/dataflowstreamdestination-1/): Details for Class DataFlowStreamDestination (ETLBox.DataFlow) - [DataFlowStreamSource](https://www.etlbox.net/api/etlbox.dataflow/dataflowstreamsource-1/): Details for Class DataFlowStreamSource (ETLBox.DataFlow) - [DataFlowTransformation](https://www.etlbox.net/api/etlbox.dataflow/dataflowtransformation-2/): Details for Class DataFlowTransformation (ETLBox.DataFlow) - [DbDestination](https://www.etlbox.net/api/etlbox.dataflow/dbdestination-1/): Details for Class DbDestination (ETLBox.DataFlow) - [DbDestination](https://www.etlbox.net/api/etlbox.dataflow/dbdestination/): Details for Class DbDestination (ETLBox.DataFlow) - [DbMerge](https://www.etlbox.net/api/etlbox.dataflow/dbmerge-1/): Details for Class DbMerge (ETLBox.DataFlow) - [DbMerge](https://www.etlbox.net/api/etlbox.dataflow/dbmerge/): Details for Class DbMerge (ETLBox.DataFlow) - [DbSource](https://www.etlbox.net/api/etlbox.dataflow/dbsource-1/): Details for Class DbSource (ETLBox.DataFlow) - [DbSource](https://www.etlbox.net/api/etlbox.dataflow/dbsource/): Details for Class DbSource (ETLBox.DataFlow) - [DbTypeCheck](https://www.etlbox.net/api/etlbox.dataflow/dbtypecheck-1/): Details for Class DbTypeCheck (ETLBox.DataFlow) - [DbTypeCheck](https://www.etlbox.net/api/etlbox.dataflow/dbtypecheck/): Details for Class DbTypeCheck (ETLBox.DataFlow) - [DictionaryKey](https://www.etlbox.net/api/etlbox.dataflow/dictionarykey/): Details for Class DictionaryKey (ETLBox.DataFlow) - [Distinct](https://www.etlbox.net/api/etlbox.dataflow/distinct-1/): Details for Class Distinct (ETLBox.DataFlow) - [Distinct](https://www.etlbox.net/api/etlbox.dataflow/distinct/): Details for Class Distinct (ETLBox.DataFlow) - [ErrorSource](https://www.etlbox.net/api/etlbox.dataflow/errorsource/): Details for Class ErrorSource (ETLBox.DataFlow) - [ICachedData](https://www.etlbox.net/api/etlbox.dataflow/icacheddata-1/): Details for Interface ICachedData (ETLBox.DataFlow) - [ICacheManager](https://www.etlbox.net/api/etlbox.dataflow/icachemanager-2/): Details for Interface ICacheManager (ETLBox.DataFlow) - [JoinTarget](https://www.etlbox.net/api/etlbox.dataflow/jointarget-1/): Details for Class JoinTarget (ETLBox.DataFlow) - [LogDestination](https://www.etlbox.net/api/etlbox.dataflow/logdestination-1/): Details for Class LogDestination (ETLBox.DataFlow) - [LogDestination](https://www.etlbox.net/api/etlbox.dataflow/logdestination/): Details for Class LogDestination (ETLBox.DataFlow) - [LookupTransformation](https://www.etlbox.net/api/etlbox.dataflow/lookuptransformation-2/): Details for Class LookupTransformation (ETLBox.DataFlow) - [LookupTransformation](https://www.etlbox.net/api/etlbox.dataflow/lookuptransformation/): Details for Class LookupTransformation (ETLBox.DataFlow) - [MemoryCache](https://www.etlbox.net/api/etlbox.dataflow/memorycache-2/): Details for Class MemoryCache (ETLBox.DataFlow) - [MemoryDestination](https://www.etlbox.net/api/etlbox.dataflow/memorydestination-1/): Details for Class MemoryDestination (ETLBox.DataFlow) - [MemoryDestination](https://www.etlbox.net/api/etlbox.dataflow/memorydestination/): Details for Class MemoryDestination (ETLBox.DataFlow) - [MemorySource](https://www.etlbox.net/api/etlbox.dataflow/memorysource-1/): Details for Class MemorySource (ETLBox.DataFlow) - [MemorySource](https://www.etlbox.net/api/etlbox.dataflow/memorysource/): Details for Class MemorySource (ETLBox.DataFlow) - [MergeableRow](https://www.etlbox.net/api/etlbox.dataflow/mergeablerow/): Details for Class MergeableRow (ETLBox.DataFlow) - [MergeJoin](https://www.etlbox.net/api/etlbox.dataflow/mergejoin-1/): Details for Class MergeJoin (ETLBox.DataFlow) - [MergeJoin](https://www.etlbox.net/api/etlbox.dataflow/mergejoin-3/): Details for Class MergeJoin (ETLBox.DataFlow) - [MergeJoin](https://www.etlbox.net/api/etlbox.dataflow/mergejoin/): Details for Class MergeJoin (ETLBox.DataFlow) - [Multicast](https://www.etlbox.net/api/etlbox.dataflow/multicast-1/): Details for Class Multicast (ETLBox.DataFlow) - [Multicast](https://www.etlbox.net/api/etlbox.dataflow/multicast/): Details for Class Multicast (ETLBox.DataFlow) - [Network](https://www.etlbox.net/api/etlbox.dataflow/network/): Details for Class Network (ETLBox.DataFlow) - [NetworkHelper](https://www.etlbox.net/api/etlbox.dataflow/networkhelper/): Details for Class NetworkHelper (ETLBox.DataFlow) - [NetworkNode](https://www.etlbox.net/api/etlbox.dataflow/networknode/): Details for Class NetworkNode (ETLBox.DataFlow) - [Pivot](https://www.etlbox.net/api/etlbox.dataflow/pivot-1/): Details for Class Pivot (ETLBox.DataFlow) - [Pivot](https://www.etlbox.net/api/etlbox.dataflow/pivot/): Details for Class Pivot (ETLBox.DataFlow) - [PivotAggregationResult](https://www.etlbox.net/api/etlbox.dataflow/pivotaggregationresult/): Details for Class PivotAggregationResult (ETLBox.DataFlow) - [RowDuplication](https://www.etlbox.net/api/etlbox.dataflow/rowduplication-1/): Details for Class RowDuplication (ETLBox.DataFlow) - [RowDuplication](https://www.etlbox.net/api/etlbox.dataflow/rowduplication/): Details for Class RowDuplication (ETLBox.DataFlow) - [RowMultiplication](https://www.etlbox.net/api/etlbox.dataflow/rowmultiplication-1/): Details for Class RowMultiplication (ETLBox.DataFlow) - [RowMultiplication](https://www.etlbox.net/api/etlbox.dataflow/rowmultiplication-2/): Details for Class RowMultiplication (ETLBox.DataFlow) - [RowMultiplication](https://www.etlbox.net/api/etlbox.dataflow/rowmultiplication/): Details for Class RowMultiplication (ETLBox.DataFlow) - [RowTransformation](https://www.etlbox.net/api/etlbox.dataflow/rowtransformation-1/): Details for Class RowTransformation (ETLBox.DataFlow) - [RowTransformation](https://www.etlbox.net/api/etlbox.dataflow/rowtransformation-2/): Details for Class RowTransformation (ETLBox.DataFlow) - [RowTransformation](https://www.etlbox.net/api/etlbox.dataflow/rowtransformation/): Details for Class RowTransformation (ETLBox.DataFlow) - [RowValidation](https://www.etlbox.net/api/etlbox.dataflow/rowvalidation-1/): Details for Class RowValidation (ETLBox.DataFlow) - [RowValidation](https://www.etlbox.net/api/etlbox.dataflow/rowvalidation/): Details for Class RowValidation (ETLBox.DataFlow) - [Sort](https://www.etlbox.net/api/etlbox.dataflow/sort-1/): Details for Class Sort (ETLBox.DataFlow) - [Sort](https://www.etlbox.net/api/etlbox.dataflow/sort/): Details for Class Sort (ETLBox.DataFlow) - [StreamMetaData](https://www.etlbox.net/api/etlbox.dataflow/streammetadata/): Details for Class StreamMetaData (ETLBox.DataFlow) - [TextDestination](https://www.etlbox.net/api/etlbox.dataflow/textdestination-1/): Details for Class TextDestination (ETLBox.DataFlow) - [TextDestination](https://www.etlbox.net/api/etlbox.dataflow/textdestination/): Details for Class TextDestination (ETLBox.DataFlow) - [TextSource](https://www.etlbox.net/api/etlbox.dataflow/textsource-1/): Details for Class TextSource (ETLBox.DataFlow) - [TextSource](https://www.etlbox.net/api/etlbox.dataflow/textsource/): Details for Class TextSource (ETLBox.DataFlow) - [ValidationError](https://www.etlbox.net/api/etlbox.dataflow/validationerror/): Details for Class ValidationError (ETLBox.DataFlow) - [ValidationResult](https://www.etlbox.net/api/etlbox.dataflow/validationresult/): Details for Class ValidationResult (ETLBox.DataFlow) - [VoidDestination](https://www.etlbox.net/api/etlbox.dataflow/voiddestination-1/): Details for Class VoidDestination (ETLBox.DataFlow) - [VoidDestination](https://www.etlbox.net/api/etlbox.dataflow/voiddestination/): Details for Class VoidDestination (ETLBox.DataFlow) - [WaitTransformation](https://www.etlbox.net/api/etlbox.dataflow/waittransformation-1/): Details for Class WaitTransformation (ETLBox.DataFlow) - [WaitTransformation](https://www.etlbox.net/api/etlbox.dataflow/waittransformation/): Details for Class WaitTransformation (ETLBox.DataFlow) - [WhereTransformation](https://www.etlbox.net/api/etlbox.dataflow/wheretransformation-1/): Details for Class WhereTransformation (ETLBox.DataFlow) - [WhereTransformation](https://www.etlbox.net/api/etlbox.dataflow/wheretransformation/): Details for Class WhereTransformation (ETLBox.DataFlow) ### ETLBox.Helper > All classes of the namespace ETLBox.Helper - [BulkSqlGenerator](https://www.etlbox.net/api/etlbox.helper/bulksqlgenerator-1/): Details for Class BulkSqlGenerator (ETLBox.Helper) - [ConversionContext](https://www.etlbox.net/api/etlbox.helper/conversioncontext/): Details for Class ConversionContext (ETLBox.Helper) - [ConvertibleTestDefinition](https://www.etlbox.net/api/etlbox.helper/convertibletestdefinition/): Details for Class ConvertibleTestDefinition (ETLBox.Helper) - [DataTypeConverter](https://www.etlbox.net/api/etlbox.helper/datatypeconverter/): Details for Class DataTypeConverter (ETLBox.Helper) - [DataTypeConverterConfiguration](https://www.etlbox.net/api/etlbox.helper/datatypeconverterconfiguration/): Details for Class DataTypeConverterConfiguration (ETLBox.Helper) - [DataTypeTester](https://www.etlbox.net/api/etlbox.helper/datatypetester/): Details for Class DataTypeTester (ETLBox.Helper) - [DateTimeOffsetHandling](https://www.etlbox.net/api/etlbox.helper/datetimeoffsethandling/): Details for Enum DateTimeOffsetHandling (ETLBox.Helper) - [ExceptionExtensions](https://www.etlbox.net/api/etlbox.helper/exceptionextensions/): Details for Class ExceptionExtensions (ETLBox.Helper) - [HashHelper](https://www.etlbox.net/api/etlbox.helper/hashhelper/): Details for Class HashHelper (ETLBox.Helper) - [HttpClientFactory](https://www.etlbox.net/api/etlbox.helper/httpclientfactory/): Details for Class HttpClientFactory (ETLBox.Helper) - [ListHelper](https://www.etlbox.net/api/etlbox.helper/listhelper/): Details for Class ListHelper (ETLBox.Helper) - [NoFlushStream](https://www.etlbox.net/api/etlbox.helper/noflushstream/): Details for Class NoFlushStream (ETLBox.Helper) - [PropertyInfoExtensions](https://www.etlbox.net/api/etlbox.helper/propertyinfoextensions/): Details for Class PropertyInfoExtensions (ETLBox.Helper) - [SqlParser](https://www.etlbox.net/api/etlbox.helper/sqlparser/): Details for Class SqlParser (ETLBox.Helper) - [StringExtension](https://www.etlbox.net/api/etlbox.helper/stringextension/): Details for Class StringExtension (ETLBox.Helper) ### ETLBox > All classes of the namespace ETLBox - [AddColumn](https://www.etlbox.net/api/etlbox/addcolumn/): Details for Class AddColumn (ETLBox) - [AddedColumn](https://www.etlbox.net/api/etlbox/addedcolumn/): Details for Class AddedColumn (ETLBox) - [AggregateColumn](https://www.etlbox.net/api/etlbox/aggregatecolumn/): Details for Class AggregateColumn (ETLBox) - [AggregationMethod](https://www.etlbox.net/api/etlbox/aggregationmethod/): Details for Enum AggregationMethod (ETLBox) - [AseConnectionString](https://www.etlbox.net/api/etlbox/aseconnectionstring/): Details for Class AseConnectionString (ETLBox) - [AttributeType](https://www.etlbox.net/api/etlbox/attributetype/): Details for Enum AttributeType (ETLBox) - [BulkOperation](https://www.etlbox.net/api/etlbox/bulkoperation/): Details for Enum BulkOperation (ETLBox) - [CacheMode](https://www.etlbox.net/api/etlbox/cachemode/): Details for Enum CacheMode (ETLBox) - [ChangeAction](https://www.etlbox.net/api/etlbox/changeaction/): Details for Enum ChangeAction (ETLBox) - [CompareColumn](https://www.etlbox.net/api/etlbox/comparecolumn/): Details for Class CompareColumn (ETLBox) - [ConnectionType](https://www.etlbox.net/api/etlbox/connectiontype/): Details for Enum ConnectionType (ETLBox) - [DbColumnDefinition](https://www.etlbox.net/api/etlbox/dbcolumndefinition/): Details for Class DbColumnDefinition (ETLBox) - [DbColumnMap](https://www.etlbox.net/api/etlbox/dbcolumnmap/): Details for Class DbColumnMap (ETLBox) - [DbConnectionManager](https://www.etlbox.net/api/etlbox/dbconnectionmanager-3/): Details for Class DbConnectionManager (ETLBox) - [DbConnectionString](https://www.etlbox.net/api/etlbox/dbconnectionstring-2/): Details for Class DbConnectionString (ETLBox) - [DeleteColumn](https://www.etlbox.net/api/etlbox/deletecolumn/): Details for Class DeleteColumn (ETLBox) - [DistinctColumn](https://www.etlbox.net/api/etlbox/distinctcolumn/): Details for Class DistinctColumn (ETLBox) - [ETLBoxError](https://www.etlbox.net/api/etlbox/etlboxerror/): Details for Class ETLBoxError (ETLBox) - [ETLBoxException](https://www.etlbox.net/api/etlbox/etlboxexception/): Details for Class ETLBoxException (ETLBox) - [GenericTypeInfo](https://www.etlbox.net/api/etlbox/generictypeinfo/): Details for Class GenericTypeInfo (ETLBox) - [GroupColumn](https://www.etlbox.net/api/etlbox/groupcolumn/): Details for Class GroupColumn (ETLBox) - [IConnectionManager](https://www.etlbox.net/api/etlbox/iconnectionmanager-2/): Details for Interface IConnectionManager (ETLBox) - [IConnectionManager](https://www.etlbox.net/api/etlbox/iconnectionmanager/): Details for Interface IConnectionManager (ETLBox) - [IConstraint](https://www.etlbox.net/api/etlbox/iconstraint/): Details for Interface IConstraint (ETLBox) - [IDataFlowBatchDestination](https://www.etlbox.net/api/etlbox/idataflowbatchdestination-1/): Details for Interface IDataFlowBatchDestination (ETLBox) - [IDataFlowBatchDestination](https://www.etlbox.net/api/etlbox/idataflowbatchdestination/): Details for Interface IDataFlowBatchDestination (ETLBox) - [IDataFlowComponent](https://www.etlbox.net/api/etlbox/idataflowcomponent/): Details for Interface IDataFlowComponent (ETLBox) - [IDataFlowDestination](https://www.etlbox.net/api/etlbox/idataflowdestination-1/): Details for Interface IDataFlowDestination (ETLBox) - [IDataFlowDestination](https://www.etlbox.net/api/etlbox/idataflowdestination/): Details for Interface IDataFlowDestination (ETLBox) - [IDataFlowExecutableSource](https://www.etlbox.net/api/etlbox/idataflowexecutablesource-1/): Details for Interface IDataFlowExecutableSource (ETLBox) - [IDataFlowExecutableSource](https://www.etlbox.net/api/etlbox/idataflowexecutablesource/): Details for Interface IDataFlowExecutableSource (ETLBox) - [IDataFlowSource](https://www.etlbox.net/api/etlbox/idataflowsource-1/): Details for Interface IDataFlowSource (ETLBox) - [IDataFlowSource](https://www.etlbox.net/api/etlbox/idataflowsource/): Details for Interface IDataFlowSource (ETLBox) - [IDataFlowStreamDestination](https://www.etlbox.net/api/etlbox/idataflowstreamdestination-1/): Details for Interface IDataFlowStreamDestination (ETLBox) - [IDataFlowStreamDestination](https://www.etlbox.net/api/etlbox/idataflowstreamdestination/): Details for Interface IDataFlowStreamDestination (ETLBox) - [IDataFlowStreamSource](https://www.etlbox.net/api/etlbox/idataflowstreamsource-1/): Details for Interface IDataFlowStreamSource (ETLBox) - [IDataFlowStreamSource](https://www.etlbox.net/api/etlbox/idataflowstreamsource/): Details for Interface IDataFlowStreamSource (ETLBox) - [IDataFlowTransformation](https://www.etlbox.net/api/etlbox/idataflowtransformation-2/): Details for Interface IDataFlowTransformation (ETLBox) - [IDataTypeConverter](https://www.etlbox.net/api/etlbox/idatatypeconverter/): Details for Interface IDataTypeConverter (ETLBox) - [IDbConnectionString](https://www.etlbox.net/api/etlbox/idbconnectionstring/): Details for Interface IDbConnectionString (ETLBox) - [IdColumn](https://www.etlbox.net/api/etlbox/idcolumn/): Details for Class IdColumn (ETLBox) - [ILoggableTask](https://www.etlbox.net/api/etlbox/iloggabletask/): Details for Interface ILoggableTask (ETLBox) - [IMergeableRow](https://www.etlbox.net/api/etlbox/imergeablerow/): Details for Interface IMergeableRow (ETLBox) - [InsertColumn](https://www.etlbox.net/api/etlbox/insertcolumn/): Details for Class InsertColumn (ETLBox) - [ITableData](https://www.etlbox.net/api/etlbox/itabledata/): Details for Interface ITableData (ETLBox) - [KeyColumn](https://www.etlbox.net/api/etlbox/keycolumn/): Details for Class KeyColumn (ETLBox) - [LoggableTask](https://www.etlbox.net/api/etlbox/loggabletask/): Details for Class LoggableTask (ETLBox) - [MatchColumn](https://www.etlbox.net/api/etlbox/matchcolumn/): Details for Class MatchColumn (ETLBox) - [MergeMode](https://www.etlbox.net/api/etlbox/mergemode/): Details for Enum MergeMode (ETLBox) - [ObjectCopy](https://www.etlbox.net/api/etlbox/objectcopy/): Details for Class ObjectCopy (ETLBox) - [PivotColumn](https://www.etlbox.net/api/etlbox/pivotcolumn/): Details for Class PivotColumn (ETLBox) - [PivotRow](https://www.etlbox.net/api/etlbox/pivotrow/): Details for Class PivotRow (ETLBox) - [PivotValue](https://www.etlbox.net/api/etlbox/pivotvalue/): Details for Class PivotValue (ETLBox) - [RemoveColumn](https://www.etlbox.net/api/etlbox/removecolumn/): Details for Class RemoveColumn (ETLBox) - [RenameColumn](https://www.etlbox.net/api/etlbox/renamecolumn/): Details for Class RenameColumn (ETLBox) - [ReorderColumn](https://www.etlbox.net/api/etlbox/reordercolumn/): Details for Class ReorderColumn (ETLBox) - [ResourceType](https://www.etlbox.net/api/etlbox/resourcetype/): Details for Enum ResourceType (ETLBox) - [RetrieveColumn](https://www.etlbox.net/api/etlbox/retrievecolumn/): Details for Class RetrieveColumn (ETLBox) - [SelectColumn](https://www.etlbox.net/api/etlbox/selectcolumn/): Details for Class SelectColumn (ETLBox) - [SelectOperation](https://www.etlbox.net/api/etlbox/selectoperation/): Details for Enum SelectOperation (ETLBox) - [Settings](https://www.etlbox.net/api/etlbox/settings/): Details for Class Settings (ETLBox) - [SortColumn](https://www.etlbox.net/api/etlbox/sortcolumn/): Details for Class SortColumn (ETLBox) - [SortOrder](https://www.etlbox.net/api/etlbox/sortorder/): Details for Enum SortOrder (ETLBox) - [UpdateColumn](https://www.etlbox.net/api/etlbox/updatecolumn/): Details for Class UpdateColumn (ETLBox) - [ValidateColumn](https://www.etlbox.net/api/etlbox/validatecolumn/): Details for Class ValidateColumn (ETLBox) - [ValidationMethod](https://www.etlbox.net/api/etlbox/validationmethod/): Details for Enum ValidationMethod (ETLBox) - [ValueGenerationColumn](https://www.etlbox.net/api/etlbox/valuegenerationcolumn/): Details for Class ValueGenerationColumn (ETLBox) - [ValueGenerationEvent](https://www.etlbox.net/api/etlbox/valuegenerationevent/): Details for Enum ValueGenerationEvent (ETLBox) ### ETLBox.AI > All classes of the namespace ETLBox.AI - [ChatBatchTransformation](https://www.etlbox.net/api/etlbox.ai/chatbatchtransformation-1/): Details for Class ChatBatchTransformation (ETLBox.AI) - [ChatBatchTransformation](https://www.etlbox.net/api/etlbox.ai/chatbatchtransformation-2/): Details for Class ChatBatchTransformation (ETLBox.AI) - [ChatBatchTransformation](https://www.etlbox.net/api/etlbox.ai/chatbatchtransformation/): Details for Class ChatBatchTransformation (ETLBox.AI) - [ChatTransformation](https://www.etlbox.net/api/etlbox.ai/chattransformation-1/): Details for Class ChatTransformation (ETLBox.AI) - [ChatTransformation](https://www.etlbox.net/api/etlbox.ai/chattransformation-2/): Details for Class ChatTransformation (ETLBox.AI) - [ChatTransformation](https://www.etlbox.net/api/etlbox.ai/chattransformation/): Details for Class ChatTransformation (ETLBox.AI) - [EmbeddingBatchTransformation](https://www.etlbox.net/api/etlbox.ai/embeddingbatchtransformation-1/): Details for Class EmbeddingBatchTransformation (ETLBox.AI) - [EmbeddingBatchTransformation](https://www.etlbox.net/api/etlbox.ai/embeddingbatchtransformation/): Details for Class EmbeddingBatchTransformation (ETLBox.AI) - [EmbeddingText](https://www.etlbox.net/api/etlbox.ai/embeddingtext/): Details for Class EmbeddingText (ETLBox.AI) - [EmbeddingTransformation](https://www.etlbox.net/api/etlbox.ai/embeddingtransformation-1/): Details for Class EmbeddingTransformation (ETLBox.AI) - [EmbeddingTransformation](https://www.etlbox.net/api/etlbox.ai/embeddingtransformation/): Details for Class EmbeddingTransformation (ETLBox.AI) - [EmbeddingVector](https://www.etlbox.net/api/etlbox.ai/embeddingvector/): Details for Class EmbeddingVector (ETLBox.AI) - [VectorStoreDestination](https://www.etlbox.net/api/etlbox.ai/vectorstoredestination-1/): Details for Class VectorStoreDestination (ETLBox.AI) - [VectorStoreDestination](https://www.etlbox.net/api/etlbox.ai/vectorstoredestination-2/): Details for Class VectorStoreDestination (ETLBox.AI) - [VectorStoreDestination](https://www.etlbox.net/api/etlbox.ai/vectorstoredestination/): Details for Class VectorStoreDestination (ETLBox.AI) - [VectorStoreSource](https://www.etlbox.net/api/etlbox.ai/vectorstoresource-1/): Details for Class VectorStoreSource (ETLBox.AI) - [VectorStoreSource](https://www.etlbox.net/api/etlbox.ai/vectorstoresource-2/): Details for Class VectorStoreSource (ETLBox.AI) - [VectorStoreSource](https://www.etlbox.net/api/etlbox.ai/vectorstoresource/): Details for Class VectorStoreSource (ETLBox.AI) ### ETLBox.Analysis > All classes of the namespace ETLBox.Analysis - [DataFrameColumnMap](https://www.etlbox.net/api/etlbox.analysis/dataframecolumnmap/): Details for Class DataFrameColumnMap (ETLBox.Analysis) - [DataFrameDestination](https://www.etlbox.net/api/etlbox.analysis/dataframedestination-1/): Details for Class DataFrameDestination (ETLBox.Analysis) - [DataFrameDestination](https://www.etlbox.net/api/etlbox.analysis/dataframedestination/): Details for Class DataFrameDestination (ETLBox.Analysis) - [DataFrameSource](https://www.etlbox.net/api/etlbox.analysis/dataframesource-1/): Details for Class DataFrameSource (ETLBox.Analysis) - [DataFrameSource](https://www.etlbox.net/api/etlbox.analysis/dataframesource/): Details for Class DataFrameSource (ETLBox.Analysis) ### ETLBox.AnalysisServices > All classes of the namespace ETLBox.AnalysisServices - [AdomdConnectionManager](https://www.etlbox.net/api/etlbox.analysisservices/adomdconnectionmanager/): Details for Class AdomdConnectionManager (ETLBox.AnalysisServices) - [XmlaTask](https://www.etlbox.net/api/etlbox.analysisservices/xmlatask/): Details for Class XmlaTask (ETLBox.AnalysisServices) ### ETLBox.Apache.Kafka > All classes of the namespace ETLBox.Apache.Kafka - [KafkaDestination](https://www.etlbox.net/api/etlbox.apache.kafka/kafkadestination-1/): Details for Class KafkaDestination (ETLBox.Apache.Kafka) - [KafkaDestination](https://www.etlbox.net/api/etlbox.apache.kafka/kafkadestination/): Details for Class KafkaDestination (ETLBox.Apache.Kafka) - [KafkaSource](https://www.etlbox.net/api/etlbox.apache.kafka/kafkasource-1/): Details for Class KafkaSource (ETLBox.Apache.Kafka) - [KafkaSource](https://www.etlbox.net/api/etlbox.apache.kafka/kafkasource/): Details for Class KafkaSource (ETLBox.Apache.Kafka) ### ETLBox.Azure.CosmosDb > All classes of the namespace ETLBox.Azure.CosmosDb - [CosmosDestination](https://www.etlbox.net/api/etlbox.azure.cosmosdb/cosmosdestination-1/): Details for Class CosmosDestination (ETLBox.Azure.CosmosDb) - [CosmosDestination](https://www.etlbox.net/api/etlbox.azure.cosmosdb/cosmosdestination/): Details for Class CosmosDestination (ETLBox.Azure.CosmosDb) - [CosmosSource](https://www.etlbox.net/api/etlbox.azure.cosmosdb/cosmossource-1/): Details for Class CosmosSource (ETLBox.Azure.CosmosDb) - [CosmosSource](https://www.etlbox.net/api/etlbox.azure.cosmosdb/cosmossource/): Details for Class CosmosSource (ETLBox.Azure.CosmosDb) - [ItemAction](https://www.etlbox.net/api/etlbox.azure.cosmosdb/itemaction/): Details for Enum ItemAction (ETLBox.Azure.CosmosDb) - [ItemActionOption](https://www.etlbox.net/api/etlbox.azure.cosmosdb/itemactionoption/): Details for Class ItemActionOption (ETLBox.Azure.CosmosDb) ### ETLBox.Azure.ServiceBus > All classes of the namespace ETLBox.Azure.ServiceBus - [ServiceBusDestination](https://www.etlbox.net/api/etlbox.azure.servicebus/servicebusdestination-1/): Details for Class ServiceBusDestination (ETLBox.Azure.ServiceBus) - [ServiceBusDestination](https://www.etlbox.net/api/etlbox.azure.servicebus/servicebusdestination/): Details for Class ServiceBusDestination (ETLBox.Azure.ServiceBus) - [ServiceBusSource](https://www.etlbox.net/api/etlbox.azure.servicebus/servicebussource-1/): Details for Class ServiceBusSource (ETLBox.Azure.ServiceBus) - [ServiceBusSource](https://www.etlbox.net/api/etlbox.azure.servicebus/servicebussource/): Details for Class ServiceBusSource (ETLBox.Azure.ServiceBus) ### ETLBox.Azure.Tables > All classes of the namespace ETLBox.Azure.Tables - [EntityActionOption](https://www.etlbox.net/api/etlbox.azure.tables/entityactionoption/): Details for Class EntityActionOption (ETLBox.Azure.Tables) - [EntityActionType](https://www.etlbox.net/api/etlbox.azure.tables/entityactiontype/): Details for Enum EntityActionType (ETLBox.Azure.Tables) - [ExpandObjectTableEntity](https://www.etlbox.net/api/etlbox.azure.tables/expandobjecttableentity/): Details for Class ExpandObjectTableEntity (ETLBox.Azure.Tables) - [TableDestination](https://www.etlbox.net/api/etlbox.azure.tables/tabledestination-1/): Details for Class TableDestination (ETLBox.Azure.Tables) - [TableDestination](https://www.etlbox.net/api/etlbox.azure.tables/tabledestination/): Details for Class TableDestination (ETLBox.Azure.Tables) - [TableSource](https://www.etlbox.net/api/etlbox.azure.tables/tablesource-1/): Details for Class TableSource (ETLBox.Azure.Tables) - [TableSource](https://www.etlbox.net/api/etlbox.azure.tables/tablesource/): Details for Class TableSource (ETLBox.Azure.Tables) ### ETLBox.ClickHouse > All classes of the namespace ETLBox.ClickHouse - [ClickHouseConnectionManager](https://www.etlbox.net/api/etlbox.clickhouse/clickhouseconnectionmanager/): Details for Class ClickHouseConnectionManager (ETLBox.ClickHouse) - [ClickHouseConnectionString](https://www.etlbox.net/api/etlbox.clickhouse/clickhouseconnectionstring/): Details for Class ClickHouseConnectionString (ETLBox.ClickHouse) ### ETLBox.Couchbase > All classes of the namespace ETLBox.Couchbase - [CouchbaseDestination](https://www.etlbox.net/api/etlbox.couchbase/couchbasedestination-1/): Details for Class CouchbaseDestination (ETLBox.Couchbase) - [CouchbaseDestination](https://www.etlbox.net/api/etlbox.couchbase/couchbasedestination/): Details for Class CouchbaseDestination (ETLBox.Couchbase) - [CouchbaseSource](https://www.etlbox.net/api/etlbox.couchbase/couchbasesource-1/): Details for Class CouchbaseSource (ETLBox.Couchbase) - [CouchbaseSource](https://www.etlbox.net/api/etlbox.couchbase/couchbasesource/): Details for Class CouchbaseSource (ETLBox.Couchbase) ### ETLBox.Csv > All classes of the namespace ETLBox.Csv - [CsvDestination](https://www.etlbox.net/api/etlbox.csv/csvdestination-1/): Details for Class CsvDestination (ETLBox.Csv) - [CsvDestination](https://www.etlbox.net/api/etlbox.csv/csvdestination/): Details for Class CsvDestination (ETLBox.Csv) - [CsvSource](https://www.etlbox.net/api/etlbox.csv/csvsource-1/): Details for Class CsvSource (ETLBox.Csv) - [CsvSource](https://www.etlbox.net/api/etlbox.csv/csvsource/): Details for Class CsvSource (ETLBox.Csv) ### ETLBox.Db2 > All classes of the namespace ETLBox.Db2 - [Db2ConnectionManager](https://www.etlbox.net/api/etlbox.db2/db2connectionmanager/): Details for Class Db2ConnectionManager (ETLBox.Db2) - [Db2ConnectionString](https://www.etlbox.net/api/etlbox.db2/db2connectionstring/): Details for Class Db2ConnectionString (ETLBox.Db2) ### ETLBox.DbExtensions > All classes of the namespace ETLBox.DbExtensions - [BulkOperations](https://www.etlbox.net/api/etlbox.dbextensions/bulkoperations/): Details for Class BulkOperations (ETLBox.DbExtensions) - [BulkOptions](https://www.etlbox.net/api/etlbox.dbextensions/bulkoptions-1/): Details for Class BulkOptions (ETLBox.DbExtensions) - [BulkOptionsShared](https://www.etlbox.net/api/etlbox.dbextensions/bulkoptionsshared-1/): Details for Class BulkOptionsShared (ETLBox.DbExtensions) - [ConnectionManagerCreator](https://www.etlbox.net/api/etlbox.dbextensions/connectionmanagercreator/): Details for Class ConnectionManagerCreator (ETLBox.DbExtensions) - [IDbConnectionExtensions](https://www.etlbox.net/api/etlbox.dbextensions/idbconnectionextensions/): Details for Class IDbConnectionExtensions (ETLBox.DbExtensions) - [MergeBulkOptions](https://www.etlbox.net/api/etlbox.dbextensions/mergebulkoptions-1/): Details for Class MergeBulkOptions (ETLBox.DbExtensions) ### ETLBox.EntityFramework > All classes of the namespace ETLBox.EntityFramework - [DbContextExtensions](https://www.etlbox.net/api/etlbox.entityframework/dbcontextextensions/): Details for Class DbContextExtensions (ETLBox.EntityFramework) ### ETLBox.Excel > All classes of the namespace ETLBox.Excel - [ExcelColumn](https://www.etlbox.net/api/etlbox.excel/excelcolumn/): Details for Class ExcelColumn (ETLBox.Excel) - [ExcelDestination](https://www.etlbox.net/api/etlbox.excel/exceldestination-1/): Details for Class ExcelDestination (ETLBox.Excel) - [ExcelDestination](https://www.etlbox.net/api/etlbox.excel/exceldestination/): Details for Class ExcelDestination (ETLBox.Excel) - [ExcelRange](https://www.etlbox.net/api/etlbox.excel/excelrange/): Details for Class ExcelRange (ETLBox.Excel) - [ExcelSource](https://www.etlbox.net/api/etlbox.excel/excelsource-1/): Details for Class ExcelSource (ETLBox.Excel) - [ExcelSource](https://www.etlbox.net/api/etlbox.excel/excelsource/): Details for Class ExcelSource (ETLBox.Excel) ### ETLBox.Json > All classes of the namespace ETLBox.Json - [ExpandoJsonPathConverter](https://www.etlbox.net/api/etlbox.json/expandojsonpathconverter/): Details for Class ExpandoJsonPathConverter (ETLBox.Json) - [JsonDestination](https://www.etlbox.net/api/etlbox.json/jsondestination-1/): Details for Class JsonDestination (ETLBox.Json) - [JsonDestination](https://www.etlbox.net/api/etlbox.json/jsondestination/): Details for Class JsonDestination (ETLBox.Json) - [JsonPathConverter](https://www.etlbox.net/api/etlbox.json/jsonpathconverter/): Details for Class JsonPathConverter (ETLBox.Json) - [JsonProperty2JsonPath](https://www.etlbox.net/api/etlbox.json/jsonproperty2jsonpath/): Details for Class JsonProperty2JsonPath (ETLBox.Json) - [JsonSource](https://www.etlbox.net/api/etlbox.json/jsonsource-1/): Details for Class JsonSource (ETLBox.Json) - [JsonSource](https://www.etlbox.net/api/etlbox.json/jsonsource/): Details for Class JsonSource (ETLBox.Json) ### ETLBox.Logging > All classes of the namespace ETLBox.Logging - [CreateErrorTableTask](https://www.etlbox.net/api/etlbox.logging/createerrortabletask/): Details for Class CreateErrorTableTask (ETLBox.Logging) - [LoadProcess](https://www.etlbox.net/api/etlbox.logging/loadprocess/): Details for Class LoadProcess (ETLBox.Logging) - [LoadProcessTask](https://www.etlbox.net/api/etlbox.logging/loadprocesstask/): Details for Class LoadProcessTask (ETLBox.Logging) - [LogEntry](https://www.etlbox.net/api/etlbox.logging/logentry/): Details for Class LogEntry (ETLBox.Logging) - [LogHierarchyEntry](https://www.etlbox.net/api/etlbox.logging/loghierarchyentry/): Details for Class LogHierarchyEntry (ETLBox.Logging) - [LogSection](https://www.etlbox.net/api/etlbox.logging/logsection/): Details for Class LogSection (ETLBox.Logging) - [LogSettings](https://www.etlbox.net/api/etlbox.logging/logsettings/): Details for Class LogSettings (ETLBox.Logging) - [LogTask](https://www.etlbox.net/api/etlbox.logging/logtask/): Details for Class LogTask (ETLBox.Logging) ### ETLBox.MariaDb > All classes of the namespace ETLBox.MariaDb - [MariaDbConnectionManager](https://www.etlbox.net/api/etlbox.mariadb/mariadbconnectionmanager/): Details for Class MariaDbConnectionManager (ETLBox.MariaDb) - [MariaDbConnectionString](https://www.etlbox.net/api/etlbox.mariadb/mariadbconnectionstring/): Details for Class MariaDbConnectionString (ETLBox.MariaDb) ### ETLBox.MongoDb > All classes of the namespace ETLBox.MongoDb - [MongoDbDestination](https://www.etlbox.net/api/etlbox.mongodb/mongodbdestination-1/): Details for Class MongoDbDestination (ETLBox.MongoDb) - [MongoDbDestination](https://www.etlbox.net/api/etlbox.mongodb/mongodbdestination/): Details for Class MongoDbDestination (ETLBox.MongoDb) - [MongoDbSource](https://www.etlbox.net/api/etlbox.mongodb/mongodbsource-1/): Details for Class MongoDbSource (ETLBox.MongoDb) - [MongoDbSource](https://www.etlbox.net/api/etlbox.mongodb/mongodbsource/): Details for Class MongoDbSource (ETLBox.MongoDb) ### ETLBox.MySql > All classes of the namespace ETLBox.MySql - [MySqlConnectionManager](https://www.etlbox.net/api/etlbox.mysql/mysqlconnectionmanager/): Details for Class MySqlConnectionManager (ETLBox.MySql) - [MySqlConnectionString](https://www.etlbox.net/api/etlbox.mysql/mysqlconnectionstring/): Details for Class MySqlConnectionString (ETLBox.MySql) ### ETLBox.Neo4j > All classes of the namespace ETLBox.Neo4j - [Neo4jDestination](https://www.etlbox.net/api/etlbox.neo4j/neo4jdestination-1/): Details for Class Neo4jDestination (ETLBox.Neo4j) - [Neo4jDestination](https://www.etlbox.net/api/etlbox.neo4j/neo4jdestination/): Details for Class Neo4jDestination (ETLBox.Neo4j) - [Neo4jSource](https://www.etlbox.net/api/etlbox.neo4j/neo4jsource-1/): Details for Class Neo4jSource (ETLBox.Neo4j) - [Neo4jSource](https://www.etlbox.net/api/etlbox.neo4j/neo4jsource/): Details for Class Neo4jSource (ETLBox.Neo4j) ### ETLBox.Odbc > All classes of the namespace ETLBox.Odbc - [AccessOdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/accessodbcconnectionmanager/): Details for Class AccessOdbcConnectionManager (ETLBox.Odbc) - [AseOdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/aseodbcconnectionmanager/): Details for Class AseOdbcConnectionManager (ETLBox.Odbc) - [HanaOdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/hanaodbcconnectionmanager/): Details for Class HanaOdbcConnectionManager (ETLBox.Odbc) - [MariaDbOdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/mariadbodbcconnectionmanager/): Details for Class MariaDbOdbcConnectionManager (ETLBox.Odbc) - [MySqlOdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/mysqlodbcconnectionmanager/): Details for Class MySqlOdbcConnectionManager (ETLBox.Odbc) - [OdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/odbcconnectionmanager/): Details for Class OdbcConnectionManager (ETLBox.Odbc) - [OdbcConnectionString](https://www.etlbox.net/api/etlbox.odbc/odbcconnectionstring/): Details for Class OdbcConnectionString (ETLBox.Odbc) - [OracleOdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/oracleodbcconnectionmanager/): Details for Class OracleOdbcConnectionManager (ETLBox.Odbc) - [PostgresOdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/postgresodbcconnectionmanager/): Details for Class PostgresOdbcConnectionManager (ETLBox.Odbc) - [SnowflakeOdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/snowflakeodbcconnectionmanager/): Details for Class SnowflakeOdbcConnectionManager (ETLBox.Odbc) - [SparkOdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/sparkodbcconnectionmanager/): Details for Class SparkOdbcConnectionManager (ETLBox.Odbc) - [SqlOdbcConnectionManager](https://www.etlbox.net/api/etlbox.odbc/sqlodbcconnectionmanager/): Details for Class SqlOdbcConnectionManager (ETLBox.Odbc) ### ETLBox.OleDb > All classes of the namespace ETLBox.OleDb - [AccessOleDbConnectionManager](https://www.etlbox.net/api/etlbox.oledb/accessoledbconnectionmanager/): Details for Class AccessOleDbConnectionManager (ETLBox.OleDb) - [OleDbConnectionManager](https://www.etlbox.net/api/etlbox.oledb/oledbconnectionmanager/): Details for Class OleDbConnectionManager (ETLBox.OleDb) - [OleDbConnectionString](https://www.etlbox.net/api/etlbox.oledb/oledbconnectionstring/): Details for Class OleDbConnectionString (ETLBox.OleDb) - [SqlOleDbConnectionManager](https://www.etlbox.net/api/etlbox.oledb/sqloledbconnectionmanager/): Details for Class SqlOleDbConnectionManager (ETLBox.OleDb) ### ETLBox.Oracle > All classes of the namespace ETLBox.Oracle - [OracleConnectionManager](https://www.etlbox.net/api/etlbox.oracle/oracleconnectionmanager/): Details for Class OracleConnectionManager (ETLBox.Oracle) - [OracleConnectionString](https://www.etlbox.net/api/etlbox.oracle/oracleconnectionstring/): Details for Class OracleConnectionString (ETLBox.Oracle) ### ETLBox.Parquet > All classes of the namespace ETLBox.Parquet - [ParquetColumn](https://www.etlbox.net/api/etlbox.parquet/parquetcolumn/): Details for Class ParquetColumn (ETLBox.Parquet) - [ParquetDestination](https://www.etlbox.net/api/etlbox.parquet/parquetdestination-1/): Details for Class ParquetDestination (ETLBox.Parquet) - [ParquetDestination](https://www.etlbox.net/api/etlbox.parquet/parquetdestination/): Details for Class ParquetDestination (ETLBox.Parquet) - [ParquetSource](https://www.etlbox.net/api/etlbox.parquet/parquetsource-1/): Details for Class ParquetSource (ETLBox.Parquet) - [ParquetSource](https://www.etlbox.net/api/etlbox.parquet/parquetsource/): Details for Class ParquetSource (ETLBox.Parquet) ### ETLBox.Postgres > All classes of the namespace ETLBox.Postgres - [PostgresConnectionManager](https://www.etlbox.net/api/etlbox.postgres/postgresconnectionmanager/): Details for Class PostgresConnectionManager (ETLBox.Postgres) - [PostgresConnectionString](https://www.etlbox.net/api/etlbox.postgres/postgresconnectionstring/): Details for Class PostgresConnectionString (ETLBox.Postgres) ### ETLBox.Redis > All classes of the namespace ETLBox.Redis - [RedisDestination](https://www.etlbox.net/api/etlbox.redis/redisdestination-1/): Details for Class RedisDestination (ETLBox.Redis) - [RedisDestination](https://www.etlbox.net/api/etlbox.redis/redisdestination/): Details for Class RedisDestination (ETLBox.Redis) - [RedisSource](https://www.etlbox.net/api/etlbox.redis/redissource-1/): Details for Class RedisSource (ETLBox.Redis) - [RedisSource](https://www.etlbox.net/api/etlbox.redis/redissource/): Details for Class RedisSource (ETLBox.Redis) ### ETLBox.Sap.Ase > All classes of the namespace ETLBox.Sap.Ase - [AseConnectionManager](https://www.etlbox.net/api/etlbox.sap.ase/aseconnectionmanager/): Details for Class AseConnectionManager (ETLBox.Sap.Ase) ### ETLBox.Sap.Hana > All classes of the namespace ETLBox.Sap.Hana - [HanaConnectionManager](https://www.etlbox.net/api/etlbox.sap.hana/hanaconnectionmanager/): Details for Class HanaConnectionManager (ETLBox.Sap.Hana) - [HanaConnectionString](https://www.etlbox.net/api/etlbox.sap.hana/hanaconnectionstring/): Details for Class HanaConnectionString (ETLBox.Sap.Hana) ### ETLBox.Snowflake > All classes of the namespace ETLBox.Snowflake - [SnowflakeConnectionManager](https://www.etlbox.net/api/etlbox.snowflake/snowflakeconnectionmanager/): Details for Class SnowflakeConnectionManager (ETLBox.Snowflake) - [SnowflakeConnectionString](https://www.etlbox.net/api/etlbox.snowflake/snowflakeconnectionstring/): Details for Class SnowflakeConnectionString (ETLBox.Snowflake) ### ETLBox.SQLite > All classes of the namespace ETLBox.SQLite - [SQLiteConnectionManager](https://www.etlbox.net/api/etlbox.sqlite/sqliteconnectionmanager/): Details for Class SQLiteConnectionManager (ETLBox.SQLite) - [SQLiteConnectionString](https://www.etlbox.net/api/etlbox.sqlite/sqliteconnectionstring/): Details for Class SQLiteConnectionString (ETLBox.SQLite) ### ETLBox.SqlServer > All classes of the namespace ETLBox.SqlServer - [SqlConnectionManager](https://www.etlbox.net/api/etlbox.sqlserver/sqlconnectionmanager/): Details for Class SqlConnectionManager (ETLBox.SqlServer) - [SqlConnectionString](https://www.etlbox.net/api/etlbox.sqlserver/sqlconnectionstring/): Details for Class SqlConnectionString (ETLBox.SqlServer) ### ETLBox.Xml > All classes of the namespace ETLBox.Xml - [ElementMetaData](https://www.etlbox.net/api/etlbox.xml/elementmetadata/): Details for Class ElementMetaData (ETLBox.Xml) - [XmlDestination](https://www.etlbox.net/api/etlbox.xml/xmldestination-1/): Details for Class XmlDestination (ETLBox.Xml) - [XmlDestination](https://www.etlbox.net/api/etlbox.xml/xmldestination/): Details for Class XmlDestination (ETLBox.Xml) - [XmlSchemaValidation](https://www.etlbox.net/api/etlbox.xml/xmlschemavalidation-1/): Details for Class XmlSchemaValidation (ETLBox.Xml) - [XmlSchemaValidation](https://www.etlbox.net/api/etlbox.xml/xmlschemavalidation/): Details for Class XmlSchemaValidation (ETLBox.Xml) - [XmlSource](https://www.etlbox.net/api/etlbox.xml/xmlsource-1/): Details for Class XmlSource (ETLBox.Xml) - [XmlSource](https://www.etlbox.net/api/etlbox.xml/xmlsource/): Details for Class XmlSource (ETLBox.Xml) ## Product > ETLBox product guides: installation, quick start, licensing, release notes, and how to try the code-first ETL library for C# and .NET. - [Getting Started](https://www.etlbox.net/product/getting-started/): Getting started with ETLBox: install the NuGet packages, run a free trial, and build your first code-first ETL pipeline in C# and .NET. - [Product Information](https://www.etlbox.net/product/details/): Product details for ETLBox: licensing options, how to register a license key, and release notes for the .NET ETL library and related packages. ### Getting Started > Getting started with ETLBox: install the NuGet packages, run a free trial, and build your first code-first ETL pipeline in C# and .NET. - [Welcome to ETLBox](https://www.etlbox.net/product/getting-started/welcome/): Welcome to ETLBox, the code-first ETL library for C# and .NET. Build reliable data integration workflows in your IDE instead of using graphical ETL tools. - [Installation and Setup](https://www.etlbox.net/product/getting-started/installation/): Install ETLBox from NuGet and add the database or file connectors you need. A short setup guide so you can start building C# ETL pipelines quickly. - [Quick Start](https://www.etlbox.net/product/getting-started/quick-start/): Create your first ETLBox pipeline in C#: connect sources, transform rows, and load destinations. A practical quick start for the .NET ETL library. - [Going Further](https://www.etlbox.net/product/getting-started/going-further/): Go beyond the basics with ETLBox: advanced data flows, more connectors, logging, and patterns for production-grade ETL pipelines in C# and .NET. - [Try for free](https://www.etlbox.net/product/getting-started/get-trial/): Start a free ETLBox trial with full access to every connector and transformation. Evaluate the .NET ETL library in your own project without feature limits. ### Product Information > Product details for ETLBox: licensing options, how to register a license key, and release notes for the .NET ETL library and related packages. - [Licensing Options](https://www.etlbox.net/product/details/licensing/): ETLBox licensing options for internal projects and commercial redistribution. Choose Standard or Enterprise OEM plans that fit how you ship .NET software. - [Register License Key](https://www.etlbox.net/product/details/register-license/): Register your ETLBox license key locally, in CI, or in production. This guide covers the methods to unlock the full .NET ETL library without limitations. - [Release notes](https://www.etlbox.net/product/details/release-notes/): ETLBox release notes from version 2.3 onward. See new connectors, fixes, and breaking changes for the code-first ETL library for .NET and C#. ## Documentation > ETLBox documentation for building code-first ETL pipelines in C# and .NET: connectors, transformations, control flow, logging, and data-flow patterns. - [Introduction](https://www.etlbox.net/docs/introduction/): Introduction to ETLBox: core concepts for building code-first ETL pipelines in .NET, from simple flows to linking components and executing data workflows. - [Relational Databases](https://www.etlbox.net/docs/relational-databases/): Use ETLBox with relational databases: connection managers, DbSource, DbDestination, and DbMerge for SQL Server, PostgreSQL, MySQL, Oracle, and more. - [Streaming Connectors](https://www.etlbox.net/docs/streaming-connectors/): Streaming connectors in ETLBox read and write CSV, JSON, XML, Excel, Parquet, and cloud storage with low memory use in high-throughput .NET data flows. - [Specialized Connectors](https://www.etlbox.net/docs/specialized-connectors/): Specialized ETLBox connectors for logging, custom endpoints, and discarding data. Overview of components beyond files, databases, and streaming sources. - [NoSql Databases](https://www.etlbox.net/docs/nosql-databases/): Connect ETLBox to NoSQL stores such as MongoDB, Redis, Couchbase, and Azure Cosmos DB. Overview of sources and destinations for document and key-value data. - [Messaging](https://www.etlbox.net/docs/messaging/): Messaging connectors in ETLBox integrate queues and brokers such as Kafka and Azure Service Bus into your C# data flows for event-driven ETL. - [Transformations](https://www.etlbox.net/docs/transformations/): ETLBox transformation components reshape, filter, join, and validate rows in a data flow. Overview of row, blocking, and lookup transformations for .NET. - [Blocking Transformations](https://www.etlbox.net/docs/blocking-transformations/): Blocking transformations in ETLBox wait for a complete dataset before they continue. Learn Sort, Aggregation, and similar components for .NET pipelines. - [Logging](https://www.etlbox.net/docs/logging/): Logging in ETLBox captures detailed information about the execution of your ETL workflows—such as task names, start and end times, durations, success status, and error messages. - [Control Flow](https://www.etlbox.net/docs/control-flow/): The ControlFlow category in ETLBox includes a set of tasks that let you interact with your database structure and content in a consistent, database-agnostic way. ### Introduction > Introduction to ETLBox: core concepts for building code-first ETL pipelines in .NET, from simple flows to linking components and executing data workflows. - [Simple Flow](https://www.etlbox.net/docs/introduction/simple-flow/): Build your first ETLBox data flow in C#: connect a source, add transformations, and write to a destination. A short introduction to ETL pipelines in .NET. - [Linking Components](https://www.etlbox.net/docs/introduction/linking/): Learn how to link ETLBox sources, transformations, and destinations into a working data flow. Linking is required before you can execute a pipeline in .NET. - [Working with Types](https://www.etlbox.net/docs/introduction/types/): Learn how to use strongly typed objects (POCOs) and dynamic ExpandoObject in ETLBox. This guide explains automatic property mapping, type conversions, and how to dynamically adapt ETL processes using configuration files. - [Executing a Network](https://www.etlbox.net/docs/introduction/execution/): Learn how to execute ETLBox data flow networks synchronously or asynchronously. This guide covers different execution methods, handling unlinked nodes, monitoring progress, error handling, and canceling running networks. - [Shared Features](https://www.etlbox.net/docs/introduction/shared/): This article explains the common properties, methods, and behaviors shared by all ETLBox components. Learn how sources, transformations, and destinations manage data flow, handle errors, track progress, and configure execution settings. ### Relational Databases > Use ETLBox with relational databases: connection managers, DbSource, DbDestination, and DbMerge for SQL Server, PostgreSQL, MySQL, Oracle, and more. - [Database Connectors](https://www.etlbox.net/docs/relational-databases/overview/): This article provides an overview of ETLBox's database connectors, explaining how to read, write, and merge data using DbSource, DbDestination, and DbMerge. It also covers supported databases and connection management. - [Connection Manager](https://www.etlbox.net/docs/relational-databases/connection-manager/): This article explains how ETLBox connection managers handle database communication, ensuring compatibility across different database systems. It covers supported connection managers, configuration examples, transaction management and more. - [Database Source](https://www.etlbox.net/docs/relational-databases/dbsource/): DbSource provides flexible database access, automatically retrieving metadata and supporting parameterized queries. It allows column mapping, transformations through column converters, and dynamic object usage. - [Database Destination](https://www.etlbox.net/docs/relational-databases/dbdestination/): DbDestination is an optimized component for efficiently writing data into relational databases. It supports bulk inserts, updates, and deletes, allowing high-performance data loading while maintaining flexibility through column mapping, transformations, and error handling. - [Database Type Check](https://www.etlbox.net/docs/relational-databases/db-type-check/): DbTypeCheck validates incoming data against database column types, ensuring consistency before insertion. Invalid records can be redirected, preventing errors in the data flow. - [Database Merge](https://www.etlbox.net/docs/relational-databases/dbmerge/): DbSource provides flexible database access, automatically retrieving metadata and supporting parameterized queries. It allows column mapping, transformations through column converters, and dynamic object usage. ### Streaming Connectors > Streaming connectors in ETLBox read and write CSV, JSON, XML, Excel, Parquet, and cloud storage with low memory use in high-throughput .NET data flows. - [Overview](https://www.etlbox.net/docs/streaming-connectors/overview/): This article provides an overview of ETLBox Streaming Connectors, which allow seamless data integration from flat files, REST APIs, and cloud storage (Azure Blob). It introduces the supported formats (CSV, JSON, XML, Excel, Text, Parquet) and highlights the key capabilities of streaming connectors, including real-time processing, resource type flexibility, and seamless data transformations. - [Shared Features](https://www.etlbox.net/docs/streaming-connectors/shared/): This article covers the common functionalities of all ETLBox Streaming Connectors, including resource types (files, HTTP, Azure Blob), streaming behavior, paging, buffering, encoding, dynamic object support, and advanced configurations. - [CSV](https://www.etlbox.net/docs/streaming-connectors/csv/): This guide walks you through everything you need to know about using the ETLBox CSV Connector. You'll learn how to read CSV data with CsvSource, write it with CsvDestination, and customize how the data is processed. - [Excel](https://www.etlbox.net/docs/streaming-connectors/excel/): With the ETLBox Excel Connector, you can import and export data between Excel files and your ETL pipelines. ExcelSource supports reading from specific sheets, handling files without headers, and mapping columns dynamically. ExcelDestination enables writing structured data while offering options like custom sheet names, appending to existing files, and adjusting header settings. - [JSON](https://www.etlbox.net/docs/streaming-connectors/json/): This guide walks you through everything you need to know about working with JSON in ETLBox. You'll learn how to use JsonSource to read JSON, JsonDestination to write it, and how to handle nested structures with JsonPathConverter and ExpandoJsonPathConverter. - [Parquet](https://www.etlbox.net/docs/streaming-connectors/parquet/): The ETLBox Parquet Connector simplifies working with Parquet files by converting their columnar format into easily processed rows. It supports both structured POCOs and flexible dynamic objects, making it ideal for handling large datasets from files, web services, or cloud storage. - [Text](https://www.etlbox.net/docs/streaming-connectors/text/): The ETLBox Text Connector provides full flexibility for reading and writing custom text formats. Whether you're working with log files, reports, or non-standard text structures, it allows you to define exactly how data is parsed and formatted in your ETL pipeline. - [XML](https://www.etlbox.net/docs/streaming-connectors/xml/): This guide walks you through how to use the ETLBox XML Connector, including reading XML with XmlSource and writing structured data with XmlDestination. ### Specialized Connectors > Specialized ETLBox connectors for logging, custom endpoints, and discarding data. Overview of components beyond files, databases, and streaming sources. - [Vector Store (AI)](https://www.etlbox.net/docs/specialized-connectors/vector/): VectorStoreSource and VectorStoreDestination read and write any Microsoft.Extensions.VectorData collection from an ETLBox data flow. A VECTOR column in a relational database stays on the normal database connectors. - [Overview](https://www.etlbox.net/docs/specialized-connectors/overview/): With ETLBox’s Memory, Custom, and DataFrame connectors, you can read and write data from lists, collections, custom sources, and Microsoft.Data.Analysis.DataFrame. - [Custom Connector](https://www.etlbox.net/docs/specialized-connectors/custom/): ETLBox provides CustomSource and CustomDestination for row-by-row data processing, allowing you to generate records dynamically or handle incoming data with a custom action. For batch processing, CustomBatchSource and CustomBatchDestination enable reading and writing data in groups, improving efficiency when working with large datasets. These connectors are ideal when working with non-standard data sources or when built-in components don’t fit your specific requirements. - [DataFrame Connector](https://www.etlbox.net/docs/specialized-connectors/dataframe/): ETLBox’s DataFrameSource and DataFrameDestination let you easily connect DataFrames to your ETL pipelines. You can pull data from a DataFrame and process it like any other source, or take transformed data and store it back into a DataFrame. - [In-Memory Data](https://www.etlbox.net/docs/specialized-connectors/in-memory/): The MemorySource and MemoryDestination connectors make it easy to read and write data directly from .NET collections like lists and arrays. MemorySource streams data from in-memory collections, while MemoryDestination collects incoming records. If you need to access data while it’s still being processed, ConcurrentMemoryDestination offers a thread-safe solution. - [Log Destination](https://www.etlbox.net/docs/specialized-connectors/log/): The LogDestination writes each incoming record into a log output using a Microsoft ILogger. Records are serialized as json and logged with a configurable log level and message template. It can also be linked directly to the error output of any component to log erroneous records. - [Void Destination](https://www.etlbox.net/docs/specialized-connectors/void/): VoidDestination discards rows in an ETLBox data flow. Use it to drop unused branches, measure throughput, or complete a pipeline without writing output. ### NoSql Databases > Connect ETLBox to NoSQL stores such as MongoDB, Redis, Couchbase, and Azure Cosmos DB. Overview of sources and destinations for document and key-value data. - [Overview](https://www.etlbox.net/docs/nosql-databases/overview/): ETLBox supports a variety of NoSQL databases, offering connectors that integrate document, key-value, and table-based storage systems into your data workflows. This overview provides a summary of the available connectors, their database types, and the corresponding ETLBox packages. - [Azure Cosmos DB](https://www.etlbox.net/docs/nosql-databases/cosmos/): Learn how to connect ETLBox with Azure Cosmos DB to read and write JSON documents in your ETL workflows. This guide walks through reading data using queries, writing documents with bulk or transactional operations, and working with both strongly typed and dynamic objects. - [Azure Tables](https://www.etlbox.net/docs/nosql-databases/tables/): This guide shows how to use ETLBox with Azure Table Storage. You'll learn how to configure connections, read data into your dataflows, and write updates using various bulk operations. The connector supports both strongly typed entities and dynamic objects, and can be used with or without transactional batching. - [Couchbase](https://www.etlbox.net/docs/nosql-databases/couchbase/): This article explains how to use the ETLBox Couchbase connector to read and write JSON documents using N1QL queries and the Couchbase .NET SDK. - [Mongo DB](https://www.etlbox.net/docs/nosql-databases/mongo/): The ETLBox MongoDB connector helps you easily integrate MongoDB into your data workflows. Whether you're working with structured classes or flexible dynamic data, it provides a straightforward way to read from and write to MongoDB collections. - [Neo4j](https://www.etlbox.net/docs/nosql-databases/neo4j/): The ETLBox Neo4j connector allows you to work with graph data stored in a Neo4j database. It supports reading structured results from Cypher queries and writing nodes and relationships using custom Cypher statements. - [Redis](https://www.etlbox.net/docs/nosql-databases/redis/): This article explains how to use the ETLBox Redis connectors to read from and write to Redis databases. You'll learn how to scan keys using patterns, control serialization formats, and configure key handling for inserting data. ### Messaging > Messaging connectors in ETLBox integrate queues and brokers such as Kafka and Azure Service Bus into your C# data flows for event-driven ETL. - [Overview](https://www.etlbox.net/docs/messaging/overview/): This article provides an overview of ETLBox messaging connectors, which support integration with event-driven systems like Azure Service Bus and Apache Kafka. - [Apache Kafka](https://www.etlbox.net/docs/messaging/kafka/): This article explains how to use the ETLBox Kafka connector to send and receive data from Apache Kafka. It covers basic setup, dynamic object handling, custom serialization, and transaction support. - [Azure Service Bus](https://www.etlbox.net/docs/messaging/service-bus/): Azure Service Bus is a fully managed enterprise message broker. With ETLBox, you can integrate Service Bus messaging into your ETL flows, enabling reliable, decoupled communication between services and pipelines. This connector supports flexible serialization options, filtering, message batching, and reuse of ServiceBusClient instances for performance optimization. ### Transformations > ETLBox transformation components reshape, filter, join, and validate rows in a data flow. Overview of row, blocking, and lookup transformations for .NET. - [Chat (AI)](https://www.etlbox.net/docs/transformations/chat/): Use ChatTransformation to send each row to any IChatClient and write the model's object back into the data flow. The client comes from Microsoft.Extensions.AI, so OpenAI, Anthropic, and other providers all plug in the same way. - [Embedding (AI)](https://www.etlbox.net/docs/transformations/embedding/): Use EmbeddingTransformation to turn one text field of each row into a vector. The generator is an IEmbeddingGenerator from Microsoft.Extensions.AI, so any embedding provider can be plugged in. - [Non-Blocking Transformation](https://www.etlbox.net/docs/transformations/overview/): Provides an overview of non-blocking transformations in ETLBox. Describes their execution model, buffer behavior, and functional characteristics, with a detailed comparison to blocking transformations and a categorized summary of all non-blocking components. - [Row Transformation](https://www.etlbox.net/docs/transformations/row/): Explains the usage of RowTransformation, a non-blocking transformation in ETLBox that processes each row individually using user-defined C# logic. Covers type conversion, dynamic object handling, and initialization behavior. - [Cached Row Transformation](https://www.etlbox.net/docs/transformations/cached-row/): Explains how to use CachedRowTransformation to process each row with access to a configurable in-memory cache. Covers basic usage, cache configuration, and key-based deduplication using custom cache managers. - [Column Transformation](https://www.etlbox.net/docs/transformations/column/): ColumnTransformation is a transformation that renames, reorders, removes, or adds columns. Column mappings can be provided manually or through attributes like RenameColumn, ReorderColumn, RemoveColumn, and AddColumn. - [Distinct](https://www.etlbox.net/docs/transformations/distinct/): Explains how to use the Distinct transformation in ETLBox to remove duplicate rows based on selected properties or custom logic. Covers attribute-based configuration, dynamic object support, duplicate redirection, and runtime metrics for tracking distinct and duplicate rows. - [Conditional Split](https://www.etlbox.net/docs/transformations/conditional-split/): ConditionalSplit routes each ETLBox row to different outputs based on a predicate. Send matching and non-matching records down separate pipeline paths. - [Where Transformation](https://www.etlbox.net/docs/transformations/filter/): Explains how to use WhereTransformation to remove rows from a data flow based on a predicate. Includes usage with strongly typed and dynamic objects, alternative predicate-based linking, error handling, and row count tracking. - [Lookup Transformation](https://www.etlbox.net/docs/transformations/lookup/): LookupTransformation enriches ETLBox rows with related data as they flow through the pipeline. Add reference data and keep your .NET ETL output complete. - [Merge Join](https://www.etlbox.net/docs/transformations/merge-join/): Explains how to use the MergeJoin transformation in ETLBox to combine rows from two input sources. Covers always-join and comparison-based join modes, buffering behavior, sorting requirements, support for typed and dynamic data, and how unmatched records are handled. - [Multicast](https://www.etlbox.net/docs/transformations/multicast/): Explains how to use the MergeJoin transformation in ETLBox to combine rows from two input sources. Covers always-join and comparison-based join modes, buffering behavior, sorting requirements, support for typed and dynamic data, and how unmatched records are handled. - [Row Duplication](https://www.etlbox.net/docs/transformations/row-duplication/): Describes how to use the RowDuplication transformation in ETLBox to create multiple copies of input rows. Covers configuration via duplication count and conditional duplication using predicates. Includes support for strongly typed and dynamic data, and explains customization of cloning behavior. - [Row Multiplication](https://www.etlbox.net/docs/transformations/row-multiplication/): Explains how to use the RowMultiplication transformation in ETLBox to produce multiple output rows from a single input row. Supports both same-type and cross-type transformations, enabling normalization, data expansion, and complex conversions. - [Row Validation](https://www.etlbox.net/docs/transformations/row-validation/): RowValidation is a transformation that evaluates rows based on configurable validation rules. It supports both row-level and column-level validation using predicates or built-in validation methods. Invalid rows can be redirected, logged, or annotated with validation errors, making it suitable for comprehensive data quality checks in ETL workflows. - [Xml Schema Validation](https://www.etlbox.net/docs/transformations/xml-schema/): The XmlSchemaValidation transformation checks whether an XML string from each input row conforms to a specified XSD schema. If the XML is valid, the row proceeds in the data flow; otherwise, it is redirected to an error output. ### Blocking Transformations > Blocking transformations in ETLBox wait for a complete dataset before they continue. Learn Sort, Aggregation, and similar components for .NET pipelines. - [Chat Batch (AI)](https://www.etlbox.net/docs/blocking-transformations/chat-batch/): Use ChatBatchTransformation to send a group of rows to an IChatClient in one request. The client is the same Microsoft.Extensions.AI abstraction as ChatTransformation. - [Embedding Batch (AI)](https://www.etlbox.net/docs/blocking-transformations/embedding-batch/): Use EmbeddingBatchTransformation to embed a group of rows with one generator call. The generator is the same IEmbeddingGenerator abstraction as EmbeddingTransformation. - [Blocking Transformations](https://www.etlbox.net/docs/blocking-transformations/overview/): This article provides an overview of blocking transformations in ETLBox. Blocking transformations differ from non-blocking ones by buffering data internally before processing begins. Depending on the transformation, buffering can range from accumulating all records to handling fixed-size batches or maintaining partial aggregation state. - [Aggregation](https://www.etlbox.net/docs/blocking-transformations/aggregation/): The Aggregation component in ETLBox is a blocking transformation used to compute aggregate values over data streams. It supports built-in functions like sum, count, min, max, and more, and enables custom logic through aggregation actions or functions. - [Batch Transformation](https://www.etlbox.net/docs/blocking-transformations/batch/): The BatchTransformation lets you process and transform your data in fixed-size chunks (batches) instead of row-by-row. This is useful when your logic depends on comparing or combining multiple rows at once. - [Block Transformation](https://www.etlbox.net/docs/blocking-transformations/block/): BlockTransformation is a blocking component that collects all input rows before executing a user-defined function on the entire dataset. The function receives the complete list of input records and can return any number of output records, even with a different data type. - [Cached Batch Transformation](https://www.etlbox.net/docs/blocking-transformations/cached-batch/): The CachedBatchTransformation is a blocking transformation that processes incoming rows in configurable batches while maintaining a memory-based cache of previously processed rows. - [Cross Join](https://www.etlbox.net/docs/blocking-transformations/cross-join/): The CrossJoin works by first loading all rows from one input (the in-memory target) into memory. Then, for each row from the other input (the passing target), it pairs it with every row from the in-memory side using your custom join logic. This produces a full cross-product of the two datasets. - [Pivot](https://www.etlbox.net/docs/blocking-transformations/pivot/): The Pivot transformation reshapes your data by turning row values into column headers. Using [PivotColumn] and [PivotValue], it organizes values horizontally, making it easier to compare or summarize related data side by side. - [Sort](https://www.etlbox.net/docs/blocking-transformations/sort/): As a blocking transformation, Sort requires all input data to be loaded before any output is produced. You define the sorting logic using a comparison function or by specifying SortColumn definitions. - [Wait Transformation](https://www.etlbox.net/docs/blocking-transformations/wait/): The WaitTransformation is used to delay the processing of input data until one or more specified conditions are met. It ensures that data only flows through this component once other data flow components or external tasks (represented by TaskCompletionSource) have completed. ### Logging > Logging in ETLBox captures detailed information about the execution of your ETL workflows—such as task names, start and end times, durations, success status, and error messages. - [Structured Logging](https://www.etlbox.net/docs/logging/structured-logging/): Structured logging in ETLBox records task execution, duration, and errors via Microsoft logging extensions so you can monitor .NET ETL pipelines in production. - [Logging Extensions](https://www.etlbox.net/docs/logging/extended-logging/): ETLBox.Logging helpers for load-process tracking, custom log entries, error tables, and database-backed logging across your .NET ETL workflows. ### Control Flow > The ControlFlow category in ETLBox includes a set of tasks that let you interact with your database structure and content in a consistent, database-agnostic way. - [Overview](https://www.etlbox.net/docs/control-flow/overview/): Control Flow Tasks take the hassle out of routine database operations. They’re built to help you automate common actions—like creating tables or checking if a view exists—so you can focus on building your ETL logic, not writing SQL for every platform. - [Table & View Tasks](https://www.etlbox.net/docs/control-flow/table-tasks/): The Table and View Tasks category includes components for defining and manipulating tables or views programmatically. With support for data type conversion, schema introspection, and conditional logic, these tasks help you manage table structures reliably across different databases. - [DB Structure Tasks](https://www.etlbox.net/docs/control-flow/db-structure/): This section covers Control Flow Tasks that create, drop, or check for the existence of databases, schemas, indexes, and procedures. These are useful when setting up environments, applying schema changes, or writing integration tests. - [SQL Task](https://www.etlbox.net/docs/control-flow/sql-task/): SqlTask is a versatile utility for executing raw SQL commands within ETLBox workflows. It supports non-query execution, scalar results, row-by-row reading, and bulk operations. ## Recipes > ETLBox code recipes and C# examples: sources, destinations, transformations, file streaming, cloud jobs, and end-to-end ETL scenarios for .NET. - [Fundamentals](https://www.etlbox.net/recipes/fundamentals/): This section introduces the essential building blocks of ETLBox, providing generic, multi-purpose examples that demonstrate the core concepts and data flow patterns. - [ETL & Data Integration](https://www.etlbox.net/recipes/etl/): This category showcases end-to-end data integration scenarios using ETLBox, combining sources, transformations, and destinations to implement complete ETL workflows across different systems and data formats. - [Flat File & Streaming](https://www.etlbox.net/recipes/flat-file-streaming/): Recipes for flat files and streaming formats in ETLBox: CSV, JSON, and XML examples that read, transform, and write data in C# .NET pipelines. - [Web & Cloud](https://www.etlbox.net/recipes/web-cloud/): Web and cloud recipes for ETLBox: Azure Functions, REST JSON, SFTP, and scraping examples that run data flows in hosted .NET environments. - [Source Patterns](https://www.etlbox.net/recipes/sources/): This category includes targeted examples showing how to configure and use various sources in ETLBox, covering file-based, database, and other data endpoints in isolation. - [Destination Patterns](https://www.etlbox.net/recipes/destinations/): This category includes targeted examples showing how to configure and use various destinations in ETLBox, covering file-based, database, and other data endpoints in isolation. - [Transformation Patterns](https://www.etlbox.net/recipes/transformations/): This category provides focused examples for individual transformation components in ETLBox, demonstrating how each one works in isolation to manipulate or enrich data within a pipeline. - [Performance](https://www.etlbox.net/recipes/performance/): Performance recipes for ETLBox: parallel execution, async jobs, and patterns that keep high-volume .NET data flows fast and efficient. - [Testing](https://www.etlbox.net/recipes/testing/): This category focuses on strategies and examples for testing ETLBox data flows, including validation of transformation logic, data consistency checks, and approaches for automated or unit testing within ETL processes. ### Fundamentals > This section introduces the essential building blocks of ETLBox, providing generic, multi-purpose examples that demonstrate the core concepts and data flow patterns. - [Customer Rating Demo](https://www.etlbox.net/recipes/fundamentals/rating-orders/): A full ETLBox demo that rates customer orders: read CSV, transform and look up data, then write results. A realistic C# pipeline for .NET. - [Control & Dataflow Basics](https://www.etlbox.net/recipes/fundamentals/basic-example/): ETLBox control flow and data flow basics in C#. A short example that creates a simple pipeline and runs ControlFlow tasks in .NET. - [Data Lookup](https://www.etlbox.net/recipes/fundamentals/lookup-examples/): Lookup examples in ETLBox: enrich rows from reference data with LookupTransformation and related C# patterns for .NET data flows. ### ETL & Data Integration > This category showcases end-to-end data integration scenarios using ETLBox, combining sources, transformations, and destinations to implement complete ETL workflows across different systems and data formats. - [Data Lake](https://www.etlbox.net/recipes/etl/data-lake/): Copy SQL Server rows into Azure Blob Storage with ETLBox. A C# example using an Azure Function to land fresh data in a cloud data lake. - [Duplicate Checks](https://www.etlbox.net/recipes/etl/duplicate-checks/): Filter duplicate rows in ETLBox sources. C# examples of distinct checks and other techniques to keep your .NET data pipeline output unique. - [From Files to Databases](https://www.etlbox.net/recipes/etl/across-files-databases/): Move data across files and databases with ETLBox. A C# example of integrating CSV or other files with SQL servers in one .NET data flow. - [Pivot Data](https://www.etlbox.net/recipes/etl/pivot-data/): Pivot and unpivot CSV data with ETLBox. C# examples that reshape rows and columns in a .NET data flow before you write the result. ### Flat File & Streaming > Recipes for flat files and streaming formats in ETLBox: CSV, JSON, and XML examples that read, transform, and write data in C# .NET pipelines. - [Csv to Json](https://www.etlbox.net/recipes/flat-file-streaming/csv-to-json/): Convert CSV to JSON with ETLBox using typed objects or ExpandoObject. C# examples for streaming file transformations in .NET. - [Flatten Nested Array in Xml](https://www.etlbox.net/recipes/flat-file-streaming/xml-flatten-nested-array/): Flatten nested XML arrays with ETLBox. A C# example that denormalizes repeating elements into rows for easier processing in .NET. - [Json Path in Dynamic Object](https://www.etlbox.net/recipes/flat-file-streaming/dynamic-json-path/): Use JSON path with dynamic objects in ETLBox. C# examples that simplify navigation in nested JSON while streaming data in .NET. ### Web & Cloud > Web and cloud recipes for ETLBox: Azure Functions, REST JSON, SFTP, and scraping examples that run data flows in hosted .NET environments. - [Integrate REST Endpoints](https://www.etlbox.net/recipes/web-cloud/json-web-service/): Read and post JSON with ETLBox against REST endpoints. A C# example that transforms properties while moving data between web services. - [Azure Function App](https://www.etlbox.net/recipes/web-cloud/azure-function/): Run ETLBox inside an Azure Function. A C# example that deploys a serverless .NET job with ETLBox as a dependency for cloud ETL. - [SFTP Example](https://www.etlbox.net/recipes/web-cloud/sftp/): Fetch files from SFTP with ETLBox and SSH.NET. A practical C# example for pulling remote data into a .NET pipeline. - [Web Scraping](https://www.etlbox.net/recipes/web-cloud/web-scraping/): Scrape a website with ETLBox, then store, aggregate, and display the result. A C# example of turning HTML into structured .NET data. ### Source Patterns > This category includes targeted examples showing how to configure and use various sources in ETLBox, covering file-based, database, and other data endpoints in isolation. - [Vector Store Source](https://www.etlbox.net/recipes/sources/vectorsource/): C# recipes for VectorStoreSource in ETLBox. Run a similarity search or a filtered read against a vector store and stream the hits into a data flow. - [Csv Source](https://www.etlbox.net/recipes/sources/csvsource/): C# recipes for CsvSource in ETLBox. Read CSV files into a data flow with examples you can copy into your .NET ETL pipelines. - [Custom Batch Source](https://www.etlbox.net/recipes/sources/custom-batchsource/): C# recipes for CustomBatchSource in ETLBox. Pull rows in batches from any origin you implement, with examples for custom .NET sources. - [Custom Source](https://www.etlbox.net/recipes/sources/custom-source/): C# recipes for CustomSource in ETLBox. Produce pipeline rows from your own reader logic with practical examples for .NET ETL flows. - [Database Source](https://www.etlbox.net/recipes/sources/dbsource/): C# recipes for DbSource in ETLBox. Stream query results from SQL databases into a data flow with examples for .NET ETL projects. - [Excel Source](https://www.etlbox.net/recipes/sources/excelsource/): C# recipes for ExcelSource in ETLBox. Read worksheets into a pipeline with examples for spreadsheet-based .NET data integration. - [Json Source](https://www.etlbox.net/recipes/sources/jsonsource/): C# recipes for JsonSource in ETLBox. Stream JSON files or payloads into a data flow with copyable C# examples for .NET. - [Memory Source](https://www.etlbox.net/recipes/sources/memory-source/): C# recipes for MemorySource in ETLBox. Feed in-memory collections into a pipeline for tests, demos, or chained .NET data flows. - [Xml Source](https://www.etlbox.net/recipes/sources/xmlsource/): C# recipes for XmlSource in ETLBox. Read XML into a data flow with examples you can adapt for nested documents in .NET. ### Destination Patterns > This category includes targeted examples showing how to configure and use various destinations in ETLBox, covering file-based, database, and other data endpoints in isolation. - [Vector Store Destination](https://www.etlbox.net/recipes/destinations/vectordestination/): C# recipes for VectorStoreDestination in ETLBox. Upsert pipeline rows into a vector store collection, including rows that were embedded in the same flow. - [Csv Destination](https://www.etlbox.net/recipes/destinations/csvdestination/): C# recipes for CsvDestination in ETLBox. Write pipeline output to CSV files with examples you can copy into your .NET data flows. - [Custom Batch Destination](https://www.etlbox.net/recipes/destinations/custom-batchdestination/): C# recipes for CustomBatchDestination in ETLBox. Write rows in batches to any sink you implement, with examples for custom .NET destinations. - [Custom Destination](https://www.etlbox.net/recipes/destinations/custom-destination/): C# recipes for CustomDestination in ETLBox. Send each pipeline row to your own writer logic with practical examples for .NET ETL flows. - [Database Destination](https://www.etlbox.net/recipes/destinations/dbdestination/): C# recipes for DbDestination in ETLBox. Bulk-load pipeline data into SQL databases with copyable examples for .NET ETL projects. - [Json Destination](https://www.etlbox.net/recipes/destinations/jsondestination/): C# recipes for JsonDestination in ETLBox. Write pipeline data as JSON files or streams with examples for .NET data integration flows. - [Memory Destination](https://www.etlbox.net/recipes/destinations/memory-destination/): C# recipes for MemoryDestination in ETLBox. Collect pipeline output in memory for tests, debugging, or further processing in .NET. - [Merge Destination](https://www.etlbox.net/recipes/destinations/mergedestination/): C# recipes for DbMerge in ETLBox. Insert, update, and delete destination rows in one merge with examples for SQL upserts in .NET. - [Xml Destination](https://www.etlbox.net/recipes/destinations/xmldestination/): C# recipes for XmlDestination in ETLBox. Write pipeline data to XML with examples you can adapt for your .NET ETL destinations. ### Transformation Patterns > This category provides focused examples for individual transformation components in ETLBox, demonstrating how each one works in isolation to manipulate or enrich data within a pipeline. - [Chat Batch Transformation](https://www.etlbox.net/recipes/transformations/chat-batch/): C# recipes for ChatBatchTransformation in ETLBox. Send a batch of rows to a chat client in one request and emit the returned items. - [Chat Transformation](https://www.etlbox.net/recipes/transformations/chat/): C# recipes for ChatTransformation in ETLBox. Send each row to a chat client and write the returned object back into the data flow. - [Embedding Batch Transformation](https://www.etlbox.net/recipes/transformations/embedding-batch/): C# recipes for EmbeddingBatchTransformation in ETLBox. Create embeddings for a batch of rows with one generator call. - [Embedding Transformation](https://www.etlbox.net/recipes/transformations/embedding/): C# recipes for EmbeddingTransformation in ETLBox. Create a vector for each row and write it back into the same object. - [Aggregation](https://www.etlbox.net/recipes/transformations/aggregation/): C# recipes for Aggregation in ETLBox. Group and summarize rows in a data flow with examples for totals, counts, and related .NET patterns. - [Block Transformation](https://www.etlbox.net/recipes/transformations/block-transformation/): C# recipes for BlockTransformation in ETLBox. Process a full batch of rows at once with examples for blocking transforms in .NET pipelines. - [Column Transformation](https://www.etlbox.net/recipes/transformations/column-transformation/): C# recipes for ColumnTransformation in ETLBox. Rename, reorder, remove, or add columns with examples for .NET data flow mappings. - [Cross Join](https://www.etlbox.net/recipes/transformations/cross-join/): C# recipes for CrossJoin in ETLBox. Combine every row from two inputs with examples of cartesian joins in .NET data pipelines. - [Distinct](https://www.etlbox.net/recipes/transformations/distinct/): C# recipes for Distinct in ETLBox. Remove duplicate rows in a data flow with examples for unique keys and .NET ETL cleanup. - [Row Validation](https://www.etlbox.net/recipes/transformations/row-validation/): C# recipes for RowValidation in ETLBox. Validate rows, route failures, and keep bad data out of downstream .NET destinations. - [Where Transformation](https://www.etlbox.net/recipes/transformations/filter-transformation/): C# recipes for WhereTransformation in ETLBox. Filter rows with predicates and keep only matching records in your .NET data flows. - [Lookup Transformation](https://www.etlbox.net/recipes/transformations/lookup/): C# recipes for LookupTransformation in ETLBox. Enrich incoming rows from a reference set with copyable examples for .NET pipelines. - [Merge Join Transformation](https://www.etlbox.net/recipes/transformations/merge-join/): C# recipes for MergeJoin in ETLBox. Join two sorted inputs row by row with examples for merging streams in .NET data flows. - [Multicast](https://www.etlbox.net/recipes/transformations/multicast/): C# recipes for Multicast in ETLBox. Duplicate a stream to several destinations with examples for branching .NET data pipelines. - [Row Duplication](https://www.etlbox.net/recipes/transformations/row-duplication/): C# recipes for RowDuplication in ETLBox. Emit extra copies of a row with examples for fan-out scenarios in .NET data flows. - [Row Multiplication](https://www.etlbox.net/recipes/transformations/row-multiplication/): C# recipes for RowMultiplication in ETLBox. Expand one row into many with examples for unnesting and generating records in .NET. - [Row Transformation](https://www.etlbox.net/recipes/transformations/row-transformation/): C# recipes for RowTransformation in ETLBox. Map each row with C# logic—the core transform for custom .NET ETL pipeline steps. - [Sort](https://www.etlbox.net/recipes/transformations/sort/): C# recipes for Sort in ETLBox. Order rows in a data flow with examples of blocking sorts before joins or grouped writes in .NET. ### Performance > Performance recipes for ETLBox: parallel execution, async jobs, and patterns that keep high-volume .NET data flows fast and efficient. - [Parallel Execution](https://www.etlbox.net/recipes/performance/parallel-execution/): Run multiple ETLBox data flows in parallel in C#. Examples that overlap pipeline work to improve throughput in .NET ETL jobs. - [Async Execution](https://www.etlbox.net/recipes/performance/async-execution/): ETLBox components run on separate threads/tasks, ensuring that data processing is asynchronous. The provided recipe code demonstrates how even with blocking calls, ETLBox maintains parallel processing, keeping the main thread unblocked and efficient. - [Database Performance Tester](https://www.etlbox.net/recipes/performance/dbmerge-performance/): This recipe shows how to use the MemoryTester console app to benchmark database performance (DbDestination and DbMerge) and observe ETLBox memory consumption while processing large data volumes. ### Testing > This category focuses on strategies and examples for testing ETLBox data flows, including validation of transformation logic, data consistency checks, and approaches for automated or unit testing within ETL processes. - [Unit Testing](https://www.etlbox.net/recipes/testing/unit-testing/): Unit-test ETLBox data flows in C#. Starting points for asserting transformation logic, replacing linked sources and destinations with NetworkHelper, and automating .NET ETL tests. ## ETLBox Blog > Read the latest articles on ETLBox – covering ETL techniques, data workflows, product updates, and real-world use cases. Stay informed and make the most of your data integration. - [Replacing SSIS with a C# data flow](https://www.etlbox.net/blog/leaving-ssis/): SQL Server Integration Services still runs a large share of production ETL, but feature work has stalled while Microsoft puts its cloud ETL investment into Azure Data Factory and Fabric. This article explains why designer-driven packages become hard to maintain, why ADF is not a drop-in home for complex SSIS workloads, and how a code-first data flow in C# with ETLBox preserves Control Flow, Data Flow, and streaming performance — including a range lookup that the SSIS Lookup transform cannot do. - [High-Performance Bulk Operations for Dapper and ADO.NET](https://www.etlbox.net/blog/db-extensions/): ETLBox.DbExtensions enhances ADO.NET and Dapper-based applications by adding high-performance bulk insert, update, delete, and merge operations directly to IDbConnection. Built on ETLBox’s proven bulk-processing infrastructure, it enables developers to handle large data volumes efficiently without introducing new abstractions or complex configuration. By combining Dapper for lightweight querying with DbExtensions for bulk writes, teams can build scalable, maintainable data-access workflows ideal for ETL processes, batch imports, and data synchronization tasks. - [Mastering Database Merging: Comparing Different Approaches](https://www.etlbox.net/blog/merging/): This article provides a comprehensive guide to efficiently merging data into database tables, covering strategies from basic SQL MERGE operations to advanced ETL pipelines using C# and ETLBox. It walks through handling inserts, updates, and deletions via staging tables and demonstrates how to scale these operations for large datasets. - [A Developer’s Guide to Building Robust ETL Data Flows in C# and .NET (Part I)](https://www.etlbox.net/blog/data-validation-part1/): This article walks through a complete example of building an ETL pipeline with ETLBox. Along the way, the article explains key ETL concepts like data flows, transformations, and predicate-based filtering using real, working C# code. - [A Developer’s Guide to Building Robust ETL Data Flows in C# and .NET (Part II)](https://www.etlbox.net/blog/data-validation-part2/): This part focuses on improving data quality and history tracking in ETLBox. We introduce row-level error messages for invalid or duplicate records and implement SCD Type 2 using ValidFrom/ValidTo columns to preserve change history. These enhancements make the ETL process more robust, auditable, and production-ready. - [A Developer’s Guide to Building Robust ETL Data Flows in C# and .NET (Part III)](https://www.etlbox.net/blog/data-validation-part3/): This article shows how to build dynamic, type-agnostic ETL flows in ETLBox using ExpandoObject and configuration tables. By leveraging metadata and runtime mapping, we achieve a flexible, schema-independent data pipeline that adapts to evolving requirements. - [Unlock the Power of C# in Polyglot Notebooks](https://www.etlbox.net/blog/polyglot/): This article demonstrates how to use C# in polyglot notebooks (e.g., Jupyter with .NET Interactive) to perform ETL operations using ETLBox. It shows how to integrate C# with tools commonly used for data science, such as DataFrames and ScottPlot, to enable full data workflows—from database access to data visualization—within a single notebook. - [Why CRUD Doesn’t Work for ETL (And What to Do Instead)](https://www.etlbox.net/blog/crud/): Many developers struggle with applying traditional CRUD (Create, Read, Update, Delete) concepts in ETL workflows, leading to performance bottlenecks. This article explains why CRUD operations are inefficient in ETL and how ETLBox provides optimized alternatives like DbSource, DbDestination, DbMerge, and LookupTransformation. - [Building a Data Warehouse with ETLBox: A .NET Developer's Guide](https://www.etlbox.net/blog/building-dwh/): This article introduces foundational data warehousing concepts, including star schemas, surrogate keys, dimension types, and fact tables. It then demonstrates how to implement a real-world DWH using ETLBox in .NET—covering OLTP/OLAP setup, SCD Type 1 and 2 loading strategies, date dimensions, and incremental fact loading with full C# code examples. ## Landing > ETLBox landing pages for related products such as DirectSync and FlowWright. See how the .NET ETL engine powers desktop sync and workflow tools. ## Demo > Live demo endpoints used by the ETLBox website. These pages back sample APIs that show the .NET ETL library in interactive documentation examples. - [Demo API](https://www.etlbox.net/demo/api/): Demo API placeholders for the ETLBox website. HTTP routes rewrite to Netlify functions that serve sample data for interactive C# examples. ### Demo API > Demo API placeholders for the ETLBox website. HTTP routes rewrite to Netlify functions that serve sample data for interactive C# examples. - [Orders](https://www.etlbox.net/demo/api/orders/): Placeholder page for the ETLBox live demo orders API. Requests are rewritten to a Netlify function that serves sample order data. - [Simple](https://www.etlbox.net/demo/api/simple/): Placeholder page for the ETLBox live demo simple API. Requests are rewritten to a Netlify function used by interactive website examples. ## Support > ETLBox support, legal notices, and license agreements. Contact ETLBoxperts, complete a purchase, or read the EULA for the .NET ETL library. - [Complete your purchase](https://www.etlbox.net/support/processing/complete-purchase/): Complete your ETLBox purchase: confirm order details and finish checkout so we can issue your license for the .NET ETL library. - [Contact](https://www.etlbox.net/support/contact/form/): Contact ETLBoxperts in Berlin. Use this form for sales, licensing, and technical questions about the .NET ETL library and related products. - [Exclusive Launch Offer](https://www.etlbox.net/support/flowwright/request-discount/): Request an exclusive 15 percent FlowWright launch discount. Submit the form to receive your code and get started with workflow automation. - [Legal Notice & Privacy Policy](https://www.etlbox.net/support/legal-notice/): Legal notice and privacy policy for ETLBoxperts GmbH in Berlin. We do not collect personal analytics data on etlbox.net beyond what hosting requires. - [Purchase](https://www.etlbox.net/support/contact/purchase/): Purchase a license. Tell us your plan and company details so we can complete your order or prepare a custom offer. - [Support](https://www.etlbox.net/support/options/): ETLBox support options: contact sales, request a trial, or open a ticket. Get help with licensing, installation, and using the .NET ETL library. - [Ups, something went wrong!](https://www.etlbox.net/support/contact/cancel/): Your ETLBox checkout or request did not complete. Return to pricing or contact support so we can help you finish the purchase or trial. - [We’ve Received Your Request!](https://www.etlbox.net/support/contact/success/): We received your ETLBox request and will follow up by email. Thanks for contacting ETLBoxperts about licensing, trials, or technical support. - [We’ve Received Your Request!](https://www.etlbox.net/support/discount/success-code/): Your submission was successful — thank you! We’ll follow up via email within 48 hours with everything you need, including how to use your discount code. - [We’ve Received Your Request!](https://www.etlbox.net/support/flowwright/success-discount/): Your submission was successful — thank you! We’ll follow up via email within 48 hours with everything you need, including how to use your discount code. - [Redistribution End-user License Agreement](https://www.etlbox.net/support/eula/redistribution-eula/): Redistribution EULA for the Enterprise OEM license of ETLBoxperts products (ETLBox, DirectSync, and DB Extensions). - [Standard End-user License Agreement](https://www.etlbox.net/support/eula/standard-eula/): Standard EULA for ETLBoxperts products (ETLBox, DirectSync, and DB Extensions), except redistributable OEM licenses.