VLinq, nom de code pour Visual Linq
présentée par Simon Ferquel et Mitsuru Furuta
On peut retrouver des webcasts sur cet outils ici et ici.
Visual linq est un constructeur de requêtes pour LinqToSql développé en France par deux stagiaires et piloté par Mitsuru Furuta. Le résultat est plutôt surprenant par l'ergonomie du builder.
On ne le trouve pas encore en ligne, la release sera annoncée sur le blog de Mitsuru.
Une info tout de même, le builder devrait être livré avec les sources, un vrai plus pour les éditeurs d'add-in pour Visual Studio...
C'est un designer éditable basé sur WPF avec un choix de persistance de type XAML. Le builder permet un preview du résultat de la requête, du code SQL généré et du code C# ou VB généré.
Voir le code SQL généré est très important pour les requêtes complexes pour vérifier la pertinence de celles-ci et pouvoir décider facilement de basculer sur des procédures stockées.
Les requêtes générées sont encapsulées dans des methodes statiques prenant le DataContext comme paramètre. Elles peuvent être paramétrées, le prototype de la méthode se contruit en même temps.
Trick : Avec linqToSql, lorsqu'un lien existe entre deux tables pas besoin d'ecrire la jointure dans linq, elle est fait automatiquement.
Le builder construit les jointures, y compris les left outer join qui ne sont pas simples lorsqu'elles sont explicites en linq, par exemple:
var q =
from s in db.Suppliers
join c in db.Customers on s.City equals
c.City into sc
from x in sc.DefaultIfEmpty()
select new {
Supplier =
s.CompanyName,
Customer = x.CompanyName,
City = x.City
};
Les requêtes imbriquées sont également supportées avec une ergonomie top grâce à WPF.
Chaque requête porte les propriétés suivantes
- autopagination => créer deux méthodes surchargées dont une pour la pagination en ajoutant simplement
.Skip(PageIndex*PageSize)
.Take(PageSize)
- Compiled: pré compile la requête dans le cache et créé des fonctions déléguées
- Distinct
Custom query
Si l'on veut ajouter des requêtes non construites par le designer au querybag pour bénéficier de son interface et de la validation de requête, il suffit de rajouter un simple attribut:
[Browsable(true)]
Validation de requête
Linq permet de s'assurer à la compilation que la requête est bonne d'un point de vue statique et par rapport au mapping décrit dans le DataContext. Si celui-ci n'est plus synchronisé à la base de donnée, la requête se plantera à l'exécution. Ils proposent donc de valider ces requêtes par batch testing, très simplement.
Un outil prometteur de productivité et/ou d'appropriation de la syntaxe Linq, dommage qu'il n'y ait pas encore de version beta pour le tester.
3 commentaires:
Produit prometteur, la démo donne envie d'essayer. La grande question est : a-t'on la moindre idée d'une date de release, même aproxiamtive ?
Loïc
Je n'ai rien trouvé sur la roadmap. Déjà aux Techdays, les speakers ne s'étaient pas engagés la-dessus. De plus, la démo a révélé quelques buggs.
J'ai compris que le canal d'informations pour cet add-in serait le blog de Misturu. Donc à suivre...
Et bien ça y est : la note de mitsuru sur vlinq. On peut télécharger le projet Visual Linq Query Builder.
Enregistrer un commentaire