Aggiunta di un modello (C#)

di Rick Anderson

Questa esercitazione illustra le nozioni di base per la creazione di un'applicazione Web MVC ASP.NET con Microsoft Visual Web Developer 2010 Express Service Pack 1, una versione gratuita di Microsoft Visual Studio. Prima di iniziare, assicurarsi di aver installato i prerequisiti elencati di seguito. È possibile installarli tutti facendo clic sul collegamento seguente: Programma di installazione della piattaforma Web. In alternativa, è possibile installare singolarmente i prerequisiti usando i collegamenti seguenti:

Se si usa Visual Studio 2010 anziché Visual Web Developer 2010, installare i prerequisiti facendo clic sul collegamento seguente: Prerequisiti di Visual Studio 2010.

Per questo argomento è disponibile un progetto Visual Web Developer con codice sorgente C#. Scaricare la versione C#. Se si preferisce Visual Basic, passare alla versione visual Basic di questa esercitazione.

Aggiunta di un modello

In questa sezione verranno aggiunte alcune classi per la gestione dei film in un database. Queste classi saranno la parte "modello" dell'applicazione ASP.NET MVC.

Si userà una tecnologia di accesso ai dati di .NET Framework nota come Entity Framework per definire e usare queste classi di modello. Entity Framework (spesso definito Entity Framework) supporta un paradigma di sviluppo denominato Code First. Code First consente di creare oggetti modello scrivendo classi semplici. Queste classi sono note anche come classi POCO, da "oggetti CLR semplici". È quindi possibile creare il database in tempo reale dalle classi, che consente un flusso di lavoro di sviluppo molto pulito e rapido.

Aggiunta di classi modello

In Esplora soluzioni fare clic con il pulsante destro del mouse sulla cartella Modelli, scegliere Aggiungi e quindi selezionare Classe.

Screenshot che mostra la finestra Esplora soluzioni. Aggiungi è selezionato nel menu di scelta rapida Modelli. La classe è selezionata nel sottomenu.

Assegnare alla classe il nome "Movie".

CreateMovieClass

Aggiungere le cinque proprietà seguenti alla Movie classe :

public class Movie 
{
    public int ID { get; set; }
    public string Title { get; set; }
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
}

Verrà usata la Movie classe per rappresentare i film in un database. Ogni istanza di un Movie oggetto corrisponderà a una riga all'interno di una tabella di database e ogni proprietà della Movie classe verrà mappata a una colonna nella tabella.

Nello stesso file aggiungere la classe seguente MovieDBContext :

public class MovieDBContext : DbContext 
{
    public DbSet<Movie> Movies { get; set; } 
}

La MovieDBContext classe rappresenta il contesto del database dei film di Entity Framework, che gestisce il recupero, l'archiviazione e l'aggiornamento Movie delle istanze della classe in un database. Deriva MovieDBContext dalla DbContext classe di base fornita da Entity Framework. Per altre informazioni su DbContext e DbSet, vedere Miglioramenti della produttività per Entity Framework.

Per poter fare riferimento DbContext a e DbSet, è necessario aggiungere l'istruzione seguente using all'inizio del file:

using System.Data.Entity;

Di seguito è riportato il file completo Movie.cs.

using System;
using System.Data.Entity;

namespace MvcMovie.Models  
{
    public class Movie
    {        
        public int ID { get; set; }
        public string Title { get; set; }        
        public DateTime ReleaseDate { get; set; }        
        public string Genre { get; set; }
        public decimal Price { get; set; }    
    }

    public class MovieDBContext : DbContext 
    {
        public DbSet<Movie> Movies { get; set; } 
    }
}

Creazione di una stringa di connessione e utilizzo di SQL Server Compact

La MovieDBContext classe creata gestisce l'attività di connessione al database e il mapping Movie degli oggetti ai record di database. Una domanda che è possibile porre, tuttavia, è come specificare il database a cui si connetterà. A tale scopo, aggiungere le informazioni di connessione nel file Web.config dell'applicazione.

Aprire il file Web.config radice dell'applicazione. (Non il File Web.config nella cartella Views . L'immagine seguente mostra entrambi i file Web.config . Aprire il file Web.config in rosso.

Screenshot che mostra la finestra Esplora soluzioni. La configurazione del punto Web è cerchiata in rosso.

Aggiungere il stringa di connessione seguente all'elemento <connectionStrings> nel file Web.config.

<add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>

L'esempio seguente mostra una parte del file Web.config con la nuova stringa di connessione aggiunta:

<configuration>
  <connectionStrings>
    <add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

Questa piccola quantità di codice e XML è tutto ciò che è necessario scrivere per rappresentare e archiviare i dati dei film in un database.

Successivamente, creerai una nuova MoviesController classe che puoi usare per visualizzare i dati dei film e consentire agli utenti di creare nuovi elenchi di film.