Bonjour,

Dans le cadre de mes développements, j'ai été confronté à des problèmes de performance et à l'utilisation obligatoire de SQL spécifique au SGBD.

J'ai du écrire des requêtes SQL directement dans le code soit avec ADO .net ou dapper.

Meme si l'on gagne en performance (voir benchmark dapper), on est confronté à des problèmes de maintenabilité du code SQL et le code à écrire pour les appel SQL sont lourd et sans valeur.


Je suis en train de developper en wrapper automatique qui m'aide bien dans mes devs. Je viens vers vous pour savoir ce que vous en penser et si vous avez les même besoins ?

https://www.nuget.org/packages/Daikoz.SQLWrapper/
https://github.com/daikoz/SQLWrapper
https://www.sqlwrapper.com

En résumer, on écrit la requete SQL et automatiquement le parser SQLWrapper lit la requete SQL (fichier texte) et génére le code C# MySql pour l'appeller.

Architecture

Read database structure

SQL Wrapper ----> read database ----> extract database structure (table, columns, ...)

Extract SQL result from SQL file

SQL File + DB Structure ----> SQLWrapper ----> XML File

Generate our code

XSLT (default or provide one) ----> SQL Wrapper ----> C# code wrapper


Les requêtes SQL sont vérifié syntaxiquement et vérifie aussi que les champs existent toujours (cas de supprimer d'une colonne) ou que le type n'a pas changé.

ATTENTION: merci de ne pas rentrer dans le débat ORM vs SQL direct. Ce n'est pas la question ici. Les 2 ont des avantages et des inconvénients. A choisir en fonction de vos besoins.


Qu'est ce que vous en pensez ?
Est ce que cela peut vous être utile dans vos devs (dans le cas, je continu à le publier) ?
Axe d'amélioration ? (il y a des bugs vous pouvez les reporter sur github).