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à nuove tabelle ad esso.
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 anche la capacità di utilizzare quel modello per creare un database, se lo desideri.
Può anche aggiornare il database se il modello cambia, utilizzando una funzionalità chiamata Code First Migrations.
Configurazione dell'ambiente
Per iniziare a lavorare con l'approccio EF Code First è necessario che i seguenti strumenti siano installati sul proprio sistema.
- Visual Studio 2013 (.net framework 4.5.2) o versione successiva.
- MS SQL Server 2012 o successivo.
- Entity Framework tramite NuGet Package.
Installa EF tramite il pacchetto NuGet
Step 1 - Innanzitutto, crea l'applicazione console da File → Nuovo → Progetto ...
Step 2 - Seleziona Windows dal riquadro di sinistra e Applicazione console dal riquadro dei modelli.
Step 3 - Inserisci EFCodeFirstDemo come nome e seleziona OK.
Step 4 - Fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e selezionare Gestisci pacchetti NuGet ...
Questo aprirà NuGet Package Manager e cercherà EntityFramework. Questo cercherà tutti i pacchetti relativi a Entity Framework.
Step 5- Seleziona EntityFramework e fai clic su Installa. Oppure dal menu Strumenti fare clic su Gestione pacchetti NuGet e quindi su Console di Gestione pacchetti. Nella finestra della console di Gestione pacchetti, immetti il seguente comando: Install-Package EntityFramework.
Al termine dell'installazione, verrà visualizzato il seguente messaggio nella finestra di output "EntityFramework 6.1.2 installato con successo in EFCodeFirstDemo".
Dopo l'installazione, EntityFramework.dll verrà incluso nel progetto, come mostrato nell'immagine seguente.
Ora sei pronto per iniziare a lavorare sull'approccio Code First.