FluentGraphQL — query-builder pour .NET
Auteur — NuGet · MIT
Requêtes GraphQL fluent et type-safe côté .NET, sans schéma généré. Performances suivies par benchmarks reproductibles committés dans le repo.
benchmarks reproductibles (.NET 9)
Le problème
Les clients GraphQL générés figent la requête à la compilation. Dès qu'il faut la composer au runtime (champs optionnels, filtres issus des entrées utilisateur), on retombe sur de l'assemblage de chaînes, non typé et invérifiable.
L'approche
L'API se chaîne et lit les noms de champs via CallerArgumentExpression, sans arbre d'expression par champ. Les filtres LINQ deviennent des clauses where type-safe en parsant un seul arbre d'expression par requête, jamais compilé. Une seule dépendance à l'exécution : System.Text.Json.
En pratique
Points clés
- API fluent pour les requêtes et les mutations
- Filtres LINQ type-safe traduits en clauses GraphQL
- Une seule dépendance d'exécution (System.Text.Json)
- Arbre d'expression parsé une fois par requête, jamais compilé
- Benchmarks reproductibles committés dans le repo
Stack
- C#
- .NET 9
- GraphQL