ASP.NET MVC4入门教程(四):添加一个模型
在本节中,您将添加一些类,这些类用于管理数据库中的电影。这些类是ASP.NET MVC 应用程序中的"模型(Model)"。
您将使用.NET Framework 数据访问技术Entity Framework,来定义和使用这些模型类。Entity Framework(通常称为 EF) 是支持代码优先的开发模式。代码优先允许您通过编写简单的类来创建对象模型。(相对于"原始的CLR objects",这也被称为POCO 类)然后可以从您的类创建数据库,这是一个非常干净快速的开发工作流程。
添加模型类
在解决方案资源管理器中,右键单击模型文件夹,选择添加,然后选择类.
输入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对象的每个实例将对应数据库表的一行, Movie类的每个属性将对应表的一列。
在同一文件中,添加下面的MovieDBContext类:
public class MovieDBContext : DbContext { public DbSet<Movie> Movies { get; set; } }
MovieDBContext类代表Entity Framework的电影数据库类,这个类负责在数据库中获取,存储,更新,处理 Movie 类的实例。MovieDBContext继承自Entity Framework的 DbContext基类。
为了能够引用DbContext和DbSet,您需要在文件的顶部添加以下using语句:
using System.Data.Entity;
下面显示了完整的Movie.cs文件。(一些不用的using语句已经被删除了)
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文件。(不是View文件夹下的Web.config文件。)打开红色高亮标记的Web.config文件。
在Web.config文件中的<connectionStrings>内添加下面的连接字符串。
<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
下面的例子里显示了部分Web.config文件中所新添加的连接字符串:
<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>
为了表示和存储电影数据到数据库中,上面少量的代码和XML是你所需要的一切。
接下来,您将创建一个新的MoviesController类,您可以用它来??展示电影数据,并允许用户创建新的影片列表。
相关文章
在ASP.NET 2.0中操作数据之三:创建母版页和站点导航
本文主要介绍在ASP.NET如何创建母版页以及站点地图等操作,母版页的实现的功能有点类似自定义用户控件,可以实现网站页面统一的设计和布局。2016-04-04解读ASP.NET 5 & MVC6系列教程(3):项目发布与部署
这篇文章主要介绍了ASP.NET 5 项目发布与部署的设置和流程,并介绍IIS和web.cmd模式两种发布模式的区别,需要的朋友可以参考一下。2016-06-06ASP.NET MVC4入门教程(七):给电影表和模型添加新字段
本文使用Entity Framework Code First来实现模型类上的操作,使用代码优先的模式,从而使得直接修改代码,数据库也会做相应的改变。2016-04-04在ASP.NET 2.0中操作数据之四十四:DataList和Repeater数据排序(三)
上篇已经完成了自定义分页,这一节我们继续完善排序功能。2016-05-05在ASP.NET 2.0中操作数据之二十六:排序自定义分页数据
前面教程中我们实现了高效的自定义分页,但是只是一种固定排序方式。在本教程中,我们通过引入@sortExpression来扩展存储过程既实现自定义分页又提供自定义排序的功能。2016-05-05在ASP.NET 2.0中操作数据之七十三:用Managed Code创建存储过程和用户自定义函数(上部分)
Microsoft SQL Server 2005整合了Common Language Runtime (CLR),它允许用managed code来创建数据库对象,本文主要介绍了如何使用managed code创建存储过程。2016-05-05解读ASP.NET 5 & MVC6系列教程(13):TagHelper
这篇文章主要介绍了新版MVC6中强大的TagHelper功能,需要的朋友可以参考下2016-06-06NopCommerce架构分析之(三)EntityFramework数据库初试化及数据操作
本文介绍IStartupTask,该类会在系统启动时执行,IStartupTask调用IEfDataProvider进行数据库的初始化。2016-04-04
最新评论