# ASP.NET MVC - 模型
为了学习 ASP.NET MVC,我们将构建一个 Internet 应用程序。
第 7 部分:添加数据模型。
## MVC 模型
MVC **模型**包含了除纯视图和控制器逻辑以外的其他所有应用程序逻辑(业务逻辑、验证逻辑、数据访问逻辑)。
通过 MVC,模型可以控制并操作应用程序数据。
## Models 文件夹
**Models 文件夹**包含表示应用程序模型的类。
Visual Web Developer 自动创建一个 **AccountModels.cs** 文件,该文件包含用于应用程序安全的模型。
**AccountModels** 包含 **LogOnModel**、**ChangePasswordModel** 和 **RegisterModel**。
## 添加数据库模型
本教程所需的数据库模型可以通过以下几个简单的步骤来创建:
* 在 **Solution Explorer**窗口中,右击 **Models** 文件夹,并选择 **Add** 和 **Class**。
* 将类命名为 **MovieDB.cs**,然后点击 **Add**。
* 编辑这个类:
```
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace MvcDemo.Models
{
public class MovieDB
{
public int ID { get; set; }
public string Title { get; set; }
public string Director { get; set; }
public DateTime Date { get; set; }
}
public class MovieDBContext : DbContext
{
public DbSet<MovieDB> Movies { get; set; }
}
}
```
**注释:**
我们特意把模型命名为 "MovieDB"。在上一章中,您已经看到用于数据库表的 "MovieDBs"(以 s 结尾)。这看起来有点奇怪,不过这种命名惯例能确保模型连接上数据库表,您必须这么使用。
## 添加数据库控制器
本教程所需的数据库控制器可以通过以下几个简单的步骤来创建:
* 重建您的项目:选择 **Debug**,然后从菜单中选择 **Build MvcDemo**。
* 在 Solution Explorer(解决方案资源管理器)中,右击 **Controllers** 文件夹,选择 **Add** 和 **Controller**。
* 设置控制器名称为 **MoviesController**。
* 选择模板:**Controller with read/write actions and views, using Entity Framework**
* 选择模型类:**MovieDB (MvcDemo.Models)**
* 选择 data context 类:**MovieDBContext (MvcDemo.Models)**
* 选择视图 **Razor (CSHTML)**
* 点击 **Add**
Visual Web Developer 将创建以下文件:
* **Controllers** 文件夹中的 **MoviesController.cs** 文件
* **Views** 文件夹中的 **Movies** 文件夹
## 添加数据库视图
在 Movies 文件夹中,会自动创建以下文件:
* Create.cshtml
* Delete.cshtml
* Details.cshtml
* Edit.cshtml
* Index.cshtml
## 祝贺您
祝贺您。您已经向应用程序添加了您的第一个 MVC 数据模型。
现在您可以点击 "Movies" 标签页了。
- C# 基础
- C# 简介
- C# 环境
- C# 程序结构
- C# 基本语法
- C# 数据类型
- C# 类型转换
- C# 变量
- C# 常量
- C# 运算符
- C# 判断
- C# 循环
- C# 封装
- C# 方法
- C# 可空类型(Nullable)
- C# 数组(Array)
- C# 字符串(String)
- C# 结构(Struct)
- C# 枚举(Enum)
- C# 类(Class)
- C# 继承
- C# 多态性
- C# 运算符重载
- C# 接口(Interface)
- C# 命名空间(Namespace)
- C# 预处理器指令
- C# 正则表达式
- C# 异常处理
- C# 文件的输入与输出
- C# 高级
- C# 特性(Attribute)
- C# 反射(Reflection)
- C# 属性(Property)
- C# 索引器(Indexer)
- C# 委托(Delegate)
- C# 事件(Event)
- C# 集合(Collection)
- C# 泛型(Generic)
- C# 匿名方法
- C# 不安全代码
- C# 多线程
- ASP.NET 简介
- Web Pages 教程
- ASP.NET Web Pages - 教程
- ASP.NET Web Pages - 添加 Razor 代码
- ASP.NET Web Pages - 页面布局
- ASP.NET Web Pages - 文件夹
- ASP.NET Web Pages - 全局页面
- ASP.NET Web Pages - HTML 表单
- ASP.NET Web Pages - 对象
- ASP.NET Web Pages - 文件
- ASP.NET Web Pages - 帮助器
- ASP.NET Web Pages - WebGrid 帮助器
- ASP.NET Web Pages - Chart 帮助器
- ASP.NET Web Pages - WebMail 帮助器
- ASP.NET Web Pages - PHP
- ASP.NET Web Pages - 发布网站
- Razor 教程
- ASP.NET Razor - 标记
- ASP.NET Razor - C# 和 VB 代码语法
- ASP.NET Razor - C# 变量
- ASP.NET Razor - C# 循环和数组
- ASP.NET Razor - C# 逻辑条件
- ASP.NET Razor - VB 变量
- ASP.NET Razor - VB 循环和数组
- ASP.NET Razor - VB 逻辑条件
- MVC 教程
- ASP.NET MVC 教程
- ASP.NET MVC - Internet 应用程序
- ASP.NET MVC - 应用程序文件夹
- ASP.NET MVC - 样式和布局
- ASP.NET MVC - 控制器
- ASP.NET MVC - 视图
- ASP.NET MVC - SQL 数据库
- ASP.NET MVC - 模型
- ASP.NET MVC - 安全
- ASP.NET MVC - HTML 帮助器
- ASP.NET MVC - 发布网站
- Web Forms 教程
- ASP.NET Web Forms - 教程
- ASP.NET Web Forms - HTML 页面
- ASP.NET Web Forms - 服务器控件
- ASP.NET Web Forms - 事件
- ASP.NET Web Forms - HTML 表单
- ASP.NET Web Forms - 维持 ViewState
- ASP.NET Web Forms - TextBox 控件
- ASP.NET Web Forms - Button 控件
- ASP.NET Web Forms - 数据绑定
- ASP.NET Web Forms - ArrayList 对象
- ASP.NET Web Forms - Hashtable 对象
- ASP.NET Web Forms - SortedList 对象
- ASP.NET Web Forms - XML 文件
- ASP.NET Web Forms - Repeater 控件
- ASP.NET Web Forms - DataList 控件
- ASP.NET Web Forms - 数据库连接
- ASP.NET Web Forms - 母版页
- ASP.NET Web Forms - 导航
- Web Pages 参考手册
- ASP.NET Web Pages - 类
- ASP.NET Web Pages - WebSecurity 对象
- ASP.NET Web Pages - Database 对象
- ASP.NET Web Pages - WebMail 对象
- ASP.NET Web Pages - 更多帮助器
- MVC - 参考手册
- Web Forms 参考手册
- ASP.NET Web Forms - HTML 服务器控件
- ASP.NET Web Forms - Web 服务器控件
- ASP.NET Web Forms - Validation 服务器控件
- 免责声明