S4:
Delegate : Action / Func
Fonction anonyme
Fonction Lambda
Méthodes d'extension
Les phases de développement d’une application:
1-Préparer l’architecture logique
2-Langage de développement
3-Création de la base de données
Lien classes-BD => DAO(Data Access Object) : [Link]
Utilisation d’ORM (Object Relation Mapping) pour la détection d’erreur dans l’écriture des requêtes =>
intermédiaire App-BD
Objectif: plus d’écriture de req SQL dans le code
Composition (2) :
1. Entité: table représentant la classe
Classe décorée
2. Gestionnaire d’entité : Assure la persistance d’une BD
LINQ
ORM de .NET framework : Entity Framework > contient 3 approches
1. Code first :
Création du code > EF génération de BD
2. Database first:
Création de BD > EF génération de classe
3. Model First:
Schématisation du modèle complet (diagramme de classes)> EF génération des classe et BD
Couche logique 4 couches = [Link] + [Link]ées + [Link] + C.d’interaction avec BD([Link])
Approche code first :
Génération de BD :
1. Integrer entity framework :
Utilisation de NuGet (package manager)
sol>gérer les package NuGet pour solution > entity framework 6 >console+data
Voir si ef est installé : fichier “reference”
2. Créer classe contexte code first :
+ GpContext dérivée d’une classe DbContext responsable de l’interaction avec BD
+ DbSet : Image d’une table dans une bd + collection d’entite + nomEntiteS
+Insertion modification suppression
//creation d’images
+Conversion de req LINQ > SQL
+ Envoi req à ma BD
L’EF detecte la clé primaire : nomTableId ID
3. Création de la BD (nom) + nom serveur
Serveur local: Microsoft Server SQL local database
<connectionStrings>
<add name="ConnexionDB"
connectionString="
Data source=(localdb)\mssllocaldb; //localhost\nomServeurBd
Initial Catalog=GestionProduitsDB;
Integrated Secutity=True //connexion à la bd sans username et mdp
providerName="[Link]" //type de bd oracle sqlserver ..
"/>
</connectionStrings>
Génération de la classe contexte + config c=fich [Link] d’une manière auto:
[Link] > new item> data > ADO .NET EDM > [Link]
Génération de la BD >
1-instanciation de la classe gpcontexte dans [Link]
2-on fait une persistance de donnée
3-Run
Why ?
Chaine de connexion définie dans [Link] du projet [Link]
Il faut la définir dans dans [Link] du projet [Link]
Voir si la base à été crée : view> SQL server object explorer
4. Créer les entités
5. Générer BD + manipulation avec LINQ
Heritage :
TPH (Table Per Hierarchy)
TPC (Table Per Concrete Typte) > Génération des tables pour les classes filles
Per Type > Pour chaque classe d’héritage , ef va créer une table
TPI (Table Per Instance)