Fork me on GitHub

Adding a Model

在本节中您将添加用于在数据库中管理电影的几个类。这些类是ASP.NET MVC应用程序的模型一部分。

你将使用.NET Framework框架下的实体框架Entity Framework来进行数据访问,并与模型类协同工作。实体框架(常简称为EF)支持一种称之为编码先行(Code First)的开发模式。编码先行允许你编写简单的类(简称为POCO类,全称为"plain-old CLR objects."),来创建模型对象。你可以根据您的实体类来创建数据库,这使的开发流程变的干净与快速。

Adding Model Classes


在解决方案资源管理器中,右键单击Models文件夹,选择“添加”,然后选择“类”。


输入类名“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对象的每个实例对应于一个数据库表中的某一行, Movie类的每个属性将映射到表中的一列。
在同一个文件中,添加以下的MovieDBContext类:

在Movie类中添加以下五个属性:

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

MovieDbContext类表示实体框架的电影数据库内容,负责处理数据库中获取,存储和更新电影类的实例。 MovieDbContext继承自Entity Framework提供的基类DbContext。

为了能够引用DbContext和DbSet,你需要在文件的顶部添加以下using语句:

using System.Data.Entity;

接下来,您将构建一个新的MoviesController类,你可以用它来显示影片数据,并允许用户创建新的影片列表。

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

Creating a Connection String and Working with SQL Server LocalDB

您创建的moviedbcontext类用自动处理连接数据库并映射对象数据库记录电影的任务。您可能会问一个问题,虽然,是默认使用指定的数据库连接。但一般我们会在web.config文件中加入数据库连接信息。

打开应用程序根web.config文件(不是视图文件夹下的web.config),打开web.config文件如下图红色标记部位。

在Webconfig的文件下<connectionStrings>节点添加我们的连接字符串

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

完成后的样子如下图所示

<connectionStrings>
  <add name="DefaultConnection" 
       connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true" 
       providerName="System.Data.SqlClient" 
  />    
  <add name="MovieDBContext" 
       connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
       providerName="System.Data.SqlClient" 
  /> 
</connectionStrings>

这个少量的代码中,是您需要表示和存储的电影数据库中的配置信息。

下一步,您会建立一个新的moviescontroller类,您可以使用它来显示的电影数据,并允许用户创建新的电影列表。

备注:如果你已经添加的连接字符串指定的SQL Server Compact数据库,命名为MovieDB.sdf  位于App_Data文件的文件夹下,那么OK。否则请使用如下配置

<add name="MovieDBContext"
         connectionString="Data Source=.;Initial Catalog=MovieDB;User Id=sa;Password=123;"
        providerName="System.Data.SqlClient" />
posted @ 2012-12-06 17:32  花儿笑弯了腰  阅读(340)  评论(0编辑  收藏  举报