04.06.2016 Views

C 4 Developpez des applications windows avec visual studio 2010

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Exécuter <strong>des</strong> requêtes <strong>avec</strong> LINQ<br />

Les requêtes LINQ permettent d’avoir une syntaxe typée qui sera évaluée lors de la compilation de l’application,<br />

contrairement aux requêtes sous forme de chaîne de caractères effectuées <strong>avec</strong> la méthode ExecuteQuery de l’objet<br />

DataContext qui ne lèveront une erreur que lors de l’exécution et de la transmission de la requête à la base de<br />

données.<br />

Les requêtes LINQ to SQL suivent les mêmes principes de la syntaxe LINQ générale.<br />

1. Les requêtes simples<br />

Les requêtes simples s’effectuent <strong>avec</strong> une clause from et une clause select :<br />

var query = from ms in context.MailServers<br />

select ms;<br />

Dans cet exemple, l’objet query est affecté <strong>avec</strong> la collection d’enregistrements de la table MailServers.<br />

2. Les requêtes filtrées<br />

La clause where permet de filtrer les données qui seront retournées :<br />

var query = from ms in context.MailServers<br />

where ms.Password_AllowSave == true<br />

select ms;<br />

Dans cet exemple, l’objet query est affecté <strong>avec</strong> la collection d’enregistrements de la table MailServers qui ont la<br />

valeur true pour la colonne Password_AllowSave.<br />

3. Les requêtes de jointures<br />

La jointure entre plusieurs tables est effectuée à l’aide de la clause join :<br />

var query = from ms in context.MailServers<br />

join mss in context.MailServerSender<br />

on ms.ID equals mss.MailServer_ID<br />

join s in context.Senders<br />

on mss.Sender_ID equals s.ID<br />

select new { ms, s };<br />

Dans cet exemple, l’objet query est affecté <strong>avec</strong> la collection d’enregistrements <strong>des</strong> tables MailServers et Senders qui<br />

sont liées. Il est possible de spécifier plusieurs clauses join.<br />

© ENI Editions - All rigths reserved - Algeria Educ<br />

- 1 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!