求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 
 

MVC框架教程
MVC框架架构
MVC框架ASP.NET表单
MVC框架-第一个程序
MVC框架-文件夹
MVC框架-模型
MVC框架-控制器
MVC框架-视图
MVC框架-布局
MVC框架-路由引擎
MVC框架-动作过滤器
MVC框架-高级示例
MVC框架-AJAX支持
MVC框架-捆绑
MVC框架-异常处理
 
 

MVC框架 - 模型
1110 次浏览
37次  

模型负责管理应用程序的数据。它响应视图的请求,同时也响应指令从控制器到自我更新。

模型类可以手动创建或从数据库实体创建产生。 我们将看到很多手动创建模型的例子在接下来的章节中。因此,在本章中,我们将尝试另一种选择,即从数据库中生成,使有自动和手动两种方法。

创建数据库实体

连接到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; }
    }
}

 


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



1110 次浏览
37次
 捐助