Objectifs pédagogiques / Compétences visées
- Identifier les solutions d'accès aux données avec .NET
- Simplifier l'écriture d'une couche d'accès aux données ou Data Access Layer
- Utiliser LINQ to SQL
- Mapper des entités avec LINQ to Entities
- Gérer l'aspect transactionnel.
Niveau requis
Avoir suivi le cours CS-FRM "C# - Développement avec le Framework .NET" ou avoir une connaissance pratique du langage C#.
Public concerné
Développeurs, architectes, chefs de projets techniques.
Programme
Jour 1
Solutions de persistance
- ADO.NET et ses limites
- Le mapping objet-relationnel
- Les ORM du monde .NET
Bases de LINQ
- Syntaxe C# pour LINQ
- Opérations : jointure, tri, projections, agrégation...
- Fluent Syntax
- Query Expression Syntax
- LINQ to Object
- LINQ to XML
Exemples de travaux pratiques (à titre indicatif)
- Création d'une application .NET Console qui exploite les possibilités de LINQ hors base de données
- Travail sur des tableaux d'objets et de données
Jour 2
Tour d'horizon de LINQ to SQL
- Historique
- Entités et DataContext
- Opérations CRUD (Create, Read, Update, Delete)
- Performances et lazy loading
- Limites du mapping avec LINQ to SQL
Exemples de travaux pratiques (à titre indicatif)
- Création d'un nouveau projet .NET qui inclut l'utilisation de toutes les fonctionnalités de LINQ to SQL
- Création d'un composant métier CRUD d'accès à la base via LINQ
- Multiples interrogations de données depuis cette application, en utilisant LINQ to SQL
Entity Framework
- Avantages d'Entity Framework (EF)
- Fichier de mapping et concepteur visuel
- Les approches du mapping
- "database first"
- "model first"
- "code first"
- Génération du schéma
Exemples de travaux pratiques (à titre indicatif)
- Dans un premier projet, à partir d'une base de données existante
- Génération des modèles de données via le fichier EDMX
- Travail sur les relations, accès ensuite à la base via ces modèles
- Dans un autre projet, création de composants modèles, et à partir de ces modèles :
- Génération de la base de données
- Modification de celle-ci suite à des modifications du modèle
- Travail sur le schéma
Jour 3
Entity Framework (suite)
- Gestion
- Des EntityKey
- Des relations
- De l'héritage
Exemples de travaux pratiques (à titre indicatif)
- Ajout de plusieurs relations OneToMany, ManyToMany au projet "code first"
- Génération de la base et travail sur le programme
- Ajout de l'héritage au niveau des entités du projet source
- Génération de la base
- Travail sur l'héritage
Jour 4
Entity Framework (suite)
- Opérations CRUD et transactions
- Proxies et détection des modifications
- ObjectContext
- Gestion de la migration des modèles
Exemples de travaux pratiques (à titre indicatif)
- Reprise du projet précédent
- Ajout de la gestion des transactions et de la détection automatique des modifications
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)