Condividi tramite


Modelli di generazione codice di Designer

Quando si crea un modello usando Entity Framework Designer, le classi e il contesto derivato vengono generati automaticamente. Oltre alla generazione codice predefinita, sono anche disponibili diversi modelli che possono essere usati per personalizzare il codice generato. Si tratta di modelli di testo T4, che consentono di personalizzare i modelli, se necessario.

Il codice generato per impostazione predefinita dipende dalla versione di Visual Studio in cui si crea il modello:

  • I modelli creati in Visual Studio 2012 e 2013 generano semplici classi di entità POCO e un contesto derivato dall'elemento DbContext semplificato.
  • I modelli creati in Visual Studio 2010 generano classi di entità derivate da EntityObject e un contesto derivato da ObjectContext.

Nota

È consigliabile passare al modello DbContext Generator dopo aver aggiunto il proprio modello.

Questa pagina illustra i modelli disponibili e le istruzioni per aggiungere un modello al proprio.

Modelli disponibili

Il team di Entity Framework offre i modelli seguenti:

Modello DbContext Generator

Questo modello genera semplici classi di entità POCO e un contesto derivato da DbContext usando Entity Framework 6. È il modello consigliato a meno che non esista un motivo per usare uno degli altri modelli elencati di seguito. È anche il modello di generazione codice predefinito se si usano le versioni recenti di Visual Studio (Visual Studio 2013 e versioni successive): quando si crea un nuovo modello, questo modello viene usato per impostazione predefinita e i file T4 (con estensione tt) vengono annidati nel file con estensione edmx.

Versioni precedenti di Visual Studio

  • Visual Studio 2012: per ottenere i modelli EF 6.x DbContextGenerator è necessario installare la versione più recente di Entity Framework Tools per Visual Studio. Vedere la pagina Get Entity Framework (Ottenere Entity Framework) per altre informazioni.
  • Visual Studio 2010: i modelli EF 6.x DbContextGenerator non sono disponibili per Visual Studio 2010.

Modello DbContext Generator per Entity Framework 5.x

Se si usa una versione precedente del pacchetto NuGet di EntityFramework (con una versione principale della 5), usare il modello EF 5.x DbContext Generator.

Se si usa Visual Studio 2013 o 2012 questo modello è già installato.

Se si usa Visual Studio 2010, selezionare la scheda Online quando si aggiunge il modello per scaricarlo da Visual Studio Gallery. In alternativa, è possibile installarlo prima direttamente da Visual Studio Gallery. I modelli sono inclusi nelle versioni più recenti di Visual Studio. Le versioni disponibili nella raccolta possono essere quindi installate solo in Visual Studio 2010.

Modello DbContext Generator per Entity Framework 4.x

Se si usa una versione precedente del pacchetto NuGet di EntityFramework (con una versione principale della 4), usare il modello EF 4.x DbContext Generator. Questo modello è disponibile nella scheda Online quando si aggiunge il modello. In alternativa, è possibile installarlo prima direttamente da Visual Studio Gallery.

Modello EntityObject Generator

Questo modello genera classi di entità derivate da EntityObject e un contesto derivato da ObjectContext.

Nota

È consigliabile usare il modello DbContext Generator

Per le nuove applicazioni è consigliabile usare il modello DbContext Generator, che consente l'utilizzo dell'API più semplice di DbContext. Il modello EntityObject Generator continua a essere disponibile e può essere usato per supportare le applicazioni esistenti.

Visual Studio 2010, 2012 & 2013

Selezionare la scheda Online quando si aggiunge il modello per scaricarlo da Visual Studio Gallery. In alternativa, è possibile installarlo prima direttamente da Visual Studio Gallery.

Modello EntityObject Generator per Entity Framework 5.x

Se si usa Visual Studio 2012 o 2013, selezionare la scheda Online quando si aggiunge il modello per scaricarlo da Visual Studio Gallery. In alternativa, è possibile installarlo prima direttamente da Visual Studio Gallery. Poiché i modelli sono inclusi in Visual Studio 2010, le versioni della raccolta possono essere installate solo in Visual Studio 2012 & 2013.

Se si vuole semplicemente generare il codice ObjectContext senza modificare il modello, è possibile ripristinare la generazione codice di EntityObject.

Se si usa Visual Studio 2010, questo modello è già installato. Se si crea un nuovo modello in Visual Studio 2010, questo modello viene usato per impostazione predefinita, ma i file con estensione tt non sono inclusi nel progetto. Per personalizzare il modello, è necessario aggiungerlo al progetto.

Modello Self-Tracking Entities (STE) Generator

Questo modello genera classi di entità con rilevamento automatico e un contesto derivato da ObjectContext. In un'applicazione Entity Framework il rilevamento delle modifiche nelle entità viene controllato da un contesto. Negli scenari a più livelli il contesto potrebbe non essere disponibile sul livello che modifica le entità. Le entità con rilevamento automatico consentono di tenere traccia delle modifiche in qualsiasi livello. Per altre informazioni, vedere Self-Tracking Entities (Entità con rilevamento automatico).

Nota

Il modello STE (entità con rilevamento automatico) non è consigliato

Non è più consigliabile usare il modello STE nelle nuove applicazioni. È tuttavia ancora disponibile per supportare le applicazioni esistenti. Visitare l'articolo relativo alle entità disconnesse per informazioni su altre opzioni consigliate per scenari a più livelli.

Nota

Non esiste una versione EF 6.x del modello STE.

Nota

Non esiste una versione Visual Studio 2013 del modello STE.

Visual Studio 2012

Se si usa Visual Studio 2012, selezionare la scheda Online quando si aggiunge il modello per scaricarlo da Visual Studio Gallery. In alternativa, è possibile installarlo prima direttamente da Visual Studio Gallery. I modelli sono inclusi in Visual Studio 2010. Le versioni disponibili nella raccolta possono essere quindi installate solo in Visual Studio 2012.

Visual Studio 2010**

Se si usa Visual Studio 2010, questo modello è già installato.

Modello POCO Entity Generator

Questo modello genera classi di entità POCO e un contesto derivato da ObjectContext

Nota

È consigliabile usare il modello DbContext Generator

È consigliabile usare il modello DbContext Generator per generare classi POCO in nuove applicazioni. Questo modello consente l'utilizzo della nuova API di DbContext e genera classi POCO più semplici. Il modello POCO Entity Generator continua a essere disponibile e può essere usato per supportare le applicazioni esistenti.

Nota

Non esiste una versione EF 5.x o EF 6.x del modello STE.

Nota

Non esiste una versione Visual Studio 2013 del modello POCO.

Visual Studio 2012 & Visual Studio 2010

Selezionare la scheda Online quando si aggiunge il modello per scaricarlo da Visual Studio Gallery. In alternativa, è possibile installarlo prima direttamente da Visual Studio Gallery.

Modelli per siti Web

I modelli per siti Web, ad esempio EF 5.x DbContext Generator per siti Web C#, sono destinati all'uso in progetti di tipo sito Web creati tramite File -> Nuovo -> Sito Web. Questi progetti sono diversi dalle applicazioni Web, create tramite File -> Nuovo -> Progetto, che usano i modelli standard. Vengono offerti modelli distinti in quanto il sistema di modelli di elemento in Visual Studio li richiede.

Uso di un modello

Per iniziare a usare un modello di generazione codice, fare clic con il pulsante destro del mouse su uno spazio vuoto nell'area di progettazione di Entity Framework Designer e selezionare Aggiungi elemento di generazione codice... .

Add Code Gen Item

Se il modello da usare è già stato installato o è stato incluso in Visual Studio, sarà disponibile nella sezione Codice o Dati nel menu a sinistra.

Installed Template

Se il modello non è stato ancora installato, selezionare Online dal menu a sinistra e cercare il modello necessario.

Search Template 

Se si usa Visual Studio 2012, i nuovi file con estensione tt verranno annidati nel file con estensione edmx.*

Nota

Per i modelli creati in Visual Studio 2012, è necessario eliminare i modelli usati per la generazione codice predefinita. In caso contrario, si avranno duplicati di classi e contesto generati. I file predefiniti sono <nome modello>.tt e <nome modello>.context.tt

VS2012 Templates

Se si usa Visual Studio 2010, i file con estensione tt vengono aggiunti direttamente al progetto.  

VS2010 Templates