四、 添加模型Model(ASP.NET MVC5 系列)
在这一章节中我们将添加一些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 系列)
最新文章
- python 调用封装好的模块
- LLVM与Clang的概述及关系
- centos7 建立虚拟目录
- mybatis 简单配置
- Codeforces Round #306 (Div. 2) B. Preparing Olympiad dfs
- Slickflow.NET 开源工作流引擎基础介绍(二) -- 引擎组件和业务模块的交互
- css选择器基本属性
- JAVA反射学习网摘
- c#导出文件,文件名中文乱码解决方法。
- python之定义类创建实例
- 电脑一直报PCIE BUS错误的原因
- 线程同步辅助类CyclicBarrier
- WPF Demo8
- linux终端无打印信息的实现
- BZOJ 3572 【HNOI2014】 世界树
- zookeeper 运维
- Python Geoip 获取IP地址经度、纬度
- Centos 下安装tomcat多实例
- JSP里面九个内置对象
- 对拍 bat
热门文章
- C语言求最小公倍数和最大公约数三种算法(经典)
- var的一些理解
- Spring Boot 学习笔记--整合Redis
- 每天一个linux命令(62):sh命令 /Linux中执行shell脚本的4种方法总结
- Doctype 文档类型,标准模式,混杂模式
- java中使用net.sf.json对json进行解析
- cocos2d-x - C++/Lua交互
- ABAP 7.4 新语法-内嵌生命和内表操作
- [bug] Cannot proceed because system tables used by Event Scheduler were found damaged at server start
- 一文读懂 HTTP/2 特性