Gerador EDM (EdmGen.exe)
EdmGen.exe é uma ferramenta de linha de comando usada para trabalhar com arquivos de modelo e mapeamento do Entity Framework. Você pode usar a ferramenta EdmGen.exe para fazer o seguinte:
Conecte-se a uma fonte de dados usando um provedor de dados .NET Framework específico da fonte de dados e gere os arquivos de modelo conceitual (.csdl), modelo de armazenamento (.ssdl) e mapeamento (.msl) usados pelo Entity Framework. Para obter mais informações, consulte Como usar EdmGen.exe para gerar os arquivos de modelo e mapeamento.
Valide um modelo existente. Para obter mais informações, consulte Como usar EdmGen.exe para validar arquivos de modelo e mapeamento.
Gere um arquivo de código C# ou Visual Basic que contém as classes de objeto geradas a partir de um arquivo de modelo conceitual (.csdl). Para obter mais informações, consulte Como usar EdmGen.exe para gerar código de camada de objeto.
Gere um arquivo de código C# ou Visual Basic que contenha as exibições pré-geradas para um modelo existente. Para obter mais informações, Como pré-gerar exibições para melhorar o desempenho da consulta.
A ferramenta EdmGen.exe é instalada no diretório .NET Framework. Em muitos casos, isso está localizado em C:\windows\Microsoft.NET\Framework\v4.0. Para sistemas de 64 bits, ele está localizado em C:\windows\Microsoft.NET\Framework64\v4.0. Você também pode acessar a 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 Ferramentas do Visual Studio e clique em Prompt de Comando do Visual Studio 2010).
Sintaxe
EdmGen /mode:choice [options]
Modo
Ao usar a ferramenta EdmGen.exe, você deve especificar um dos seguintes modos.
Modo | Description |
---|---|
/mode:ValidateArtifacts |
Valida os arquivos .csdl, .ssdl e .msl e exibe quaisquer erros ou avisos. Esta opção requer pelo menos um dos /inssdl argumentos ou /incsdl . Se /inmsl for especificado, os /inssdl argumentos e /incsdl também serão necessários. |
/mode:FullGeneration |
Usa as informações de conexão do banco de dados especificadas na /connectionstring opção e gera arquivos .csdl, .ssdl, .msl, camada de objeto e exibição.Esta opção requer um /connectionstring argumento e um /project argumento ou /outssdl , /outcsdl , /outmsdl , /outobjectlayer , /outviews , /namespace e /entitycontainer argumentos. |
/mode:FromSSDLGeneration |
Gera arquivos .csdl e .msl, código-fonte e exibições do arquivo .ssdl especificado. Esta opção requer o /inssdl argumento e um /project argumento ou o /outcsdl , /outmsl , /outobjectlayer , /outviews , /namespace e /entitycontainer argumentos. |
/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 /incsdl argumento e o /project argumento ou o /outobjectlayer argumento. O /language argumento é 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 /inssdl argumentos , /incsdl , /inmsl e ou ou /project /outviews . O /language argumento é opcional. |
Opções
Opção | Description |
---|---|
/p[roject]: <string> |
Especifica o nome do projeto a ser usado. O nome do projeto é usado como padrão para a configuração de namespace, o nome dos arquivos de modelo e mapeamento, o nome do arquivo de origem do objeto e o nome do arquivo de origem de geração de exibição. O nome do contêiner da entidade é definido como Contexto do <projeto>. |
/prov[ider]: <string> |
O nome do provedor de dados do .NET Framework a ser usado para gerar o arquivo de modelo de armazenamento (.ssdl). O provedor padrão é o Provedor de Dados do .NET Framework para SQL Server (System.Data.SqlClient). |
/c[onnectionstring]: <cadeia de conexão> |
Especifica a cadeia de caracteres usada para se conectar à fonte de dados. |
/incsdl: <arquivo> |
Especifica o arquivo .csdl ou um diretório onde 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ê deseja validar vários modelos (/mode:ValidateArtifacts ). |
/refcsdl: <arquivo> |
Especifica o arquivo .csdl adicional ou os arquivos usados para resolver quaisquer referências no arquivo .csdl de origem. (O arquivo .csdl de origem é, o arquivo especificado pela /incsdl opção). O /refcsdl arquivo contém tipos dos quais o arquivo .csdl de origem é dependente. Este argumento pode ser especificado várias vezes. |
/inmsl: <arquivo> |
Especifica o arquivo .msl ou um diretório onde 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ê deseja validar vários modelos (/mode:ValidateArtifacts ). |
/inssdl: <arquivo> |
Especifica o arquivo .ssdl ou um diretório onde o arquivo .ssdl está localizado. 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ê deseja validar vários modelos (/mode:ValidateArtifacts) . |
/outcsdl: <arquivo> |
Especifica o nome do arquivo .csdl que será criado. |
/outmsl: <arquivo> |
Especifica o nome do arquivo .msl que será criado. |
/outssdl: <arquivo> |
Especifica o nome do arquivo .ssdl que será criado. |
/outobjectlayer: <arquivo> |
Especifica o nome do arquivo de código-fonte que contém os objetos gerados a partir do arquivo .csdl. |
/outviews: <arquivo> |
Especifica o nome do arquivo de código-fonte que contém as exibições que foram geradas. |
/language: [VB|CSharp] |
Especifica o idioma para os arquivos de código-fonte gerados. O padrão da linguagem é C#. |
/namespace: <string> |
Especifica o namespace do modelo a ser usado. O namespace é definido no arquivo .csdl quando executado /mode:FullGeneration ou /mode:FromSSDLGeneration . O namespace não é usado durante a execução do /mode:EntityClassGeneration . |
/entitycontainer: <string> |
Especifica o nome a ser aplicado ao <EntityContainer> elemento no modelo gerado e nos arquivos de mapeamento. |
/pl[uralize] |
Aplica regras da língua inglesa para singulares e plurais a Entity , EntitySet e NavigationProperty nomes no modelo conceitual. Esta opção executará as seguintes ações:- Faça todos os EntityType nomes singulares.- Faça todos os EntitySet nomes no plural.- Para cada NavigationProperty uma que retorne no máximo uma entidade, faça o nome singular.- Para cada NavigationProperty um que retornar mais de uma entidade, faça o nome plural. |
/SuppressForeignKeyProperties or /nofk |
Impede que colunas de chave estrangeira sejam expostas como propriedades escalares em tipos de entidade no modelo conceitual. |
/help ou ? |
Exibe a sintaxe do comando e as opções da ferramenta. |
/nologo |
Suprime a mensagem de direitos autorais da exibição. |
/targetversion: <string> |
A versão do .NET Framework que será usada para compilar o código gerado. As versões suportadas são 4 e 4.5. O padrão é 4. |
Nesta Secção
Como: Usar EdmGen.exe para gerar o modelo e arquivos de mapeamento
Como: Usar EdmGen.exe para gerar código de camada de objeto
Como: Usar EdmGen.exe para validar arquivos de modelo e mapeamento