Di seguito la procedura per installare il flusso di lavoro Entity Framework in Visual Studio 2017
- Creare un progetto visual Studio 2017 nuovo
- Verificare di utilizzare come Framework.NET la versione 4.6 (e non la 4.5 che non è supportata da Entity Framework 6.2.0)
- Tramite interfaccia grafica NuGet, installare i seguenti pacchetti (nel seguente ordine)
- Entity Framework 6.2.0
- MySql.Data.EntityFramework 8.0.15 (IMPORTANTISSIMO: attenzione a non confondersi installando MySql.Data.Entity) – NuGet qui
- I pacchetti di cui sopra installeranno:
- MySql.Data 8.0.15
- Google.Protobuf 3.6.1
Procedura per configurare un progetto Entity Framework 6.0:
- Inserire un nuovo elemento “Add New Item…” selezionando “ADO.NET Entity Data Model” e dando un nome al model
- Selezionare una modalità di lavoro (solitamente EF Designer From Database, la prima).
- Selezionare una connessione al database (presente o in “New Connection”)
- In Data Source vedrete “MySQL Database”, in server name inserire l’istanza tipo “localhost” e inserire username e password creati precedentemente
- Selezionare il nome del database associato al progetto
- A questo punto la stringa di connessione verrà creata (specificando Yes o No nella sicurezza)
- Verrà avviato il designer del database dinamico (se tutto regolare, altrimenti fare riferimento alle “note” più sotto)
Esempio di codice di accesso agli oggetti EF:
using (AppEntities db = new AppEntities())
{
tblUsers utente = db.tblUsers.Where(x => x.email == “email@dominio.com”).FirstOrDefault();
label.Text = utente.firstname;
}
Note importanti di installazione per evitare crash improvvisi:
- Se per qualche motivo sbagliate versione dei pacchetti Entity Framework, il processo di creazione della Entity si chiuderà inavvertitamente (successivamente alla conferma della connessione)
- Verificate sempre la compatibilità tra i pacchetti installati (a volte non è facile trovare la corrispondenza esatta).
- IMPORTANTE: Ricordate di usare MySql.Data.EntityFramework e non MySql.Data.Entity
- Fare riferimento allo screenshot qui sotto per le versioni