MVC Framework - Modelos

El componente 'Modelo' es responsable de administrar los datos de la aplicación. Responde a la solicitud de la vista y también responde a las instrucciones del controlador para actualizarse.

Las clases de modelo pueden crearse manualmente o generarse a partir de entidades de base de datos. Veremos muchos ejemplos para crear modelos manualmente en los próximos capítulos. Por lo tanto, en este capítulo, probaremos la otra opción, es decir, generar desde la base de datos para que tenga experiencia práctica en ambos métodos.

Crear entidades de base de datos

Conéctese a SQL Server y cree una nueva base de datos.

Ahora ejecute las siguientes consultas para crear nuevas tablas.

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 
)

Generar modelos usando entidades de base de datos

Después de crear la base de datos y configurar las tablas, puede continuar y crear una nueva aplicación vacía MVC. Haga clic con el botón derecho en la carpeta Modelos en su proyecto y seleccione Agregar → Nuevo elemento. Luego, seleccione Modelo de datos de entidad ADO.NET.

En el siguiente asistente, elija Generar desde base de datos y haga clic en Siguiente. Configure la conexión a su base de datos SQL.

Seleccione su base de datos y haga clic en Probar conexión. A continuación, aparecerá una pantalla similar a la siguiente. Haga clic en Siguiente.

Seleccione Tablas, Vistas y Procedimientos y funciones almacenados. Haga clic en Finalizar. Verá la Vista del modelo creada como se muestra en la siguiente captura de pantalla.

Las operaciones anteriores crearían automáticamente un archivo de modelo para todas las entidades de la base de datos. Por ejemplo, la tabla Student que creamos dará como resultado un archivo modelo Student.cs con el siguiente código:

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