A package with an abstraction layer and extensions for ClickHouse.Client #524
Pinned
MikeAmputer
started this conversation in
Show and tell
Replies: 1 comment
-
Hello! This looks like a fairly interesting take on a lightweight ORM. I like the clearly-cut abstractions - e.g. ability to add transactions just by calling a method. Migrations are something that is widely requested, so having another library covering this is great. I have looked through the code and discovered a lot of features - but having more specific documentation about the specific features (e.g.: what's the best practice to use transactions? how do I combine transactions with retry? etc.) would help it shine Thank you for sharing this & I am glad that my work helped inspire your creation! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I think the time has come, so i would like to introduce the ClickHouse.Facades package, which is built on
ClickHouse.Client
. It provides an abstraction layer overClickHouseConnection
andClickHouseCommand
, allowing for better organization and testing of database operations. Additionally, this package offers features like migrations, query cancellation, retries, and more that some may find useful. It is well-documented and production-tested.The package has some limitations: it is designed specifically for use with dependency injection, supports asynchronous contract only, and targets netstandard2.1. It’s also focused on raw SQL queries only (though, in my opinion, ORMs might not be the best fit for the ClickHouse workflows, and OLAP in general).
I'm curious to hear your thoughts and feedback.
Beta Was this translation helpful? Give feedback.
All reactions