Dans Visual Studio 2008, pour créer un EDM, il faut ajouter un item de type ADO .NET Entity Model :
Ensuite, il faut choisir entre partir d'un modèle vide ou partir d'une base de données.
Si le choix se porte vers une base de données, il faudra ensuite sélectionner la connexion vers la base en question.
Dans cet écran, une nouvelle notion apparaît : l'Entity connection string. Elle est composée de 4 éléments :
- l'emplacement du csdl
- l'emplacement du ssdl
- l'emplacement du msl
- la connection string classique
Les trois premières notions seront abordées juste après.
En dernier lieu, il faudra choisir les tables, vues, procédures stockées à intégrer dans le modèle :
Une fois cet écran validé, il sera toujours possible de mettre à jour le modèle par la suite, notamment dans le cas d'une modification de la base.
Suite à cela, de nouveaux éléments ont été rajoutés au projet :
- un fichier App.config (s'il n'existait pas déjà) qui reprend l'Entity connection string
- le fichier Northwind.edmx
- un fichier Northwind.Designer.cs (ou vb) situé sous Northwind.edmx dans l'arborescence du Solution Explorer
Le fichier .edmx se décompose en trois parties :
- la partie csdl qui décrit les entités
- la partie ssdl qui décrit la base de données
- la partie msl qui fait le mapping entre les deux.
Source Julia Lerman, www.thedatafarm.comLors de la compilation, ce fichier est éclaté en trois. C'est pour cela que l'Entity connection string, en plus de prendre la connexion vers la base de données, prend le chemin de chacun de ces trois fichiers.
Comme l'illustre bien le schéma, le mapping n'est pas un mapping simple 1->1, comme dans LINQ To SQL, mais un mapping beaucoup plus puissant autorisant de multiples manipulations.