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

在本节中,您将添加一些类来管理数据库中的电影。这些类将 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 添加模型的更多相关文章

  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. string.Format()字符串格式化

    Format()基本语法:     {索引[,对齐][:格式字符串]}     ·索引:表示引用的对象列表中的第n个对象参数.     ·对齐(可选):设置宽度与对齐方式,该参数为带符号的整数.正数为 ...

  2. 「OC」点语法和成员变量的作用域

    一.点语法 (一)认识点语法 声明一个Person类: 1 #import <Foundation/Foundation.h> 2 3 @interface Person : NSObje ...

  3. django template出错

    解决方法一: 先导入settings >>> from django.conf import settings >>> settings.configure() & ...

  4. 转: sublime text 2 前端编码神器-快捷键与使用技巧介绍

    代码编辑器或者文本编辑器,对于程序员来说,就像剑与战士一样,谁都想拥有一把可以随心驾驭且锋利无比的宝剑,而每一位程序员,同样会去追求最适合自己的强大.灵活的编辑器,相信你和我一样,都不会例外. 如果说 ...

  5. 浏览器对body节点scrollTop解析的差异

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style t ...

  6. Next SIEM

    http://security.ctocio.com.cn/76/12715576.shtml http://yepeng.blog.51cto.com/3101105/1155802/ http:/ ...

  7. Qt学习 之 文件

    文件操作是应用程序必不可少的部分.Qt 作为一个通用开发库,提供了跨平台的文件操作能力.从本章开始,我们来了解下 Qt 的文件以及输入输出的功能,也就是 I/O 系统. Qt 通过QIODevice提 ...

  8. java学习之线程的操作方法

    package com.gh.thread; /** * 线程实现的两种方法 * 1.继承thread类 * 2.实现Runnable接口 * @author ganhang * */ public ...

  9. java面板设计

    写面板真的是写到吐血,深深感受到什么叫又臭又长,可能是自己用的太烂吧. 关于布局管理器不写一下还是不懂,另外加面板的思想跟html中div的感觉差不多. 发现的一个小彩蛋:用JScrollPane的时 ...

  10. java基础知识----IO篇

    写在前面:本文章基本覆盖了java IO的所有内容.java新IO没有涉及.文章依然以样例为主,由于解说内容的java书非常多了,我觉的学以致用才是真.代码是写出来的,不是看出来的. 最后欢迎大家提出 ...