Bonjour à tous,

Après quasiment un an de travail et d'organisation, je suis très heureux de partager avec vous le projet VLinq.

http://code.msdn.microsoft.com/vlinq

Certains d'entre vous en avait déjà vu quelques démonstrations lors du tour de France accès aux données de Paris ou encore durant les Techdays 2008.

Le Visual Linq query builder est un addin pour Visual Studio 2008. C'est un designer qui vous aide à créer des requêtes Linq to Sql pour votre application.

Les projects C# et VB.Net sont supportés.

Comme vous le découvrirez dans ce billet, ce projet développé par des stagiaires est un prototype pour une nouvelle sorte de designer.

N'hésitez pas à nous remonter vos impressions !!!

Historique du project

C'est un projet avant tout académique développé par Microsoft France en collaboration avec Microsoft Corporation.

J'en ai été le manager local ainsi que le responsable technique. J'avais depuis longtemps dans l'idée de me frotter à la création d'un designer pour Visual Studio écrit en WPF et j'ai eu l'idée d'un constructeur de requête visuel pour Linq to Sql. Puis l'opportunité d'organiser tout cela sur un stage de 6 mois avec MS Corp est apparue.

J'ai recruté deux étudiants de talent que je tiens à nouveau à remercier et à féliciter pour leur excellent travail:

- Simon Ferquel de SupInfo qui travaille désormais pour la société Winwise. Vous le connaissiez déjà peut-être de l'époque où il était étudiant au travers de son outil pour Vista : myExposé. (non, je ne mettrai pas de photo de lui, bien que j'en ai quelques unes...).

- Johanna Piou de l'ISEN Toulon qui termine ses études cette année et qui est également connue pour ses brillantes participations à Imagine Cup dans la catégorie Interface Design. Elle a serré la main de Bill Gates plus souvent que moi...:( !!

Le but de ce projet

Linq to Sql et Linq plus généralement, est une nouvelle technologie principalement basée sur des évolutions du langage. Comme toute nouvelle syntaxe, cela prend toujours un peu de temps pour s'y familiariser.

Le projet VLinq comme tout designer, vous aide à construire graphiquement les requêtes Linq to Sql mais nous avons voulu qu'il reste très proche du code. Ainsi, le but n'a pas été de vouloir masquer le code généré mais au contraire de le rendre visible dans le designer. C'est une sorte de mélange entre un designer classique et un intellisense graphique.

VLinq vous aide également à regrouper vos requêtes à un seul et même endroit, facilitant ainsi leur gestion (edition, ajout, suppression), leur test et leur prévisualisation.

Dernier but: fournir l'intégralité de la solution, source code inclus afin de partager avec vous notre expérience sur l'usage de WPF avec l'extensibilité de Visual Studio.

Que fournissons nous ?

Le projet entier a été développé avec Visual Studio 2008 (bétas puis RTM) et Expression Blend. Nous fournissons la solution complète (binaires + code). La solution contient un projet de Setup pour une installation facile (msi).

Tout est téléchargeable ici: http://code.msdn.microsoft.com/vlinq/ sous l'onglet 'Releases' (msi, quick reference guide, user documentation, webcast).

Voici en ligne le 'Quick Reference Guide'. Il contient plein de previews aussi, je n'ai pas fait l'effort de le traduire :-).

---------------------------------------------------------------------------------------------------------

Quick Reference Guide

Once Visual Linq Query Builder is installed, you can create a new project or open an existing project (C# or VB.Net). From this designer you will be able to create, modify and delete queries. When editing a query, the query designer will appear and let you build your query visually. At each time the designer is saved, the corresponding code (C# or VB.Net) will be generated. Then the queries are ready to be used by your project. The following steps are for the first time users of Visual Linq Query Builder.

- Create a new project

If you installed Visual LINQ Query Builder, you can create a new project or open an existing project (C# or VB) in Visual Studio.

clip_image002

- Add a LINQ to SQL class

Once a project is created, a LINQ to SQL class should be added to the project.

clip_image004

- Add connection to SQL database

If Linq to SQL class is added, a .dbml file is added to the project. You open the .dbml and can set the connection to SQL database by clicking “Server Explorer” and “Add Connection”

clip_image006

To work with LINQ to SQL and Visual LINQ Query Builder in Visual Studio 2008, you will need a database that you can query. If you already had a database, you can set the connection to the database by clicking “Server Explorer”.

Otherwise, you can access the copy of the Northwind database that accompanies the C# samples that ship with Visual Studio 2008. You can also download the latest C# samples from http://msdn2.microsoft.com/en-us/bb330936.aspx. The Northwind.mdf will be found in the directory, CSharpSamples\LinqSamples\Data.

The setup guideline for the SQL database can also be found in Charlie Carvert’s bolg.

You can set the connection to the copy of Northwind.mdf or your database.

clip_image008

Once connection is added, you can navigate to the objects in the database and select a table you want to query.

- Add the designer to the project

Add a new item, “VLinq queries” to the project. When opening the new .vlinq file added to your project, the query bag designer will appear.

clip_image010
- Set the connection to VLINQ

In the Properties of the vlinq, set Connection String to the database you want to query. Select “Visual studio Connection” and the database.

clip_image012

- Create a new query

If you open the .vlinq file added to the project, you can see query bag designer. In the query bag designer, you can create a query using the query bag designer by clicking an icon “Create a new query”.

clip_image014

- Edit the query in the query bag designer

clip_image016

- Query in collapsed mode
clip_image018

- Preview the query result

Once you edit the query and “save” the .vlinq file, the code is generated. If you click “Preview”, you can see the query result in the below.

clip_image020

- View the generated code

Query designer code is generated if you save the query. You can build the project using the code.

clip_image022

Have Fun !

Mitsuru FURUTA - Microsoft France