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