EDM Generator (EdmGen.exe)
EdmGen.exe est un outil en ligne de commande utilisé pour travailler avec des modèles EDM (Modèle de données d'entité). Vous pouvez utiliser l'outil EdmGen.exe pour effectuer les opérations suivantes :
Vous connecter à une source de données en utilisant un fournisseur de données .NET Framework spécifique à la source de données, et générez les fichiers de modèle conceptuel (.csdl), de modèle de stockage (.ssdl) et de mappage (.msl) utilisés par le modèle EDM. Pour plus d'informations, voir Procédure : utiliser EdmGen.exe pour générer un modèle EDM (Entity Framework).
Valider un modèle existant. Pour plus d'informations, voir Procédure : utiliser EdmGen.exe pour valider un modèle EDM (Entity Data Model).
Générer un fichier de code C# ou Visual Basic qui contient les classes d'objets générées à partir d'un fichier de modèle conceptuel (.csdl). Pour plus d'informations, voir Procédure : utiliser EdmGen.exe pour générer des fichiers de modèle objet (Entity Framework).
Générez un fichier de code C# ou Visual Basic qui contient les vues prégénérées d'un modèle existant. Pour plus d'informations, voir Procédure : prégénérer des vues pour améliorer les performances des requêtes (Entity Framework).
L'outil EdmGen.exe est installé dans le répertoire du .NET Framework. Dans de nombreux cas, celui-ci se trouve dans c:\windows\Microsoft.NET\Framework\v3.5. Vous pouvez également accéder à l'outil EdmGen.exe à partir de l'invite de commandes de Microsoft Visual Studio (cliquez sur Démarrer, pointez sur Tous les programmes, sur Microsoft Visual Studio 2008 et sur Outils Visual Studio, puis cliquez sur Invite de commandes de Visual Studio 2008).
EdmGen /mode:choice [options]
Mode
Lorsque vous utilisez l'outil EdmGen.exe, vous devez spécifier l'un des modes suivants.
Mode | Description |
---|---|
/mode:ValidateArtifacts |
Valide les fichiers .csdl, .ssdl et .msl, et affiche les erreurs ou les avertissements éventuels. Cette option requiert au moins l'un des arguments /inssdl ou /incsdl. Si /inmsl est spécifié, les arguments /inssdl et /incsdl sont également requis. |
/mode:FullGeneration |
Utilise les informations de connexion à la base de données spécifiées dans l'option /connectionstring et génère des fichiers .csdl, .ssdl, .msl, de couche objet et de vue. Cette option requiert un argument /connectionstring, et soit un argument /project soit les arguments /outssdl, /outcsdl, /outmsdl, /outobjectlayer, /outviews, /namespace et /entitycontainer. |
/mode:FromSSDLGeneration |
Génère des fichiers .csdl et .msl, du code source et des vues à partir du fichier .ssdl spécifié. Cette option requiert l'argument /inssdl, et soit un argument /project soit les arguments /outcsdl, /outmsl, /outobjectlayer, /outviews, /namespace, et /entitycontainer. |
/mode:EntityClassGeneration |
Crée un fichier de code source qui contient les classes générées à partir du fichier .csdl. Cette option requiert l'argument /incsdl, et soit l'argument /project soit l'argument /outobjectlayer. L'argument /language est obligatoire. |
/mode:ViewGeneration |
Crée un fichier de code source qui contient les vues générées à partir des fichiers .csdl, .ssdl, et .msl. Cette option requiert les arguments /inssdl, /incsdl, /inmsl, et soit l'argument /project soit l'argument /outviews. L'argument /language est obligatoire. |
Options
Option | Description |
---|---|
/p[roject]:<chaîne> |
Spécifie le nom de projet à utiliser. Le nom de projet est utilisé comme valeur par défaut pour le paramètre d'espace de noms, le nom de des fichiers EDM, le nom du fichier source de l'objet et le nom de fichier source de génération de vues. Le nom du conteneur d'entités a la valeur <projet>Context. |
/prov[ider]:<chaîne> |
Nom du fournisseur de données .NET Framework à utiliser pour générer le fichier de modèle de stockage (.ssdl). Le fournisseur par défaut est le fournisseur de données .NET Framework pour SQL Server (System.Data.SqlClient). |
/c[onnectionstring]:<chaîne de connexion> |
Spécifie la chaîne utilisée pour se connecter à la source de données. |
/incsdl:<fichier> |
Spécifie le fichier .csdl ou un répertoire où se trouvent les fichiers .csdl. Cet argument peut être spécifié plusieurs fois afin de pouvoir spécifier plusieurs répertoires ou fichiers .csdl. La spécification de plusieurs répertoires peut être utile pour générer des classes (/mode:EntityClassGeneration) ou des vues (/mode:ViewGeneration) lorsque le modèle conceptuel est divisé en plusieurs fichiers. Cela peut également être utile lorsque vous voulez valider plusieurs modèles (/mode:ValidateArtifacts). |
/refcsdl:<fichier> |
Spécifie le ou les fichiers .csdl supplémentaires utilisés pour résoudre toute référence dans le fichier .csdl source. (Le fichier .csdl source est le fichier spécifié par l'option /incsdl). Le fichier /refcsdl contient des types dont dépend le fichier .csdl source. Cet argument peut être spécifié plusieurs fois. |
/inmsl:<fichier> |
Spécifie le fichier .msl ou un répertoire où se trouvent les fichiers .msl. Cet argument peut être spécifié plusieurs fois afin de pouvoir spécifier plusieurs répertoires ou fichiers .msl. La spécification de plusieurs répertoires peut être utile pour générer des vues (/mode:ViewGeneration) lorsque le modèle conceptuel est divisé en plusieurs fichiers. Cela peut également être utile lorsque vous voulez valider plusieurs modèles (/mode:ValidateArtifacts). |
/inssdl:<fichier> |
Spécifie le fichier .ssdl ou un répertoire où se trouvent les fichiers .ssdl. |
/outcsdl:<fichier> |
Spécifie le nom du fichier .csdl qui sera créé. |
/outmsl:<fichier> |
Spécifie le nom du fichier .msl qui sera créé. |
/outssdl:<fichier> |
Spécifie le nom du fichier .ssdl qui sera créé. |
/outobjectlayer:<fichier> |
Spécifie le nom du fichier de code source qui contient les objets générés à partir du fichier .csdl. |
/outviews:<fichier> |
Spécifie le nom du fichier de code source qui contient les vues qui ont été générés. |
/language:[VB|CSharp] |
Spécifie le langage des fichiers de code source générés. Le langage par défaut est C#. |
/namespace:<chaîne> |
Spécifie l'espace de noms à utiliser. L'espace de noms est défini dans le fichier .csdl lors de l'exécution de /mode:FullGeneration ou de /mode:FromSSDLGeneration. L'espace de noms n'est pas utilisé lors de l'exécution de /mode:EntityClassGeneration. |
/entitycontainer:<chaîne> |
Spécifie le nom à appliquer à l'élément |
/help ou ? |
Affiche la syntaxe et les options de commande de l'outil. |
/nologo |
Supprime l'affichage du message de copyright. |