MVC Framework - Modelos

O componente 'Model' é responsável por gerenciar os dados da aplicação. Ele responde à solicitação da visualização e também às instruções do controlador para se atualizar.

As classes de modelo podem ser criadas manualmente ou geradas a partir de entidades de banco de dados. Veremos muitos exemplos para a criação manual de modelos nos próximos capítulos. Portanto, neste capítulo, tentaremos a outra opção, ou seja, gerar a partir do banco de dados para que você tenha experiência prática em ambos os métodos.

Criar Entidades de Banco de Dados

Conecte-se ao SQL Server e crie um novo banco de dados.

Agora execute as seguintes consultas para criar novas tabelas.

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 
)

Gerar modelos usando entidades de banco de dados

Depois de criar o banco de dados e configurar as tabelas, você pode prosseguir e criar um novo aplicativo vazio MVC. Clique com o botão direito na pasta Modelos em seu projeto e selecione Adicionar → Novo Item. Em seguida, selecione ADO.NET Entity Data Model.

No próximo assistente, escolha Gerar do banco de dados e clique em Avançar. Defina a conexão com seu banco de dados SQL.

Selecione seu banco de dados e clique em Testar Conexão. Uma tela semelhante à seguinte se seguirá. Clique em Avançar.

Selecione tabelas, exibições e procedimentos e funções armazenados. Clique em Concluir. Você verá a Model View criada conforme mostrado na imagem a seguir.

As operações acima criariam automaticamente um arquivo de modelo para todas as entidades do banco de dados. Por exemplo, a tabela Student que criamos resultará em um arquivo de modelo Student.cs com o seguinte 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; } 
   } 
}