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

原文链接: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"。

image

为新建的类命名为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)。

image

为<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类来展示和编辑数据.

posted @ 2013-03-19 21:48  Lukexywang  阅读(2278)  评论(5编辑  收藏  举报