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

Daniele Ferlahttps://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.
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.

Must Read

I 5 motivi per cui rinuncerai ad avere un configurare 3D sul tuo sito web

Mi occupo di configuratori web da diversi anni e riguardo all'ultimo progetto di configuratore 3D ricevo diverse richieste settimanalmente, più di quante...

Evitare che il proprio sito Asp.NET sia soggetto ad Hotlinking da parte di siti fraudolenti

Nell'ambito del mio progetto Svuotaly.it mi sono imbattuto in una situazione spiacevole in cui tutte le immagine del sito web venivano utilizzate...

MySQL for Visual Studio non supportato da Visual Studio 2019

Per gli utenti MySQL che hanno aggiornato la piattaforma Microsoft Visual Studio alla nuova versione 2019 è sicuramente capito di incappare in...