ASP.NET MVC3教程
ASP.NET MVC3 电影示例系列:共九篇 [文章列表]
这里的文章是ASP.NET官网的教程,这里做翻译而已,才疏学浅,翻译错误的地方,请指正,原文地址:Adding a Model(C#)
添加一个Model
在这一章节中,我们将添加一些类来管理数据库中的电影。这些类将作为ASP.NET MVC应用程序中"Model"的一部分。
我们将在这些模型类中使用.NET Framework中的Entity Framework数据访问方式来定义和处理数据访问。Entity Framwork(经常被称为EF)支持一个被称为Code First的开发模式。Code First允许你通过编写一个简单的类来创建模型对象。(亦被称作POCO类,来源于"plain-old CLR object")而后,你可以从类中自动创建好数据库,这将能使开发工作简洁而快速。
添加Model类
在解决方案资源管理器中,在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类:
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
用MovieDBContext类来表示Entity Framework中电影数据库的上下文,用来处理数据库中对Movie类的实例的读取,排序,更新。MovieDBContext继承自Entity Framework中的DbContext。需要了解DbContext和DbSet的更多信息,请查看Prodcutivity Improvements for the Entity Framework。
为使能正常引用DbContext和DbSet,你需要在文件的顶部添加如下的using语句:
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 Compact
我们创建的MovieDBContext 类负责处理链接数据库和将Movie对象映射到数据库记录中的事务。也许你此时有个疑问是,既然如此,那如何指定它将要链接的数据库呢。我们将通过在应用程序的Web.config中添加链接信息来指定。
打开应用程序根目录下的Web.config文件。(不是Views文件夹下的那个Web.config文件。)下图显示了这两个Web.config文件;打开那个红圈内的Web.config。
在Web.config文件中的<connectionString>节内添加如下的连接字符串。
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
下面显示的是添加链接字符串之后的Web.config的一部分:
<configuration>
<connectionStrings>
<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" />
</connectionStrings>
要展示和存储电影到数据库中需要做的仅仅是上面这些代码和XML。
下一步,我们将创建一个新的MoviesController类,以便用来显示电影数据,并允许用户创建新的电影列表。
Translated by MitchellChu @2012-04-21