juillet
2011
Entity Framework est l’ORM propose par Microsoft pour le .NET. Cette technologie est apparue avec le framework 3.5 SP1. Cette première version a laissé un goût de (beaucoup) trop peu. Il y avait de bonnes idées mais pour arriver à un résultat correct en termes de performance et de gestion d’états, il fallait souvent contourner le fonctionnement normal et aller redéfinir les basses couches du framework. Ceci impliquait un temps de développement accru alors que le but d’un ORM est de réduire considérablement le temps passé sur la DAL. Mais rassurez-vous, la nouvelle mouture est arrivée avec beaucoup de corrections de bugs, des performances accrues et des facilités pour la gestion des entités. Nous verrons tout cela dans différents articles mais revenons d’abord à ce qui nous intéresse : la création d’un modèle à partie d’une base de données.
Le modèle est un fichier à ajouter à votre projet. Il possède une extension edmx et est lié à un fichier cs (ou vb) dans lequel est généré le code. Ajoutez donc ce type de fichier à votre projet en le choisissant dans la liste sous la catégorie Data (Figure 1).
Figure 1
Un assistant se lance pour vous aider à paramétrer le modèle. Le premier écran vous propose de générer le modèle à partir d’une base de données ou de créer un modèle vide (Figure 2). Nous choisirons ici la première option.
Figure 2
Vient ensuite la configuration de la connexion à la base de données. Il s’agit de l’écran classique que l’on rencontre lorsque l’on configure une connexion (Figure 3). Vous devez donc sélectionner une connexion existante ou en créer une nouvelle en choisissant le serveur et la base de données. Cochez ou décochez la case permettant de conserver la connexion dans le fichier de configuration et cliquez sur le bouton Next.
Figure 3
Nous arrivons déjà à la dernière étape. L’écran vous affiche la liste des tables, vues et procédures stockées présentes dans la base de données choisie (Figure 4). Cochez les éléments que vous voulez inclure dans votre modèle Entity Framework. Deux autres options sont mises à disposition. La première vous permet de singulariser ou pluraliser les noms des entités et des tables de manière automatique. Qu’est-ce que cela signifie ? Prenons un exemple. Si vous avez une table People dans la base de données, l’EntitySet portera le nom People également. En revanche, le nom de la classe sera Person. On garde donc bien la logique de la programmation avec un nom singulier pour les classes et un nom pluriel pour les collections.
La seconde option vous propose simplement d’inclure les champs de clés étrangères dans votre modèle.
Figure 4
Une fois que tout est configure, cliquez sur le bouton Finish et attendez que la génération soit terminée.