ORM & Entity Framework Object Relational Mapping Un ORM est une API permettant de gérer les requêtes en base de données Il permet de s’affranchir du codage SQL, de la gestion des transactions et des connexions. Le mapping : ◦ Sous code ou objet ou plus souvent en descriptif xml ◦ Définit le lien entre les objets .NET et les tables de la base de données : nom des champs, clés, … Les requêtes : ◦ Intégrées au code .NET, elles vont être transformées en requêtes SQL via le moteur de l’ORM. ◦ On récupère ainsi directement des objets manipulables par nos traitements et interfaces. NHibernate : ◦ Portage .NET de Hibernate. ◦ Open Source, communauté active. Entity Framework : ◦ Meilleure intégration à Visual Studio : en natif depuis VS2010. ◦ Bon niveau de documentation en ligne. Première étape : génération du modèle à partir de la base de données: Fichiers générés : Un edmx contenant le mapping xml Un designer.cs contenant C# le code généré. Utilisation : Penser à effectuer le saveChanges à la fin où les modifications ne seront pas répercutées sur la base de données. Paranthèse sur la syntaxe using : Le mot clé using s’utilise avec une classe "IDisposable": cela permet de rendre l’objet au garbage collector L’élément n’est disponible que dans le bloc de code. Equivaut à un : ◦ Try{} ◦ Catch{} ◦ Finally{obj.Dispose();}