Visual Studio 2017, Entity Framework 6.0 e SQL Server 2017 Express

Di seguito i passaggi per configurare correttamente il flusso di lavoro con:

  • Visual Studio 2017 – Community Edition
  • Entity Framework 6.0
  • SQL Server 2017 – Express Edition

Procedura per creare un database SQL:

  • Installare Visual Studio Community
  • Installare SQL Server 2017 – Express Edition in versione Basic
  • Configurare l’istanza di SQL Server (sarà molto simile a NOMEPC\SQLEXPRESS)
  • Installare SQL Server Management Studio (SSMS)
  • Accedere a SSMS accedendo con Windows Authentication (non è ancora presente un utente SQL)
  • Click destro sul nome dell’istanza (menu a sinistra) tipo NOMEPC\SQLEXPRESS e “Properties”
  • Impostare in “Security” la voce “SQL Server and Windows Authentication mode” (potremo accedere con un nostro utente user/psw). Salvare
  • Click destro su Databases (menu a sinistra) e “New database” assegnando un nome al db (lasciando il resto inalterato). Salvare
  • Click destro su Security > Logins e “New Login”
  • In “General” inserire un “Login name” di utente, le password e deselezionare la voce “Enforce password expiration”
  • In “Server Roles” selezionare “sysadmin” (lasciare selezionato anche “public”)
  • In “User Mapping” selezionare il nome del database (nella colonna user comparirà il nome utente corrente)
  • Nelle “roles” selezionare “db_owner” (lasciare selezionato anche “public”). Salvare l’utente.
  • Per verifica scollegare l’istanza corrente (click destro e “Disconnect”)
  • Collegare una nuova istanza, in server name inserire il nome di istanza tipo  NOMEPC\SQLEXPRESS, in Authentication selezionare “SQL Server Authentication” e inserire le credenziali dell’utente creato. Poi Connettersi.
  • Se tutto è andato a buon fine si dovrebbe poter accedere all’istanza di SQL Server sul PC con l’utente creato

Procedura per configurare un progetto Entity Framework 6.0:

  • Avviare Visual Studio 2017 – Community Edition
  • Creare un progetto Asp.NET Web Page – Vuoto
  • Avere cura di selezionare tra le proprietà del progetto la versione Framework
  • Inserire un nuovo elemento “Add New Item…” selezionando “ADO.NET Entity Data Model” 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”) scegliendo poi <other>
  • In Data Source vedrete “.NET Framework Data Provider for SQL Server”, in server name inserire l’istanza tipo NOMEPC\SQLEXPRESS (solitamente non la trova in automatico)
  • In Authentication selezionare “SQL Server Authentication” e inserire username e password creati precedentemente
  • A questo punto la stringa di connessione verrà creata (specificando Yes o No nella sicurezza)
  • Verrà creato il designer del database dinamico

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;
}

Procedura per esportare un database SQL (file .bak):

  • Click destro sul nome del database, poi “Task” e “Back up…”
  • Sarà già tutto configurato con la generazione del file .bak in una directory specifica (solitamente “C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Backup\”)

Procedura per esportare un database SQL (file .sql):

  • Click destro sul nome del database, poi “Task” e “Generate Script…”
  • Selezionare le specifiche tabelle di cui fare il backup dalla lista (o intero db)
  • Proseguendo selezionare “Save script to a specific location” e accedere al menu “Advanced”
  • Selezionare tra le numerose opzione la voce “Types of data to script” e poi “Schema and Data” (verrà generato lo script di creazione della tabella ma anche quello di inserimento di tutti i dati già presenti nel database), non solo lo schema.
  • Procedere con la generazione dello script (in formato .sql oppure nella “New query window”)
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