2012-08-29 4 views
7

Mi dispiace se questo è nel posto sbagliato, tuttavia penso che lo sia.Le migliori pratiche per la modifica del codice generato automaticamente MVC3?

Così, durante la creazione di un'applicazione Internet MVC3, ho utilizzato un primo metodo di database e le mie classi sono state generate per me. Sono nuovo di MVC3 e abbastanza nuovo per C# e Visual Studio anche se ho una piccola esperienza.

Il codice generato automaticamente avverte che la modifica può causare risultati imprevisti e le modifiche verranno rimosse se il codice viene rigenerato. A quanto ho capito, ciò significa modifiche al database, riesecuzione dei file tt o aggiornamento del modello.

Tuttavia è ok pratica modificarlo e tenere traccia delle modifiche in caso di necessità di rigenerazione oppure esiste un modo migliore per farlo?

Grazie per qualsiasi aiuto.

risposta

11

Le classi generate devono essere classi partial in modo che sia possibile gestire esternamente i miglioramenti creando la propria classe partial con lo stesso spazio dei nomi e il nome.

+0

+1 La parola chiave "parziale" è il modo giusto, come gestire insieme il codice generato automaticamente e personalizzato. – TcKs

+0

Grazie, leggerete le lezioni parziali e come metterle insieme. Accetterà quando mi permetterà. :) – Bohdi

+0

Quindi, se ho un public 'class class pagetest' pubblico in un file di classe chiamato pages.cs e la pagina di classe generata automaticamente è chiamata news_page ma anche chiamata 'partial class pagetest' farà funzionare questo? sono entrambi nel modello e entrambi nello stesso progetto namespace. Modelli. Tuttavia la classe parziale generata automaticamente si trova nel file .edmx. anche l'altra metà della classe parziale deve essere spostata lì? – Bohdi

1

Nel primo approccio del modello, utilizzando la strategia di generazione del codice predefinita nel file EDMX, le classi generate per le classi DbContext e Entity sono tutte classi parziali.

Quindi, a seconda del tipo di modifiche, se si desidera estendere queste classi generate, è sufficiente creare una nuova classe parziale con il proprio codice personalizzato. Il tuo partial non verrà sovrascritto dal generatore di codice.