Entity Framework Model First - Aggiornamento del model

di il
3 risposte

Entity Framework Model First - Aggiornamento del model

Gentili,
devo riprendere in mano un progetto WPF fatto da un precedente programmatore, il quale utilizza come connessione dati EF 6.4 Model First (quello che fa uso del model .edmx e che riporta graficamente entità e relazioni tra le tabelle).
Premetto che prima di scrivere ho spulciato per qualche ora vari tutorial: adesso devo aggiungere sicuramente una, forse due tabelle, al modello per fare ulteriori query e dovrei usare la funzione Aggiorna Modello da database.
Il problema è che, se non ricordo male, eventuali proprietà di navigazione mappate manualmente (es. se nel db fisico non è stata creata la relazione tra tabelle) durante l'aggiornamento vengono perse, e non vorrei fare danni per poi trovarmi fra 15-20 gg col cliente che chiama che non funzionano più altre maschere.
Le tabelle collegate saranno circa una quarantina e mi viene male a pensare a controllare tutte le relazioni e/o proprietà di navigazione.
Ringrazio in anticipo per qualsiasi suggerimento.
Saluti.
Lucius

3 Risposte

  • Re: Entity Framework Model First - Aggiornamento del model

    Hai provato ad aggiungere una tabella al db poi e modificare il codice generato automaticamente ( manualmente) aggiungendo la tua tabella? in entity framework core ho fatto qualche modifica al db e poi manualmente ho modificato il codice generato dallo scaffold dbcontext e funziona, ciao
  • Re: Entity Framework Model First - Aggiornamento del model

    luciusinfabula ha scritto:


    Il problema è che, se non ricordo male, eventuali proprietà di navigazione mappate manualmente (es. se nel db fisico non è stata creata la relazione tra tabelle) durante l'aggiornamento vengono perse, e non vorrei fare danni per poi trovarmi fra 15-20 gg col cliente che chiama che non funzionano più altre maschere.
    In genere, dalla mia esperienza d'uso mi pare che Entity Framework non si azzardi a rimuovere nulla di ciò che è presente nel modello; ad esempio, se viene rimosso un campo da una tabella, nell'entità del modello la proprietà correlata al campo rimane, ma in fase di build o salvataggio (quando rigenera i file di codice) viene mostrato un warning per segnalare che la proprietà non è fisicamente mappata in quanto il campo sottostante non esiste più.

    Certo, aggiungere le relazioni su EF e non mettere le foreign key su DB è una cosa da assassini.

    luciusinfabula ha scritto:


    Le tabelle collegate saranno circa una quarantina e mi viene male a pensare a controllare tutte le relazioni e/o proprietà di navigazione.
    Usando un qualsivoglia sistema di controllo di versione del codice (es. Git, SVN, ecc.) è facile vedere che tipo di modifiche vengono attuale e, nel caso, tornare indietro se serve.

    Ciao!
  • Re: Entity Framework Model First - Aggiornamento del model

    Gentili,
    intanto grazie per le risposte sempre cordiali e puntuali, nonché precise.
    Ho fatto delle prove copiando il progetto in altra cartella e facendo l'aggiornamento del modello, non mi sembra che abbia fatto modifiche alle relazioni esistenti, ho provato qua e là qualche maschera già presente e non ci sono problemi; in ogni caso per sicurezza mi sono tenuto da parte l'intero backup del progetto con il vecchio model, al limite o tramite Git oppure rileggendo il model vecchio dovrei riuscire a capire se ci sono problemi.
    Grazie ancora per la gentilezza, e la competenza.
    Lucius
Devi accedere o registrarti per scrivere nel forum
3 risposte