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”)