MVC Framework - модели
Компонент «Модель» отвечает за управление данными приложения. Он отвечает на запрос из представления, а также отвечает на инструкции контроллера по обновлению.
Классы модели могут быть созданы вручную или сгенерированы из сущностей базы данных. В следующих главах мы увидим множество примеров создания моделей вручную. Таким образом, в этой главе мы попробуем другой вариант, т. Е. Создание из базы данных, чтобы у вас был практический опыт использования обоих методов.
Создать объекты базы данных
Подключитесь к SQL Server и создайте новую базу данных.

Теперь выполните следующие запросы, чтобы создать новые таблицы.
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
)
Создание моделей с использованием объектов базы данных
После создания базы данных и настройки таблиц вы можете продолжить и создать новое пустое приложение MVC. Щелкните правой кнопкой мыши папку «Модели» в своем проекте и выберите «Добавить» → «Новый элемент». Затем выберите модель данных сущности ADO.NET.


В следующем мастере выберите «Создать из базы данных» и нажмите «Далее». Установите соединение с вашей базой данных SQL.

Выберите свою базу данных и нажмите Проверить соединение. После этого появится экран, подобный следующему. Нажмите "Далее.

Выберите таблицы, представления и хранимые процедуры и функции. Щелкните Готово. Вы увидите вид модели, созданный, как показано на следующем снимке экрана.

Вышеупомянутые операции автоматически создадут файл модели для всех сущностей базы данных. Например, созданная нами таблица Student приведет к созданию файла модели Student.cs со следующим кодом:
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; }
}
}