C# MVC 自学笔记—5 添加模型
==============================翻译==============================
在本节中,您将添加一些类来管理数据库中的电影。这些类将 ASP.NET MVC 应用程序的"模型"部分。
您将使用一种名叫实体框架的 .NET Framework 数据访问技术来定义和使用这些模型类。(通常称为 EF),实体框架支持一个称为代码优先的发展模式。代码首先允许您通过编写简单的类来创建模型的对象。(这些也称为是 POCO 类,从"纯老 CLR 对象"。)然后,您可以使上飞从您的类,从而使非常干净和快速发展的工作流创建的数据库。
添加模型的类
在解决方案资源管理器中,右键单击模型文件夹,选择添加,,然后选择类.

输入类名“Movie”。
将以下五个属性添加到Movie类:
publicclassMovie{publicint ID {get;set;}publicstringTitle{get;set;}publicDateTimeReleaseDate{get;set;}publicstringGenre{get;set;}publicdecimalPrice{get;set;}}
我们会使用Movie类来表示数据库中的电影。Movie对象的每个实例将对应,数据库表中的行和Movie类的每个属性将映射到表中的列。
在同一文件中,添加下面的MovieDBContext类:
publicclassMovieDBContext:DbContext{publicDbSet<Movie>Movies{get;set;}}
MovieDBContext类表示处理提取、 存储和更新数据库中的Movie类实例的实体框架电影数据库上下文。MovieDBContext从实体框架提供的DbContext基类派生。
为了能够引用DbContext和DbSet,您需要在文件的顶部添加以下using语句:
usingSystem.Data.Entity;
完整的Movie.cs文件如下所示。(几个使用不是语句需要已删除.)
usingSystem;usingSystem.Data.Entity;namespaceMvcMovie.Models{publicclassMovie{publicint ID {get;set;}publicstringTitle{get;set;}publicDateTimeReleaseDate{get;set;}publicstringGenre{get;set;}publicdecimalPrice{get;set;}}publicclassMovieDBContext:DbContext{publicDbSet<Movie>Movies{get;set;}}}
创建的连接字符串和使用 SQL 服务器 LocalDB
您创建的MovieDBContext类处理连接到数据库和将Movie对象映射到数据库记录的任务。你可能会问的一个问题是,如何指定它将连接到的数据库。你可以做到通过添加应用程序的Web.config文件中的连接信息。
打开的应用程序根Web.config文件。(不Web.config文件在视图文件夹中。打开在红色中所概述的Web.config文件。

向Web.config文件中的<connectionStrings>元素添加下面的连接字符串。
<addname="MovieDBContext"connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"providerName="System.Data.SqlClient"/>
下面的示例演示Web.config文件的一部分,以添加新的连接字符串:
<connectionStrings><addname="DefaultConnection"connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true"providerName="System.Data.SqlClient"/><addname="MovieDBContext"connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"providerName="System.Data.SqlClient"/></connectionStrings>
这少量的代码和 XML 是您需要编写为代表,将电影数据存储在数据库中的一切。
接下来,你就会生成一个新的MoviesController类,您可以使用显示电影数据并允许用户创建新的电影列表。
==============================翻译==============================
C# MVC 自学笔记—5 添加模型的更多相关文章
- C# MVC 自学笔记—4 添加视图
==============================翻译============================== 在本节中,你将要修改 HelloWorldController 类,以便使 ...
- C# MVC 自学笔记—6 编辑方法和编辑视图
==============================翻译============================== 运行该应用程序并浏览到Movies控制器通过将/Movies追加到您的浏览 ...
- C# MVC 自学笔记—2 MVC Movie简介
MVC Movie是微软官方的一个MVC入门项目,我们可以跟着这个项目来实践入门 这是官方地址 http://www.asp.net/mvc/tutorials/mvc-4/getting-start ...
- ASP.NET MVC系列:添加模型
模型(Model)是应用程序中用于处理应用程序数据逻辑的部分;通常模型对象在数据库中存取数据 添加模型类 在解决方案中右击Models文件夹,然后选择“添加”,在“添加”项里选择“类”:或者选中Mod ...
- [Asp.net MVC]Asp.net MVC5系列——添加模型
目录 概述 添加模型 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列——添加视图 概述 在本节中我们将追加 ...
- ASP.NET MVC 5 学习教程:添加模型
原文 ASP.NET MVC 5 学习教程:添加模型 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...
- 【译】ASP.NET MVC 5 教程 - 4:添加模型
原文:[译]ASP.NET MVC 5 教程 - 4:添加模型 在本节中,我们将添加一些管理电影数据库的类,这些类在ASP.NET MVC 应用程序中扮演“Model”的角色. 我们将使用.NET F ...
- V-rep学习笔记:机器人模型创建2—添加关节
下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些 ...
- MVC学习笔记(三)—用EF向数据库中添加数据
1.在EFDemo文件夹中添加Controllers文件夹(用的是上一篇MVC学习笔记(二)—用EF创建数据库中的项目) 2.在Controllers文件夹下添加一个空的控制器(StudentsCon ...
随机推荐
- Java多线程之非线程安全
在Java多线程中我会重点总结五个如下的技术点: 1.非线程安全是如何出现的 2.synchronized对象监视器为Objec时的使用 3.synchronized对象监视器为Class时的使用 4 ...
- 关于java项目导入,所碰到的版本问题
怎么修改myeclipse 项目中用的jdk版本 工具/原料 MyEclipse java项目 方法/步骤 首先打开MyEclipse,如下图所示 打开之后,找到我们的java项目 然后右键-- ...
- SQL Server验证的两种方式
1.Windows身份验证:本机连接或者受信的局域网连接(一般在忘记管理员密码或者做系统配置的情况下使用). 2.SQLServer验证:使用用户名.密码验证(推荐使用). 启用方法:以Windows ...
- java虚拟机内存溢出各种场景总结
java堆溢出 java堆用于存储对象实例,只要不断地创建对象,并且保证gc roots到对象之间有可达路径来避免垃圾回收机制来清楚这些对象,那么在 对象到达最大堆的容量限制后就会产生内存溢出溢出. ...
- ios 面试题 经典(比较全) 根据重点总结
史上最全的iOS面试题及答案 1.写一个NSString类的实现 + (id)initWithCString:(c*****t char *)nullTerminatedCString encodin ...
- OCP-1Z0-053-V13.02-712新题
Why does the number of blocks for the table remain the sale after the shrink operation? A.Because ...
- python命令行解析工具argparse模块【2】
上一节,我们简要的介绍了argparse的用法,接下来几节,将详细讲解其中的参数及用法,这一节我们讲解ArgumentParser对象. argparse.ArgumentParser([descri ...
- 我的Python成长之路---第六天---Python基础(20)---2016年2月20日(晴)
一.面向对象基础 面向对象名词解释: 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公 ...
- Uva 225 Golygons
这道题如果直接用Dfs,运气好的话是可以直接过的. 但如果要在Dfs的基础上加快速度,剪枝是必不可少的. 我的剪枝策略: 1.当前点(x,y)回到出发点至少需要 |x| +| y| 步,如果剩余的步数 ...
- 聊聊高并发(二十五)解析java.util.concurrent各个组件(七) 理解Semaphore
前几篇分析了一下AQS的原理和实现.这篇拿Semaphore信号量做样例看看AQS实际是怎样使用的. Semaphore表示了一种能够同一时候有多个线程进入临界区的同步器,它维护了一个状态表示可用的票 ...