Compartilhar via


Modelos de geração de código do Designer

Quando você cria um modelo usando o Entity Framework Designer, suas classes e os contextos derivados são automaticamente gerados. Além da geração de código padrão, também fornecemos vários modelos que podem ser usados para personalizar o código gerado. Esses modelos são fornecidos como Modelos de Texto T4, permitindo que você os personalize, se necessário.

O código gerado por padrão depende de em qual versão do Visual Studio o modelo é criado:

  • Modelos criados no Visual Studio 2012 e 2013 gerarão classes de entidade POCO simples e um contexto derivado do DbContext simplificado.
  • Modelos criados no Visual Studio 2010 gerarão classes de entidade derivadas de EntityObject e um contexto derivado de ObjectContext.

Observação

É recomendável alternar para o modelo Gerador de DbContext depois de adicionar seu modelo.

Esta página aborda os modelos disponíveis e, em seguida, fornece instruções para adicionar um modelo ao seu modelo.

Modelos disponíveis

Os seguintes modelos são fornecidos pela equipe do Entity Framework:

Gerador DbContext

Esse modelo gerará classes de entidade POCO simples e um contexto derivado de DbContext usando o EF6. Esse é o modelo recomendado a menos que você tenha um motivo para usar um dos outros modelos listados abaixo. Ele também será o modelo de geração de código obtido por padrão se você estiver usando versões recentes do Visual Studio (Visual Studio 2013 em diante): quando se cria um modelo, ele é usado por padrão e os arquivos T4 (.tt) são aninhados sob seu arquivo .edmx.

Versões mais antigas do Visual Studio

  • Visual Studio 2012: para obter os modelos EF 6.x DbContextGenerator, você precisará instalar a versão mais recente do Entity Framework Tools para Visual Studio. Consulte a página Obter o Entity Framework para encontrar mais informações.
  • Visual Studio 2010: os modelos EF 6.x DbContextGenerator não estão disponíveis para Visual Studio 2010.

Gerador DbContext para EF 5.x

Se você estiver usando uma versão mais antiga do pacote NuGet EntityFramework (um com versão principal 5), precisará usar o modelo Gerador DbContext do EF 5.x.

Se você estiver usando o Visual Studio 2013 ou 2012, este modelo já estará instalado.

Se você estiver usando o Visual Studio 2010, precisará selecionar a guia Online ao adicionar o modelo para baixá-lo da Galeria do Visual Studio. Como alternativa, você pode instalar o modelo diretamente da Galeria do Visual Studio previamente. Como os modelos são incluídos em versões posteriores do Visual Studio, as versões na galeria podem ser instaladas apenas no Visual Studio 2010.

Gerador DbContext para EF 4.x

Se você estiver usando uma versão mais antiga do pacote NuGet EntityFramework (um com versão principal 4), precisará usar o modelo Gerador DbContext do EF 4.x. Isso pode ser encontrado na guia Online ao adicionar o modelo ou você pode instalar o modelo diretamente da Galeria do Visual Studio previamente.

Gerador EntityObject

Este modelo gerará classes de entidade derivadas de EntityObject e um contexto derivado de ObjectContext.

Observação

Considere usar o Gerador DbContext

O Gerador DbContext é o modelo recomendado no momento para novos aplicativos. O Gerador DbContext aproveita a API DbContext mais simples. O Gerador EntityObject continua disponível para dar suporte aos aplicativos existentes.

Visual Studio 2010, 2012 e 2013

Você precisará selecionar a guia Online ao adicionar o modelo para baixá-lo da Galeria do Visual Studio. Como alternativa, você pode instalar o modelo diretamente da Galeria do Visual Studio previamente.

Gerador EntityObject para EF 5.x

Se você estiver usando o Visual Studio 2012 ou 2013, precisará selecionar a guia Online ao adicionar o modelo para baixá-lo da Galeria do Visual Studio. Como alternativa, você pode instalar o modelo diretamente da Galeria do Visual Studio previamente. Como os modelos estão incluídos no Visual Studio 2010, as versões na galeria só podem ser instaladas no Visual Studio 2012 e 2013.

Se você quiser apenas a geração de código do ObjectContext sem precisar editar o modelo, poderá reverter para a geração de código do EntityObject.

Se você estiver usando o Visual Studio 2010, este modelo já estará instalado. Se você criar um modelo no Visual Studio 2010, ele será usado por padrão, mas os arquivos .tt não serão incluídos no projeto. Se quiser personalizar o modelo, será necessário adicioná-lo ao projeto.

Gerador de STE (Entidades de Rastreamento Automático)

Este modelo gerará classes de Entidade de Rastreamento Automático e um contexto derivado do ObjectContext. Em um aplicativo do EF, um contexto é responsável por controlar as alterações nas entidades. No entanto, em cenários de N camadas, o contexto pode não estar disponível na camada que modifica as entidades. As entidades de rastreamento automático ajudam você a rastrear as alterações em qualquer camada. Para obter mais informações, consulte Entidades de rastreamento automático.

Observação

Modelo STE não recomendado

Não recomendamos usar o modelo STE em novos aplicativos, ele continua disponível para dar suporte aos aplicativos existentes. Visite o artigo de entidades desconectadas para outras opções recomendadas para cenários de N camadas.

Observação

Não há nenhuma versão do EF 6.x do modelo STE.

Observação

Não há nenhuma versão do Visual Studio 2013 do modelo STE.

Visual Studio 2012

Se você estiver usando o Visual Studio 2012, precisará selecionar a guia Online ao adicionar o modelo para baixá-lo da Galeria do Visual Studio. Como alternativa, você pode instalar o modelo diretamente da Galeria do Visual Studio previamente. Como os modelos são incluídos no Visual Studio 2010, as versões na galeria podem ser instaladas apenas no Visual Studio 2012.

Visual Studio 2010**

Se você estiver usando o Visual Studio 2010, este modelo já estará instalado.

Gerador de entidade POCO

Este modelo gerará classes de entidade POCO e um contexto derivado do ObjectContext

Observação

Considere usar o Gerador DbContext

O Gerador DbContext é o modelo recomendado no momento para gerar classes POCO em novos aplicativos. O Gerador DbContext aproveita a nova API DbContext e pode gerar classes POCO mais simples. O Gerador de entidade POCO continua disponível para dar suporte aos aplicativos existentes.

Observação

Não há nenhuma versão do EF 5.x ou do EF 6.x do modelo STE.

Observação

Não há nenhuma versão do Visual Studio 2013 do modelo POCO.

Visual Studio 2012 e Visual Studio 2010

Você precisará selecionar a guia Online ao adicionar o modelo para baixá-lo da Galeria do Visual Studio. Como alternativa, você pode instalar o modelo diretamente da Galeria do Visual Studio previamente.

O que são os modelos de “sites”

Os modelos de "sites" (por exemplo, Gerador EF 5.x DbContext para sites C#) servem ao uso em projetos de site criados via Arquivo –> Novo –> Site.... Esses são diferentes dos aplicativos Web, criados via Arquivo –> Novo –> Projeto..., que usam os modelos padrão. Fornecemos modelos separados porque o sistema de modelo de item no Visual Studio os exige.

Usando um modelo

Para começar a usar um modelo de geração de código, clique com o botão direito do mouse em uma área vazia na superfície de design no EF Designer e selecione Adicionar Item de Geração de Código....

Add Code Gen Item

Se você já tiver instalado o modelo que deseja usar (ou se ele estava incluído no Visual Studio), ele estará disponível na seção Código ou Dados do menu esquerdo.

Installed Template

Se você ainda não tiver o modelo instalado, selecione Online no menu esquerdo e pesquise o modelo desejado.

Search Template 

Se você estiver usando o Visual Studio 2012, os novos arquivos .tt serão aninhados no arquivo .edmx.*

Observação

Para modelos criados no Visual Studio 2012, você precisará excluir os modelos usados para a geração de código padrão, caso contrário, as classes e o contexto serão gerados de forma duplicada. Os arquivos padrão são <nome do modelo>.tt e <nome do modelo>.context.tt

VS2012 Templates

Se você estiver usando o Visual Studio 2010, os arquivos tt serão adicionados diretamente ao seu projeto.  

VS2010 Templates