Procedura: personalizzare la generazione di codice del livello oggetti (Entity Data Model Designer)
In questo argomento viene descritto come utilizzare ADO.NET Entity Data Model Designer (Entity Designer) e i modelli di testo per personalizzare la generazione del contesto dell'oggetto e di classi di identità, vale a dire il codice del livello oggetti.
Per impostazione predefinita, Entity Designer utilizza lo strumento personalizzato EntityModelCodeGenerator per generare codice del livello oggetti. Per ulteriori informazioni, vedere Panoramica sul codice generato (Entity Data Model Designer). Quando si aggiunge un modello di testo a un progetto, tale modello può essere utilizzato in Entity Designer al posto dello strumento personalizzato predefinito per generare codice del livello oggetti.
Nota: |
---|
È possibile utilizzare gli strumenti della riga di comando per generare codice del livello oggetti con un modello di testo.Per ulteriori informazioni, vedere Strumenti da riga di comando per modelli di testo. |
In Visual Studio sono disponibili due modelli ADO.NET che generano il codice di livello oggetti di Entity Framework: ADO.NET EntityObject Generator e Generatore di entità con rilevamento automatico ADO.NET. ADO.NET EntityObject Generator genera lo stesso codice dello strumento personalizzato EntityModelCodeGenerator. Il modello Generatore di entità con rilevamento automatico ADO.NET genera classi di entità che contengono la logica di stato con rilevamento automatico. È possibile utilizzare le entità con rilevamento automatico quando si utilizzano le applicazioni a più livelli. Per ulteriori informazioni sui modelli ADO.NET, vedere Modello ADO.NET EntityObject Generator e Modello Generatore di entità con rilevamento automatico ADO.NET.
La procedura riportata di seguito richiede i seguenti presupposti:
Un progetto Visual Basic o C# destinato a .NET Framework 4 aperto in Visual Studio 2010.
Un file con estensione edmx aperto in Entity Designer.
Una certa familiarità con la personalizzazione dei modelli di testo. Per informazioni sui modelli di testo, vedere Generazione di elementi (la pagina potrebbe essere in inglese).
Per personalizzare la generazione di codice del livello oggetti
Fare clic con il pulsante destro del mouse in un'area vuota dell'area di Entity Designer, scegliere Aggiungi elemento di generazione codice e selezionare un modello disponibile. Se non sono disponibili modelli, selezionare Codice nel riquadro Modelli installati.
L'elemento di generazione di codice aggiunge uno o più file modello di testo (con estensione tt) al progetto. I modelli di testo generano codice del livello oggetti. I file generati vengono aggiunti sotto i file con estensione tt. Se non si modifica questo modello, il codice generato sarà uguale al codice generato da Entity Designer.
Quando si aggiunge il modello di testo al progetto, in Visual Studio vengono eseguite le operazioni seguenti:
Imposta la proprietà Strategia di generazione del codice del modello concettuale su Nessuno. In tal modo viene disattivata la generazione di codice predefinita.
Un nuovo file del modello di testo viene aggiunto al progetto nella stessa directory del file con estensione edmx.
Il percorso del file con estensione edmx relativo al modello di testo viene inserito nel modello. In questo modo il modello di testo elaborerà il file con estensione edmx corretto.
Il modello di testo viene utilizzato per generare codice in base al file con estensione edmx. Il codice generato viene scritto in un file
<text_template_name>.cs
o<text_template_name>.vb
. Il file viene aggiunto come file dipendente del file del modello in Esplora soluzioni.
Aprire il modello di testo e modificarlo.
Salvare il file del modello di testo modificato.
Quando si salva il file del modello di testo, il codice del livello oggetti viene rigenerato in base al file modificato.
Per impostazione predefinita, la generazione di codice del livello oggetti per un file con estensione edmx viene attivata ogni qualvolta si salva il file. Le modifiche manuali apportate ai file di codice <text_template_name>.cs
o <text_template_name>.vb
non vengono mantenute. Se a un file con estensione edmx sono associati più file del modello di testo, quando il file viene salvato tutti i file di codice associati vengono rigenerati. Tuttavia, è possibile modificare questo comportamento. Se si imposta la proprietà Trasforma i modelli di testo correlati al momento del salvataggio del modello concettuale su false, i file di codice non verranno rigenerati in seguito al salvataggio del file.
Quando si suddividono il modello e i file con estensione tt in progetti separati, è necessario eseguire manualmente la generazione di codice ogni volta che si modifica un file con estensione edmx o con estensione tt. Procedere facendo clic su pulsante Trasforma tutti i modelli in Esplora soluzioni. Nell'argomento Walkthrough: Serialize Self-Tracking Entities viene illustrato come suddividere il modello e i file con estensione tt in progetti separati.
Vedere anche
Concetti
Panoramica sui file con estensione edmx (Entity Framework)