2012-10-14 10 views
7

EF auto-generare la classe DbContext dal mio file edmx (database prima) e utilizzare i nomi di tabella come nomi predefiniti per tutti gli annunci di questo DbContext (es: public DbSet<Student> student { get; set; })Come personalizzare i nomi delle proprietà DbContext in Entity Framework e interrompere la sovrascrittura?

Se faccio qualche cambiamento in questo file (es: come rinominando il nome delle proprietà dallo studente agli studenti), le mie modifiche vengono perse ogni volta che salvo il mio modello perché EF rigenera il file di classe DbContext.

Come posso modificare questo comportamento predefinito ed essere in grado di fare la mia personalizzazione e smettere di perderlo?

risposta

6

di elaborare su quello che ha detto Pawel .. Il file EDMX (il progettista) è la fonte di tutto. Tutte le modifiche che devi apportare agli elementi generati dovrebbero essere fatte lì. È possibile aggiungere ulteriori metodi o proprietà tramite classi parziali, ma non è possibile modificare quelli esistenti .. quindi è necessario modificarli nel file EDMX di origine.

Basta fare clic destro sul tavolo del progettista, e rinominarlo. Questo non cambia il nome della tabella sottostante (almeno nel reverse engineering di Database First, il modello prima è una storia diversa).

+0

Ok per i nomi delle tabelle ma per quanto riguarda i nomi dei metodi nella mia classe entità che ereditano da DbContext? (In MyDataModel.Context.cs) –

+0

@ Etienne - Quali nomi di metodi? Poco sono chiamati Poco's per una ragione. Non hanno metodi. –

+0

Il modello T4 mi invia un MyDataModel.Context.tt che contengono una MyDataModel.Context.cs. All'interno di quest'ultima abbiamo la definizione degli Enti pubblici classe parziale: DbContext che contengono l'elenco di tutti i metodi (es: DbSet pubblico studente {get; set;}). Dentro i miei repository, dopo aver istanziato questa classe entità (es: contesto soggetti privati;) posso accedere al mio modello utilizzando context.student ... Vorrei accedervi utilizzando context.Students ... Mi spiace di non poter essere chiaro ... –

1

è necessario modificare nel file EDMX - si dovrebbe essere in grado di farlo con la progettazione EF

Problemi correlati