Vous êtes sur la page 1sur 14

LINQ TO SQL

Année Universitaire
2012/2013

Présenté par:

Boudour LAJDEL
Mohamed Gaith KILANI
Khaled TRIKI
Plan

• Introduction
• LINQ
• LINQ TO SQL
• Architecture
• Importer des tables
• LINQ to SQL Composants
• Couche de données LINQ
• Couche d’accès au données à travers LINQ
• Couche Business Facade
• Couche Présentation
• Conclusion

2
Introduction

• Les développeurs étaient amenés à utiliser deux ou plusieurs


langages en même temps.

• Le compilateur ne vérifiait pas le contenu de ce qui était entre


double quottes.
• Il n’y avait pas de vérification de type sur les valeurs retournées.
• Difficulté d’apprentissage de plusieurs langages.

3
LINQ

• LINQ
LINQa été (Language
créé afin deIntegrated
proposer de Query)
nouvellespermet
solutionsdeà
résoudreproblèmes.
plusieurs ces problèmes

• Les moyensune
Possède de stockage de données
syntaxe sont très diversifiés.
qui permet d’utiliser
l’IntelliSense de Visual Studio
• Les requêtes sont considérées comme de simples chaînes
 de caractères. sans changement de code, avec tout
compatible,
type de source de données.
• Le changement de source de données peut impliquer
quelques modifications dans le code
4
LINQ to SQL ?

• C’est une implémentation de ORM incluse dans


le .NET Framework « Orcas »
• Modéliser une base de données relationnelle avec des
classes .NET.
• Récupérer des données d’une base en utilisant LINQ:
– mettre à jour, insérer et supprimer des données.

5
Architecture
.NET Language-Integrated Query (LINQ)

C# VB Others ..
.NET Language-Integrated Query
LINQ enabled data sources
LINQ enabled ADO.NET

LINQ LINQ LINQ LINQ LINQ


To Objects To Datasets To SQL To Entities To XML

<book>
<title/>
<author/>
<price/>
</book>

Objects Relational XML


6
Importer des tables

•LeGénérer
concepteur
SQLMetal: Objet/Relationnel
automatiquement le en mode
code graphique:
nécessaire

 Utilisable
Les options queque
pour
vous
SQL pouvez
Serverutiliser
2000, permettent
2005, 2008deet
• Express.
Il existe deux
configurer méthodes:
le fonctionnement.
– Le concepteur Objet/Relationnel en mode graphique
 Lancer
Exemples
en ajoutant
d’option:
un fichier
code, de
con,
typepassword,
«.dbml». context,
– Le SQLMetal
database, dbml, .etc.
 Cet
Structure : divisé en deux parties :
outil est
 Les«classes
/NomOption : OptionValeur
représentant les tables »
 Garder les procédures

7
LINQ to SQL Composants

Mapping:
DataContext
Entity Class: Class:
• Classe
Les
Créer classes
sera
pourgénéré et pour
chaque lestable
propriétés
chaque définies
concepteur
insérée dans leLINQdans
to
Layout
le DataContext sont
SQL ajouté(fichier
Designer directement mappées sur les
à la solution. 
DBML). 
tables et colonnes correspondantes dans la BD.
• classe
LINQ: principale
Contiennent une utilisée pour
collection de interroger
propriétéslafortement
base de
 utilisequi
données,
typées la récupérer
classe
sontAttributeMappingSource.
les dossiers
mappés et transmettre
aux colonnes les
de la table
modifications à ladans
 Hérite de la classe
correspondante baselade données.
abstraite
baseMappingSource
de données.  pour stocker
les informations sur la table et le mapping de colonne.
 Information nécessaire lors de la récupération des
• contient des propriétés
Utiliser pour générer les quiinstructions
représententSQLla table
pour
enregistrements de la BD et présente des modifications.
chacun dansde
l'opération labase
basede
dedonnées. 
données.

8
Couche de données LINQ

Data LINQ Layer


• Elle contient la classe Contains partial classes that accesses
DataContext et les classes Database
d'entités. 
DataContext
C
L
• Le code lié à ces classes sont A Entity Class 1
complètement générés par S
l'outil Visual Studio. S Entity Class 2
E
S
Entity Class …

9
Couche d'accès aux données à
l'aide de LINQ

Data Access Layer


Contains Data Access Methods
• Elle contient le code pour
communiquer avec la couche
SelectRecordAll()
de données LINQ. 
M
E SelectRecordById()
• Il utilise Language-Integrated T
Query pour interagir avec la H InsertRecord()
O
couche de données LINQ.  D UpdateRecord()
S

DeleteRecord()

10
Couche Business Facade

Business Facade Layer


• Elle traite les données et les Contains Methods that calls Data
transfère entre la couche Access
présentation et l'accès aux
SelectRecordAll()
données. 
M
E SelectRecordById()
• Elle fournit une interface de T
haut niveau en séparant H InsertRecord()
O
physiquement le code de D UpdateRecord()
présentation et le code S
d'accès aux données. DeleteRecord()

11
Couche Présentation

Presentation Layer
Contains Web Pages (User Interface)

W Web Forms (UI) Web User Controls (UI)


E
B
Code Behind Code Behind
P
A
G
E
S Shared UI Code

•• ASP.NET
Elle est founit
contient les un
Web
responsable ensemble
deForms, richeUser-Controls,
Web
la diffusion de l'information
de contrôles quiCode-Behind
à
spécifiquement
et le Shared final
l'utilisateur conçus
common pour fonctionner
et à laUser-Interface
demande.  code.avec les formulaires
Web.
12
Conclusion

• Utilisation d’un ORM tel que Linq to SQL est assez


simple à intégrer dans une application .NET.

• Amélioration la productivité des développeurs.

• Linq to SQL est particulièrement adapté aux


applications qui ne nécessitant pas de modifications
massives de données, bien que l’utilisation des
requêtes précompilées viennent palier cette contrainte.

13
MERCI POUR VOTRE
ATTENTION …

Vous aimerez peut-être aussi