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 @   花儿笑弯了腰  阅读(345)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示