代码改变世界

Asp.net MVC3.0 入门指南 4 模型 Model

2011-05-06 14:53  Bingo Lee  阅读(5097)  评论(17编辑  收藏  举报

添加模型

这一节我们将添加一些类来管理数据库中的电影资料。这些类是

ASP.NET MVC程序的模型部分。

您将使用被称为实体框架(Entity Framework)的.NET框架数据

访问技术去定义、使用这些类。实体框架(通常被称为EF)支持

一种叫做代码优先(Code First)的开发模式。代码优先允许您

通过编写简单的类来创建模型对象。(这些类被称作POCO对象,

来自纯粹的老的CLR对象"plain-old CLR objects.")然后您可以

通过这些实体类动态创建数据库,它使开发流程简洁高效!

添加模型类

  

在解决方案资源管理中,右键Models文件夹,选择Add->

Class…。

命名类为"Movie"。

给Movies类添加5个属性。

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类。

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

MovieDBContext类代表实体框架的电影数据库的上下文。它

处理读取、存储、更新数据中的Movie实例。MovieDBContext

派生自实体框架提供的DbContext。更多关于DbContext和DbSet

的信息,提高生产率的实体框架

  

为了能够引用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 精简版一起工作

  

您创建的MovieDBContext类可以用来处理连接数据库、映射Movie对象

到数据的记录。您也许会问一个问题,如何指明将要连接到的数据库?您

通过给应用程序的web.config文件添加连接字符串信息来实现。

  

打开应用程序的根目录下的web.config。(不是Views文件夹下的web.config。)

下图显示了这两个web.config文件;打开圈红的那个!

  

在web.config文件中添加下面的连接字符串。

  

<add name="MovieDBContext"
         connectionString="Data Source=|DataDirectory|Movies.sdf"
         providerName="System.Data.SqlServerCe.4.0"/>

下面的示例显示部分Web.config新添加的连接字符串。

译注:如果使用的其他版本的Sql server,需要把连接字符串中的System.Data.SqlServerCe.4.0

修改为System.Data.SqlClient。

  

<add name="MovieDBContext"
        connectionString="Data Source=|DataDirectory|Movies.sdf"
        providerName="System.Data.SqlServerCe.4.0"/>
<add name="ApplicationServices"
        connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;
AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />

这些少量的代码和XML是您需要做的一切,它表示和存储在数据库中的电影数据。

下一步,您将创建MoviesController类来展示展示电影数据并允许用户创建新的

电影列表。

下一节:Asp.net MVC3.0 入门指南 5 从控制器访问模型数据

微笑

原文网址:http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part4-cs