MVC Framework - Modelli
Il componente "Modello" è responsabile della gestione dei dati dell'applicazione. Risponde alla richiesta della vista e risponde anche alle istruzioni del controller per aggiornarsi.
Le classi del modello possono essere create manualmente o generate da entità di database. Nei prossimi capitoli vedremo molti esempi per la creazione manuale di modelli. Quindi in questo capitolo proveremo l'altra opzione, ovvero la generazione dal database in modo da avere esperienza pratica su entrambi i metodi.
Crea entità di database
Connettiti a SQL Server e crea un nuovo database.
Ora esegui le seguenti query per creare nuove tabelle.
CREATE TABLE [dbo].[Student](
[StudentID] INT IDENTITY (1,1) NOT NULL,
[LastName] NVARCHAR (50) NULL,
[FirstName] NVARCHAR (50) NULL,
[EnrollmentDate] DATETIME NULL,
PRIMARY KEY CLUSTERED ([StudentID] ASC)
)
CREATE TABLE [dbo].[Course](
[CourseID] INT IDENTITY (1,1) NOT NULL,
[Title] NVARCHAR (50) NULL,
[Credits] INT NULL,
PRIMARY KEY CLUSTERED ([CourseID] ASC)
)
CREATE TABLE [dbo].[Enrollment](
[EnrollmentID] INT IDENTITY (1,1) NOT NULL,
[Grade] DECIMAL(3,2) NULL,
[CourseID] INT NOT NULL,
[StudentID] INT NOT NULL,
PRIMARY KEY CLUSTERED ([EnrollmentID] ASC),
CONSTRAINT [FK_dbo.Enrollment_dbo.Course_CourseID] FOREIGN KEY ([CourseID])
REFERENCES [dbo].[Course]([CourseID]) ON DELETE CASCADE,
CONSTRAINT [FK_dbo.Enrollment_dbo.Student_StudentID] FOREIGN KEY ([StudentID])
REFERENCES [dbo].[Student]([StudentID]) ON DELETE CASCADE
)
Genera modelli utilizzando entità di database
Dopo aver creato il database e impostato le tabelle, puoi andare avanti e creare una nuova applicazione vuota MVC. Fare clic con il tasto destro del mouse sulla cartella Modelli nel progetto e selezionare Aggiungi → Nuovo elemento. Quindi, seleziona ADO.NET Entity Data Model.
Nella procedura guidata successiva, scegliere Genera da database e fare clic su Avanti. Imposta la connessione al tuo database SQL.
Seleziona il tuo database e fai clic su Verifica connessione. Seguirà una schermata simile alla seguente. Fare clic su Avanti.
Selezionare tabelle, viste e stored procedure e funzioni. Fare clic su Fine. Vedrai la vista modello creata come mostrato nello screenshot seguente.
Le operazioni precedenti creerebbero automaticamente un file modello per tutte le entità del database. Ad esempio, la tabella Student che abbiamo creato risulterà in un file Model Student.cs con il codice seguente:
namespace MvcModelExample.Models {
using System;
using System.Collections.Generic;
public partial class Student {
public Student() {
this.Enrollments = new HashSet();
}
public int StudentID { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public Nullable EnrollmentDate { get; set; }
public virtual ICollection Enrollments { get; set; }
}
}