Visual Studio 2017, Entity Framework 6.2 e MySQL

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

mysql-ferla

https://www.desdinova.it
Aiuto aziende e professionisti che hanno bisogno di sviluppare in modo creativo, alternativo ed efficace la loro identità digitale e che desiderano ottenere visibilità e risultati concreti attraverso lo sviluppo di strumenti online dall'elevata innovazione e personalizzazione (3D, Realtà Virtuale, Realtà Aumentata, Advergame, etc)
Daniele Ferla
Aiuto aziende e professionisti che hanno bisogno di sviluppare in modo creativo, alternativo ed efficace la loro identità digitale e che desiderano ottenere visibilità e risultati concreti attraverso lo sviluppo di strumenti online dall'elevata innovazione e personalizzazione (3D, Realtà Virtuale, Realtà Aumentata, Advergame, etc)

Must Read