Top 7 C# ETL Projects
-
Before checking this out, people might want to take a look through the issues and pull requests of which there are 500+ and 50+ respectively [1]. I was really optimistic about this project and it was headed in a great direction, but it's not in a production ready state, and it seems that the main guy behind it has decided to move onto other things. It's been about a year since there was any significant activity.
I just mention this because a lot of these little issues might only become more apparent after integrating the db into your project and so it can be a bit annoying. I ended up swapping to Linq2DB [1]. It's something, more or less, similar offering an ORM/LINQ type system as well as the ability to also use direct SQL if desired. But the neat thing is that it also uses a standardized API for the LINQ query language, so you can do things like swap from SQLite to PostgreSQL in one* line of code, so long as you're not using any provider specific extensions.
-
Cinchoo ETL
ETL framework for .NET (Parser / Writer for CSV, Flat, Xml, JSON, Key-Value, Parquet, Yaml, Avro formatted files)
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
-
bulk-writer
Provides guidance for fast ETL jobs, an IDataReader implementation for SqlBulkCopy (or the MySql or Oracle equivalents) that wraps an IEnumerable, and libraries for mapping entites to table columns.
-
-
I've created a tool if you want to migrate from PostgreSQL to SQL Server instead: https://github.com/sanamhub/postgresql-to-mssql
-
I created a lib https://github.com/nh43de/DataPowerTools for this purpose (basically a lot of extensions around IDataReader), but I haven't had the time to really maintain or document it properly. Basically, there are readers: ExcelReader, CsvReader, etc. that implement IDataReader, a standard ADO.NET interface, and then extension methods can be called on IDataReader to add/modify/transform/lookup columns. Once the (possibly transformed) IDataReader is obtained it can then be used to write the data somewhere else, or analyzed further e.g. to create a table to fit the transformed data. Currently supported destinations are Excel, Sql Server, SqlLite, Csv, or any destination that takes in an IDataReader. It's highly performant and in production in a lot of places.
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
C# ETL related posts
Index
What are some of the best open-source ETL projects in C#? This list will help you:
Project | Stars | |
---|---|---|
1 | LINQ to DB | 2,558 |
2 | Cinchoo ETL | 636 |
3 | SmartCode | 545 |
4 | bulk-writer | 229 |
5 | Reactive ETL | 67 |
6 | postgresql-to-mssql | 7 |
7 | DataPowerTools | 6 |