在这一章节中我们将添加一些classes类来管理数据库中的movies。这些classes类就是ASP.NET MVC应用程序中的"model".

我们将用.NET框架中的数据访问技术,也就是实体框架(Entity Framework)来定义和处理这些model类。实体框架(简称EF)支持先编码(Code First)的开发模式。先编码的开发模式能够运行你写一些简单的C#类来创建模型对象(也叫POCO类,即"plain-old CLR objects")。接着你可以用这些C#类来动态创建数据库,这也就使得非常整洁,快速的开发流程成为可能。如果你被要求先创建数据库,你仍然可以沿着这个教程继续学习MVC和EF应用程序的开发。你可以引用Fizmakens的ASP.NET Scaffolding这本教程(讲述了database fist的方式).

1. 添加模板类Model Classes

Solution Explorer里, 右击Models文件夹,点击Add, 然后选择Class.

键入class名为"Movie".

给这个Movie类添加下面的5个属性。

 using System;

 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类来表示数据库中的Movies。每一个Movie对象的实例就关联数据库表中的一行,Movie类中的每一个属性表示数据库表中的每一列。

在同一个文件中,我们将添加MovieDBContext类:

 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类代表EF框架中Movie数据库中的数据上下文,其将用来处理获取,存储,更新数据库中Movie类的实例。MovieDBContext继承自EF框架中的Dbcontext基类。

为了能够引用DbContext和Dbset对象,你需要在文件顶部添加如下命名空间:

 using System.Data.Entity;

你可以手动的添加这个using语句,或者鼠标右击,选择Resolve,在选择如下红框内容,然后选择using System.Data.Entity.

注意:几个不用的using语句已经被移除掉了。你可以鼠标右击,选择Organize Usings,接着选择Remove Unused Usings.

我们最终添加了一个Model(也就是MVC中的"M"), 在下面的章节中我们如何连接数据库。

五、 创建连接串连接本地数据库(ASP.NET MVC5 系列)

最新文章

  1. python 调用封装好的模块
  2. LLVM与Clang的概述及关系
  3. centos7 建立虚拟目录
  4. mybatis 简单配置
  5. Codeforces Round #306 (Div. 2) B. Preparing Olympiad dfs
  6. Slickflow.NET 开源工作流引擎基础介绍(二) -- 引擎组件和业务模块的交互
  7. css选择器基本属性
  8. JAVA反射学习网摘
  9. c#导出文件,文件名中文乱码解决方法。
  10. python之定义类创建实例
  11. 电脑一直报PCIE BUS错误的原因
  12. 线程同步辅助类CyclicBarrier
  13. WPF Demo8
  14. linux终端无打印信息的实现
  15. BZOJ 3572 【HNOI2014】 世界树
  16. zookeeper 运维
  17. Python Geoip 获取IP地址经度、纬度
  18. Centos 下安装tomcat多实例
  19. JSP里面九个内置对象
  20. 对拍 bat

热门文章

  1. C语言求最小公倍数和最大公约数三种算法(经典)
  2. var的一些理解
  3. Spring Boot 学习笔记--整合Redis
  4. 每天一个linux命令(62):sh命令 /Linux中执行shell脚本的4种方法总结
  5. Doctype 文档类型,标准模式,混杂模式
  6. java中使用net.sf.json对json进行解析
  7. cocos2d-x - C++/Lua交互
  8. ABAP 7.4 新语法-内嵌生命和内表操作
  9. [bug] Cannot proceed because system tables used by Event Scheduler were found damaged at server start
  10. 一文读懂 HTTP/2 特性