Gerador de EDM (EdmGen.exe)

A EdmGen.exe é uma ferramenta de linha de comando utilizada ao se trabalhar com o modelo e arquivos de mapeamento do Entity Framework. Você pode usar a ferramenta EdmGen.exe para:

A ferramenta EdmGen.exe é instalada no diretório do .NET Framework. Muitas vezes, está localizada em C:\windows\Microsoft.NET\Framework\v4.0. Para sistemas de 64 bits, está localizada em C:\windows\Microsoft.NET\Framework64\v4.0. Você também pode ter acesso à ferramenta EdmGen.exe no prompt de comando do Visual Studio (Clique em Iniciar, aponte para Todos os Programas, aponte para Microsoft Visual Studio 2010, aponte para Visual Studio Tools e clique em Prompt de Comando do Visual Studio 2010).

Syntax

EdmGen /mode:choice [options]

Modo

Ao usar a ferramenta EdmGen.exe, você deve especificar um dos modos a seguir.

Mode Descrição
/mode:ValidateArtifacts Valida arquivos .msl, .ssdl e .csdl, e exibe todos os erros ou avisos.

Esta opção requer pelo menos um dos argumentos /inssdl ou /incsdl. Se /inmsl estiver especificado, os argumentos /inssdl e /incsdl também serão obrigatórios.
/mode:FullGeneration Usa informações de conexão de banco de dados especificadas na opção /connectionstring e gera .csdl, .ssdl, .msl, camada de objeto e arquivos de exibição.

Esta opção requer um argumento /connectionstring e um argumento /project ou os argumentos /outssdl, /outcsdl, /outmsdl, /outobjectlayer, /outviews, /namespace e /entitycontainer.
/mode:FromSSDLGeneration Gera arquivos .csdl e .msl, código-fonte, e exibe no arquivo .ssdl especificado.

Esta opção requer o argumento /inssdl e um argumento /project ou os argumentos /outcsdl, /outmsl, /outobjectlayer, /outviews, /namespace, e /entitycontainer.
/mode:EntityClassGeneration Cria um arquivo de código-fonte que contém as classes geradas a partir do arquivo csdl.

Esta opção requer o argumento /incsdl e o argumento /project ou o argumento /outobjectlayer. O argumento /language é opcional.
/mode:ViewGeneration Cria um arquivo de código-fonte que contém as exibições geradas a partir dos arquivos .csdl, .ssdl e .msl.

Esta opção requer os argumentos /inssdl, /incsdl, /inmsl, e /project ou /outviews. O argumento /language é opcional.

Opções

Opção Descrição
/p[roject]:<string> Especifica o nome do projeto a ser usado. O nome do projeto é usado como um padrão para configuração de namespace, nome do modelo e arquivos de mapeamento, nome do arquivo de código-fonte do objeto e nome do arquivo de código-fonte de geração de exibição. O nome de contêiner de entidade é definido como <project>Context.
/prov[ider]:<string> O nome do provedor de dados do .NET Framework que será usado para gerar o arquivo (.ssdl) de modelo de armazenamento. O provedor padrão é o provedor de dados .NET Framework para SQL Server (System.Data.SqlClient).
/c[onnectionstring]:<connection string> Especifica a cadeia de caracteres usada para se conectar à fonte de dados.
/incsdl:<file> Especifica o arquivo .csdl ou um diretório em que os arquivos .csdl estão localizados. Esse argumento pode ser especificado várias vezes para que você possa especificar vários diretórios ou arquivos .csdl. Especificar vários diretórios pode ser útil para gerar classes (/mode:EntityClassGeneration) ou exibições (/mode:ViewGeneration) quando o modelo conceitual é dividido em vários arquivos. Isso também pode ser útil quando você quiser validar vários modelos (/mode:ValidateArtifacts).
/refcsdl:<file> Especifica o arquivo .csdl ou arquivos adicionais usados para solucionar todas as referências no arquivo de código-fonte .csdl. (O arquivo de código-fonte .csdl é o arquivo especificado pela opção /incsdl). O arquivo /refcsdl contém tipos de que o arquivo de código-fonte .csdl depende. Esse argumento pode ser especificado várias vezes.
/inmsl:<file> Especifica o arquivo .msl ou um diretório em que os arquivos .msl estão localizados. Esse argumento pode ser especificado várias vezes para que você possa especificar vários diretórios ou arquivos .msl. Especificar vários diretórios pode ser útil para gerar exibições (/mode:ViewGeneration) quando o modelo conceitual é dividido em vários arquivos. Isso também pode ser útil quando você quiser validar vários modelos (/mode:ValidateArtifacts).
/inssdl:<file> Especifica o arquivo .ssdl ou um diretório em que os arquivos .ssdl estão localizados. Esse argumento pode ser especificado várias vezes para que você possa especificar vários diretórios ou arquivos .ssdl. Isso pode ser útil quando você quiser validar vários modelos (/mode:ValidateArtifacts).
/outcsdl:<file> Especifica o nome do arquivo. csdl que será criado.
/outmsl:<file> Especifica o nome do arquivo .msl que será criado.
/outssdl:<file> Especifica o nome do arquivo .ssdl que será criado.
/outobjectlayer:<file> Especifica o nome do arquivo de código-fonte que contém os objetos gerados a partir do arquivo .csdl.
/outviews:<file> Especifica o nome do arquivo de código-fonte que contém as exibições geradas.
/language:[VB|CSharp] Especifica a linguagem dos arquivos de código-fonte gerados. A linguagem volta automaticamente para C#.
/namespace:<string> Especifica o namespace modelo a ser usado. O namespace é definido no arquivo .csdl durante a execução de /mode:FullGeneration ou /mode:FromSSDLGeneration. O namespace não é usado durante a execução de /mode:EntityClassGeneration.
/entitycontainer:<string> Especifica o nome que será aplicado ao elemento <EntityContainer> nos arquivos de mapeamento e modelos gerados.
/pl[uralize] Aplica as regras de língua inglesa para singular e plural aos nomes de Entity, de EntitySet e de NavigationProperty no modelo conceitual. Essa opção executará as seguintes ações:

- Faz todos os nomes EntityType singular.
- Faz todos os nomes EntitySet plural.
- Para cada NavigationProperty que retorna no máxima uma entidade, faz o nome singular.
- Para cada NavigationProperty que retorna no máxima uma entidade, faz o nome plural.
/SuppressForeignKeyProperties or /nofk Evita que as colunas de chave estrangeira sejam expostas como propriedades escalares em tipos de entidade no modelo conceitual.
/help ou ? Exibe sintaxe de comando e opções para a ferramenta.
/nologo Suprime a notificação de direitos autorais da exibição.
/targetversion:<string> A versão do .NET Framework será usada para compilar o código gerado. As versões com suporte são 4 e 4.5. O valor padrão é 4.

Nesta seção

Como: usar EdmGen.exe para gerar o modelo e arquivos de mapeamento

Como: usar EdmGen.exe para gerar código de objetos camada

Como: usar EdmGen.exe para validar o modelo e arquivos de mapeamento

Confira também