Show HN: HLinq: easy to use and extensible .NET resource query language (github.com)
HLinq is a library that adds query language capabilities to any API written in modern .net.
Demo in memory collection: https://hlinq-demo.podbielski.it/demo/memory
Demo, db collection: https://hlinq-demo.podbielski.it/demo/db
GitHub: https://github.com/npodbielski/HamsterWheel.HLinq?tab=readme...
Some information about Hamster Wheel: https://internetexception.com/why-hamster-wheel/
HLinq Design: https://internetexception.com/2025/10/28/hlinq-design/
Fluent Code Generators: https://github.com/npodbielski/HamsterWheel.FluentCodeGenera...
I started working on dynamic API as a way to have one platform for my self-host lab tinkering. I.e. to have ability check for health of my self-hosted services and restart them if necessary. Or to open/close my house driveway gate or for automated watering in my garden. Writing an API for each of those is a bit tiresome so having one single API that I can configure instead seems like better idea. For this API project consists of 4 parts: code generaterators, query language, flows runner and of course host API.
HLinq demo pages allows to edit the query inside the browser window! I.e.:
Some selecting examples:
https://hlinq-demo.podbielski.it/demo/db?select[x.firstName] - return only one property
https://hlinq-demo.podbielski.it/demo/db?select[x.firstName,... - return only two properties
https://hlinq-demo.podbielski.it/demo/db?select[fullName=x.f... - the same two properties but name will be renamed to "fullName"
https://hlinq-demo.podbielski.it/demo/db?select[fullName=x.f... - you can add syntactic property to the response
Some filtering examples:
https://hlinq-demo.podbielski.it/demo/db?where[x.id>22].select[fullName=x.firstName] - get names of people that have ids bigger than 22
https://hlinq-demo.podbielski.it/demo/db?where[ilike(x.first... - case-insensitive search for 'b*' string
https://hlinq-demo.podbielski.it/demo/db?where[x.id==22] - exact value search
No comments yet.0 comments
[ 4.7 ms ] story [ 12.1 ms ] thread