- MVC框架教程
- MVC框架 - 首页
- MVC框架 - 简介
- MVC框架 - 架构
- MVC框架 - ASP.NET Forms
- MVC框架 - 第一个应用程序
- MVC框架 - 文件夹
- MVC框架 - 模型
- MVC框架 - 控制器
- MVC框架 - 视图
- MVC框架 - 布局
- MVC框架 - 路由引擎
- MVC框架 - 动作过滤器
- 高级示例
- MVC框架 - Ajax支持
- MVC框架 - 打包
- 异常处理
- MVC框架有用资源
- 问答
- MVC框架 - 快速指南
- MVC框架 - 资源
- MVC框架 - 讨论
MVC框架 - 模型
“模型”组件负责管理应用程序的数据。它响应来自视图的请求,也响应来自控制器的更新自身指令。
模型类可以手动创建,也可以从数据库实体生成。在接下来的章节中,我们将看到许多手动创建模型的示例。因此,在本章中,我们将尝试另一种方法,即从数据库生成,以便您能够实际操作这两种方法。
创建数据库实体
连接到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文件夹,然后选择“添加”→“新建项”。然后,选择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; }
}
}
广告