ASP.NET MVC 5 学习教程:添加模型
起飞网 ASP.NET MVC 5 学习教程目录:
- 添加控制器
- 添加视图
- 修改视图和布局页
- 控制器传递数据给视图
- 添加模型
- 创建连接字符串
- 通过控制器访问模型的数据
- 生成的代码详解
- 使用 SQL Server LocalDB
- Edit方法和Edit视图详解
- 添加查询
- Entity Framework 数据迁移之添加字段
- 添加验证
- Details 和 Delete 方法详解
在本节中,我们将添加一些管理电影数据库的类,这些类在ASP.NET MVC 应用程序中扮演“Model”的角色。
我们将使用.NET Framework平台上熟知的Entity Framework 数据访问技术来定义和使用这些模型。Entity Framework(简称EF)提供了一种叫做 Code First 的开发范例。Code First 允许你写一些简单的类来创建模型(这些通常被称为POCO类,即“plain old CLR object”)。这些类将会生成数据库,这是一种即简洁又快速的开发流程。
添加 Model 类
在解决方案资源管理器中,右键 Models 文件夹,选择 "添加">"类"。
图1:添加模型类的菜单

输入类名“Movie”。为Movie类添加一下5个属性,完整的Movie类代码如下:
代码清单1:Movie.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set
; }
public string Title { get; set
; }
public DateTime ReleaseDate { get; set
; }
public string Genre { get; set
; }
public decimal Price { get; set
; }
}
}
我们将使用Movie类代表数据库中的电影。每一个Movie对象将对应数据表中的一行,Movie类的每一个字段映射数据表中的每一列。
在上面的文件中,添加一个MovieDBContext类:
代码清单2:添加了MovieDBContext类后的Movie.cs文件
using System;
using System.Data.Entity; namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
public class MovieDBContext :
DbContext
{ public DbSet<Movie> Movies { get; set
; }
}
}
MovieDBContext 类代表了Entity Framework 中 Movie 类的数据库上下文,用来处理获取、存储和更新数据库中的Movie类的实例。MovieDBContext类继承自Entity Framework中提供的DbContext类。
为了能够引用DbContext 和DbSet,你需要添加System.Data.Entity的引用,代码如下:
代码清单3:添加System.Data.Entity的引用
using System.Data.Entity;
你可以手动添加using语句,或者在红色波浪线上面右键,选择“解析”>"using System.Data.Entity;"。
图2:添加引用

注意:一些没用到的using语句已经被移除了。你可以在文件中右键,选择“组织 using”>“移除未使用的 using”,移除未用到的using语句。
图3:移除未用到的using语句菜单

我们终于添加了一个模型(MVC中的M)。在下一节中,我们将讲解使用数据库连接字符串。
如果认为此文对您有帮助,别忘了支持一下哦!
ASP.NET MVC 5 学习教程:添加模型的更多相关文章
- ASP.NET MVC 5 学习教程:添加验证
原文 ASP.NET MVC 5 学习教程:添加验证 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...
- ASP.NET MVC 5 学习教程:数据迁移之添加字段
原文 ASP.NET MVC 5 学习教程:数据迁移之添加字段 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符 ...
- ASP.NET MVC 5 学习教程:添加查询
原文 ASP.NET MVC 5 学习教程:添加查询 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...
- ASP.NET MVC 5 学习教程:通过控制器访问模型的数据
原文 ASP.NET MVC 5 学习教程:通过控制器访问模型的数据 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连 ...
- ASP.NET MVC 5 学习教程:添加视图
原文 ASP.NET MVC 5 学习教程:添加视图 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...
- ASP.NET MVC 5 学习教程:添加控制器
原文 ASP.NET MVC 5 学习教程:添加控制器 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过 ...
- ASP.NET MVC 5 学习教程:快速入门
起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Se ...
- ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解
原文 ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 ...
- ASP.NET MVC 5 学习教程:使用 SQL Server LocalDB
原文 ASP.NET MVC 5 学习教程:使用 SQL Server LocalDB 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 ...
随机推荐
- mybatis+spring+c3p0+maven+ehcache
项目截图 pom.xml如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http: ...
- 未能加载文件或程序集“xxxx”或它的某一个依赖项
一般是解决方案中相互依赖的项目生成的目标平台不一样所致,更改为相同目标即可!
- C++模板:qsort
void qsort(int l,int r){ int i,j,t,mid; mid=b[(l+r)>>1]; i=l; j=r; do{ while (b[i]<mid) i++ ...
- Symfony Composer icu requires lib-icu
运行php compser.phar 的时候出现此问题的时候解决办法 问题描述Problem 1 -Installation request for symfony/icu v1.2.1 -> ...
- IOS数据本地存储的四种方式--
注:借鉴于:http://blog.csdn.net/jianjianyuer/article/details/8556024 在IOS开发过程中,不管是做什么应用,都会碰到数据保存问题.将数据保存到 ...
- Linux下Tomcat catalina.out自动归档,以及logrotate 配置详解
Linux下Tomcat catalina.out自动归档 如果 catalina.out 日志达到 2GB 大小的时候,Tomcat 因为缓存问题,便没有办法继续输出日志了. 为了避免这种情况,你 ...
- Qt在windows 平台操作保存execel的表格(通过QAxObject来操作)
粗略操作 QT += core gui sql CONFIG += qaxcontainer greaterThan(QT_MAJOR_VERSION, 4): QT += widgets #incl ...
- Android 网络交互之MD5为什么要加盐
MD5为什么要加盐 之前面试的时候,遇到一个面试的哥哥.不停的跟我确认我对网络传输过程中的password进行MD5加密的时候,是否加key了. 当时我很纳闷,因为MD5本身已经是不可逆的了,需要破解 ...
- stackoverflow,stackexchange,zhihu,ilewen,segmentfault,answerhub,question2answer,,
http://stackexchange.com/ http://question2answer.org/ http://answerhub.com/qa/ http://segmentfault.c ...
- hdu 1236 1.3.2排名
排名 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission ...