==============================翻译==============================

在本节中,您将添加一些类来管理数据库中的电影。这些类将 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基类派生。

为了能够引用DbContextDbSet,您需要在文件的顶部添加以下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 添加模型的更多相关文章

  1. C# MVC 自学笔记—4 添加视图

    ==============================翻译============================== 在本节中,你将要修改 HelloWorldController 类,以便使 ...

  2. C# MVC 自学笔记—6 编辑方法和编辑视图

    ==============================翻译============================== 运行该应用程序并浏览到Movies控制器通过将/Movies追加到您的浏览 ...

  3. C# MVC 自学笔记—2 MVC Movie简介

    MVC Movie是微软官方的一个MVC入门项目,我们可以跟着这个项目来实践入门 这是官方地址 http://www.asp.net/mvc/tutorials/mvc-4/getting-start ...

  4. ASP.NET MVC系列:添加模型

    模型(Model)是应用程序中用于处理应用程序数据逻辑的部分;通常模型对象在数据库中存取数据 添加模型类 在解决方案中右击Models文件夹,然后选择“添加”,在“添加”项里选择“类”:或者选中Mod ...

  5. [Asp.net MVC]Asp.net MVC5系列——添加模型

    目录 概述 添加模型 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列——添加视图 概述 在本节中我们将追加 ...

  6. ASP.NET MVC 5 学习教程:添加模型

    原文 ASP.NET MVC 5 学习教程:添加模型 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...

  7. 【译】ASP.NET MVC 5 教程 - 4:添加模型

    原文:[译]ASP.NET MVC 5 教程 - 4:添加模型 在本节中,我们将添加一些管理电影数据库的类,这些类在ASP.NET MVC 应用程序中扮演“Model”的角色. 我们将使用.NET F ...

  8. V-rep学习笔记:机器人模型创建2—添加关节

    下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些 ...

  9. MVC学习笔记(三)—用EF向数据库中添加数据

    1.在EFDemo文件夹中添加Controllers文件夹(用的是上一篇MVC学习笔记(二)—用EF创建数据库中的项目) 2.在Controllers文件夹下添加一个空的控制器(StudentsCon ...

随机推荐

  1. javaweb学习路之二--上传gitgub

    代码上传github 代码上传到github的步骤 第一步:申请github账号 https://github.com/注册账号 第二步:登录github,新建repository仓库,命名,创建 第 ...

  2. iOS开发针对SQL语句的封装

      1.使用依赖关系 a.需要添加libsqlite3.tbd 静态库. b.需要添加第三方框架 FMBD.MJExtension. 2. SQL语句类封装名DataBaseSqlTool 类方法介绍 ...

  3. 总线接口与计算机通信(四)USB外部总线(初级认识)

    USB简介   USB是英文Universal Serial BUS(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术.USB接口支持设备的即插 ...

  4. gcc代码反汇编查看内存分布[2]: arm-linux-gcc

    arm-none-linux-gnueabi-gcc -v gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) 重点: 代码中的内存分配, 地址从低到高: ...

  5. BZOJ 1880: [Sdoi2009]Elaxia的路线( 最短路 + dp )

    找出同时在他们最短路上的边(dijkstra + dfs), 组成新图, 新图DAG的最长路就是答案...因为两人走同一条路但是不同方向也可以, 所以要把一种一个的s,t换一下再更新一次答案 ---- ...

  6. [C++参考]拷贝构造函数的参数必须是引用类型

    在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识.在effective C++中说过这么一点:拷贝构造函数的参数必须是引用类型的.但是为什么呢? ...

  7. linux shell 执行多个命令的方法

    (1)在每个命令之间用:(分号)隔开. (2)在每个命令之间用&&隔开. &&表示:若前一个命令执行成功,才会执行下一个.这样,可确保所有的命令执行完毕后,其执行过程都 ...

  8. 16个值得个人站长做的广告联盟[转自cnzz]

    建站也有好多年了,也建了几个站,有些微波收入, 反复测试了挺多广告联盟, 下面介绍一下: 1.googleadsense联盟: 推荐指数:☆☆☆☆☆ Google广告联盟是现在信誉最好的广告提供商之一 ...

  9. BZOJ 1412: [ZJOI2009]狼和羊的故事( 最小割 )

    显然是最小割...把狼的领地连S, 羊的领地连T, 然后中间再连边, 跑最大流就OK了 -------------------------------------------------------- ...

  10. 循环调用修正sic86 2改后的(除了第一年有点诡异,其他年份可以正常修复)

    create or replace procedure rebuild_sic86_wyl(pi_aac001 in number, po_fhz out varchar2, po_msg out v ...