模型负责管理应用程序的数据。它响应视图的请求,同时也响应指令从控制器到自我更新。
模型类可以手动创建或从数据库实体创建产生。 我们将看到很多手动创建模型的例子在接下来的章节中。因此,在本章中,我们将尝试另一种选择,即从数据库中生成,使有自动和手动两种方法。
创建数据库实体
连接到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应用程序。 现在,在您的项目右键点击Models文件夹,并选择Add->New 项并选择ADO.NET 实体数据模型。
在接下来的向导中,选择生成数据库,然后单击下一步。设置连接到SQL数据库。
选择数据库并单击测试连接。与此类似,屏幕将会随之显示。点击下一步。
选择表,视图和存储过程和函数,然后单击完成。将看到模型视图创建是这样的:
上述操作将自动创建所有的数据库实体模型文件。示例,我们创建的学生表将产生一个模型文件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; }
}
} |
|