Modelos de Geração de Código Designer

Quando cria um modelo usando o Entity Framework Designer, as suas classes e contexto derivado são automaticamente gerados para si. Para além da geração de código padrão, também fornecemos vários modelos que podem ser utilizados para personalizar o código gerado. Estes modelos são fornecidos como Modelos de Texto T4, permitindo-lhe personalizar os modelos se necessário.

O código que é gerado por defeito depende da versão do Visual Studio em que crias o teu modelo:

  • Modelos criados no Visual Studio 2012 e 2013 gerarão classes simples de entidades POCO e um contexto derivado do DbContext simplificado.
  • Os modelos criados no Visual Studio 2010 geram classes de entidade que derivam do EntityObject e um contexto que deriva do ObjectContext.

Observação

Recomendamos que mude para o modelo DbContext Generator assim que adicione o seu modelo.

Esta página cobre os modelos disponíveis e depois fornece instruções para adicionar um modelo ao seu modelo.

Modelos Disponíveis

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

Gerador de DbContext

Este modelo gerará classes simples de entidades POCO e um contexto que deriva do DbContext usando EF6. Este é o modelo recomendado, a menos que tenha uma razão para usar um dos outros modelos listados abaixo. É também o modelo de geração de código que obtém por padrão se estiver a usar versões recentes do Visual Studio (Visual Studio 2013 em diante): Quando cria um novo modelo, este modelo é usado por padrão e os ficheiros T4 (.tt) ficam associados ao seu ficheiro .edmx.

Versões mais antigas do Visual Studio

  • Visual Studio 2012: Para obter os modelos EF 6.x DbContextGenerator , terá de instalar as mais recentes ferramentas do Entity Framework para Visual Studio – consulte a página Get Entity Framework para mais informações.
  • Visual Studio 2010: Os templates EF 6.x DbContextGenerator não estão disponíveis para Visual Studio 2010.

Gerador DbContext para EF 5.x

Se estiver a usar uma versão mais antiga do pacote NuGet do EntityFramework (uma com uma versão principal do 5), terá de usar o modelo EF 5.x DbContext Generator .

Se estiveres a usar Visual Studio 2013 ou 2012, este modelo já está instalado.

Se estiver a usar o Visual Studio 2010, terá de selecionar o separador Online ao inserir o modelo para descarregar da Visual Studio Gallery. Alternativamente, podes instalar o modelo diretamente a partir da Galeria do Visual Studio com antecedência. Como os templates estão incluídos em versões posteriores do Visual Studio, as versões da galeria só podem ser instaladas no Visual Studio 2010.

Gerador DbContext para EF 4.x

Se estiveres a usar uma versão mais antiga do pacote NuGet do EntityFramework (uma com uma versão principal do 4), vais precisar de usar o modelo EF 4.x DbContext Generator . Isto pode ser encontrado na aba Online ao adicionar o template, ou pode instalar o template diretamente a partir da Galeria do Visual Studio previamente.

Gerador de Entidades-Objetos

Este template irá gerar classes de entidade que derivam de EntityObject e um contexto que deriva de ObjectContext.

Observação

Considere usar o Gerador DbContext

O Gerador DbContext é agora o modelo recomendado para novas aplicações. O Gerador DbContext aproveita a API mais simples do DbContext. O Gerador de Objetos-Entidades continua disponível para suportar aplicações existentes.

Visual Studio 2010, 2012 & 2013

Terá de selecionar o separador Online ao adicionar o template para descarregá-lo da Galeria do Visual Studio. Alternativamente, podes instalar o modelo diretamente a partir da Galeria do Visual Studio com antecedência.

Gerador de Objetos de Entidade para EF 5.x

Se estiveres a usar Visual Studio 2012 ou 2013, terás de selecionar o separador Online ao adicionar o modelo para o descarregar da Galeria Visual Studio. Alternativamente, podes instalar o modelo diretamente a partir da Galeria do Visual Studio com antecedência. 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 só quiseres geração de código ObjectContext sem precisar de editar o template, podes reverter para a geração de código EntityObject.

Se estiver a usar o Visual Studio 2010, este modelo já está instalado. Se criares um novo modelo no Visual Studio 2010, este modelo é usado por defeito, mas os ficheiros .tt não estão incluídos no teu projeto. Se quiser personalizar o modelo, terá de o adicionar ao seu projeto.

Gerador de Entidades Self-Tracking (STE)

Este modelo irá gerar classes de Entidade de Autorrastreio e um contexto que deriva do ObjectContext. Numa aplicação EF, um contexto é responsável por acompanhar as alterações nas entidades. No entanto, em cenários N-Tiver, o contexto pode não estar disponível no nível que modifica as entidades. Entidades de auto-rastreio ajudam a acompanhar alterações em qualquer camada. Para mais informações, consulte Entidades com Autorrastreio.

Observação

Modelo STE Não Recomendado

Já não recomendamos a utilização do modelo STE em novas candidaturas, pois continua disponível para suportar aplicações existentes. Visite o artigo sobre entidades desconectadas para outras opções que recomendamos para cenários N-Tier.

Observação

Não existe uma versão EF 6.x do modelo STE.

Observação

Não existe uma versão Visual Studio 2013 do modelo STE.

Visual Studio 2012

Se estiver a usar o Visual Studio 2012, deverá selecionar o separador Online ao adicionar o template para descarregá-lo na Galeria do Visual Studio. Alternativamente, podes instalar o modelo diretamente a partir da Galeria do Visual Studio com antecedência. Como os templates estão incluídos no Visual Studio 2010, as versões da galeria só podem ser instaladas no Visual Studio 2012.

Visual Studio 2010**

Se estiver a usar o Visual Studio 2010, este modelo já está instalado.

Gerador de Entidades POCO

Este modelo irá gerar classes de entidades POCO e um contexto que deriva do ObjectContext

Observação

Considere usar o Gerador DbContext

O Gerador DbContext é agora o modelo recomendado para gerar classes POCO em novas aplicações. O Gerador DbContext tira partido da nova API DbContext e pode gerar classes POCO mais simples. O Gerador de Entidades POCO continua disponível para suportar aplicações existentes.

Observação

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

Observação

Não existe uma versão Visual Studio 2013 do modelo POCO.

Visual Studio 2012 & Visual Studio 2010

Terá de selecionar o separador Online ao adicionar o template para descarregá-lo da Galeria do Visual Studio. Alternativamente, podes instalar o modelo diretamente a partir da Galeria do Visual Studio com antecedência.

Quais são os Modelos de "Sites Web"

Os templates de "Web Sites" (por exemplo, EF 5.x DbContext Generator for C# Web Sites) destinam-se a ser usados em projetos de Web Web criados via Ficheiro -> Novo -> Site Web.... Estas são diferentes das Aplicações Web, criadas através de Ficheiro -> Novo -> Projeto..., que utilizam os modelos padrão. Fornecemos modelos separados porque o sistema de templates de itens no Visual Studio os exige.

Utilização de um Modelo

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

Adicionar Item de Geração de Código

Se já instalaste o modelo que queres usar (ou se ele estava incluído no Visual Studio), então estará disponível na secção Código ou Dados no menu esquerdo.

Modelo Instalado

Se ainda não tiver o modelo instalado, selecione Online no menu esquerdo e procure o modelo que deseja.

Modelo de Pesquisa  

Se estiver a usar Visual Studio 2012, os novos ficheiros .tt serão aninhados sob o ficheiro .edmx.*

Observação

Para modelos criados no Visual Studio 2012, terá de eliminar os modelos usados para geração de código padrão, caso contrário terá classes duplicadas e contexto gerados. Os ficheiros predefinidos são <model name.tt> e <model name.context.tt>

Modelos VS2012

Se estiveres a usar o Visual Studio 2010, os ficheiros tt são adicionados diretamente ao teu projeto.  

Modelos VS2010