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