您的位置:首页 > 编程语言 > ASP

【翻译】ASP.NET MVC4 入门(四)添加一个Model

2013-03-19 21:48 225 查看
原文链接:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model

这一小节我们将添加一些类来管理数据库中的电影。这些类将会成为我们的ASP.NET MVC应用中的model部分。

我们将会使用.net framework提供的数据访问技术——众所周知的Entity Framework来定义这些类。Entity Framework(通常简写成EF)支持一种叫做Code First的开发模式。Code First允许我们编写简单的代码来创建model。(这些类被称为POCO类,"plain-old CLR objects",平凡无奇的clr对象)我们可以使用这些类来创建数据库,从而使我们的开发流程整洁快速。

添加Model类

在解决方案资源管理器中,右键单击Models文件夹,选择"Add",然后选择"Class"。





为新建的类命名为Movie。

为Movie类添加如下五个属性。

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类的实例都对应数据库表中的一行记录,每一个属性都对应该行记录的一个字段。

在同样的文件里添加如下的MovieDBContext类:

public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}


MovieDBContext类代表了Entity Framework数据库上下文,用来处理获取、存储和更新Movie对象到数据库的工作。MovieDBContext类派生自Entity Framework提供的DbContext类。

为了使用DbContext和DbSet,我们需要添加相应的命名空间:

using System.Data.Entity;


完整的Movie.cs文件内容如下.

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; } }
}


创建一个连接字符串并且使用SQL Server LocalDB

我们创建的MovieDBContext类负责连接到数据库并且处理数据库中记录到Movie对象的映射。你肯定有一个疑问:我们怎样指定这个类要连接的数据库。我们通过在应用程序的Web.config文件添加数据库连接信息来实现。

打开应用程序根路径下的Web.config文件(注意不是Views文件夹下的Web.config)。





为<connectionStrings>元素添加如下内容:

<add name="MovieDBContext"   connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Movie.mdf;Integrated Security=True"  providerName="System.Data.SqlClient"/>


注:原文中使用的是Visual Studio 2012,使用的数据库是Sql Server LocalDB,我使用的是Visual Studio 2010,使用的数据库是Sql Server Express,如果使用LocalDB的话,原文的连接字符串配置是:

<add name="MovieDBContext"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>


注:我们仅仅需要在Web.config文件中添加连接字符串就行了,不需要创建数据库,数据库由Entity Framework负责创建,详情在下一篇文章里介绍。

接下来就让我们创建一个MoviesController类来展示和编辑数据.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: