LearnMVC5-AddAModel
本人是MVC新手,将从微软官网学习MVC并将看过的英文文档翻译成中文,由于本人英文水平不好,有翻译不准确、错误的地方万望指出,我看到后将会在第一时间修改。另外也希望这一系列文章能为后来者起到引导作用。 微软原文地址:http://www.asp.net/mvc/overview/getting-started/introduction/adding-a-model
原创文章,转载必需注明出处:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/learnmvc5-addamodel/
添加Model
在本文中我将带领你创建一些类去管理数据库中的Movies。这些将要创建的类就是ASP.Net MVC中的M,即Model。
你将使用Entity Framework 这一.NET Framework 数据库访问技术去创建和使用model类。Entity Framework(通常称为 EF) 支持一种开发模式叫做Code First(代码优先)。你可以使用Code First通过书写简单的代码来创建Model对象。(相对于"原始的CLR objects",这也被称为POCO 类)然后你可以通过你创建的Model类来创建数据库,这是一个非常简单快捷的开发工作流程。如果你依旧想先创建数据库,你也可以按照这个教程来学习MVC和EF开发。
添加Model类
在Solution Explorer中,右键点击Models文件夹,选择Add,然后选择Class

输入类名为“Movie”
使用下面的代码覆盖Movie类:
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类来代替数据库中存储的电影信息。每一个Movie类的实例都代表着数据库中movie表的一行数据,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代表着Entity Framework的电影数据库类,这个类负责在数据库中获取,存储,更新,处理 Movie 类的实例。MovieDBContext继承自Entity Framework的 DbContext基类。
为了使用DbContext和DbSet,你需要添加下面的命名空间到文件的顶部:
using System.Data.Entity;
你可以手动入命名空间,或者你也可以在代码提示的红色波浪线上点击右键选择Resolve,然后选择System.Data.Entity.

注意:一些不用的using语句已经被删除了--通过在文件中右键单击,选择“组织Using”,然后单击”移除未使用的using”。

我们已经成功的添加了一个Model(MVC中的M)。下一篇文章中你将会使用数据库链接字符串。
随机推荐
- UVaLive 7503 Change (坑题。。。。。。)
题意:给定两个人民币,问你花最少钱保证能够凑出另一个价格. 析:这个题最大的坑就是在,并一定是一次就凑出来,可以多次,然后就可以想了,如果要凑的数和1有关,特判,如果是2倍数,0.01就够了,否则就是 ...
- if condition volist
<table class="table table-hover table-striped"> <if condition="$order_list e ...
- poj1061 青蛙的约会 扩展欧几里德的应用
这个题解得改一下,开始接触数论,这道题目一开始是看了别人的思路做的,后来我又继续以这种方法去做题,发现很困难,学长告诉我先看书,把各种词的定义看懂了,再好好学习,我做了几道朴素的欧几里德,尽管是小学生 ...
- lua安装和简单使用
1.安装 下载地址:https://www.lua.org/download.html 编译之前要安装readline,直接用yum安装 yum -y install readline-devel n ...
- js判断滚动方向
//页面滚动监听事件 window.onscroll = function (e) { scrollFunc(); $("#t&quo ...
- Windows7部署WordPress傻瓜式教程(IIS7.5+MySQL+PHP+WordPress)
http://www.cnblogs.com/vengen/archive/2010/01/01/WordPressInstall.html
- easyui datagrid 的分页刷新按钮
datagrid 刷新bug: 情形: 当用户A,B 同时操作 datagrid时(记录1,记录2.记录3).如果A如果删除记录1, B此时已选中了记录1 ,记录2 , 这时B点击分页中的刷新按 ...
- Arrays, Hashtables and Dictionaries
Original article Built-in arrays Javascript Arrays(Javascript only) ArrayLists Hashtables Generic Li ...
- android: Incorrect line ending: found carriage return (\r) without corresponding newline (\n)
当报这种错误的时候:Incorrect line ending: found carriage return (\r) without corresponding newline (\n) 解决方法: ...
- 新浪SAE数据库信息wordpress设置(用户&密码&主地址)
新浪SAE数据库信息wordpress设置(用户&密码&主地址) 此账号仅能在SAE平台上使用,不能从外部连接我们建议开发者使用SaeMysql操作数据库如果您想自己实现数据库相关操作 ...