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类,您可以用它来??展示电影数据,并允许用户创建新的影片列表。