Entity Framework - Approccio Code First

Entity Framework fornisce tre approcci per creare un modello di entità e ognuno ha i propri pro e contro.

  • Code First
  • Database First
  • Primo modello

In questo capitolo descriveremo brevemente il primo approccio al codice. Alcuni sviluppatori preferiscono lavorare con Designer in Code mentre altri preferiscono lavorare semplicemente con il loro codice. Per questi sviluppatori, Entity Framework ha un flusso di lavoro di modellazione denominato Code First.

  • Il flusso di lavoro di modellazione Code First è destinato a un database che non esiste e Code First lo creerà.

  • Può essere utilizzato anche se si dispone di un database vuoto e quindi Code First aggiungerà anche nuove tabelle.

  • Code First consente di definire il modello utilizzando le classi C # o VB.Net.

  • Facoltativamente, è possibile eseguire una configurazione aggiuntiva utilizzando attributi sulle classi e proprietà o utilizzando un'API fluente.

Perché Code First?

  • Code First è in realtà costituito da un insieme di pezzi del puzzle. Le prime sono le classi di dominio.

  • Le classi di dominio non hanno nulla a che fare con Entity Framework. Sono solo gli elementi del tuo dominio aziendale.

  • Entity Framework, quindi, ha un contesto che gestisce l'interazione tra quelle classi e il database.

  • Il contesto non è specifico di Code First. È una funzionalità di Entity Framework.

  • Code First aggiunge un generatore di modelli che ispeziona le classi gestite dal contesto, quindi utilizza un insieme di regole o convenzioni per determinare come tali classi e relazioni descrivono un modello e come tale modello deve essere associato al database.

  • Tutto questo accade in fase di esecuzione. Non vedrai mai questo modello, è solo nella memoria.

  • Code First ha la capacità di utilizzare quel modello per creare un database, se necessario.

  • Può anche aggiornare il database se il modello cambia, utilizzando una funzionalità chiamata Code First Migrations.