排球记分员计分程序(四)————实体模型Model类的设计
2017-06-22 18:44
351 查看
实体类是现实实体在计算机中的表示。它贯穿于整个架构,负担着在各层次及模块间传递数据的职责。
大多情况下,实体类和数据库中的表(这里指实体表,不包括表示多对多对应的关系表)是一一对应的,但这并不是一个限制,在复杂的数据库设计中,有可能出现一个实体类对应多个表,或者交叉对应的情况。在本文的Demo中,实体类和表是一一对应的,并且实体类中的属性和表中的字段也是对应的。
一.先了解整个工程项目的基本架构:
如上图所示,在初始阶段,整个系统包括3个工程文件夹,它们的职责是这样的:
controllers:添加控制器,处理用户请求。
views:添加视图,为用户呈现视图。
Models:添加实体类。
二.实体类将放在Models工程文件下。
1.比赛队伍的实体模型类代码如下:
namespace 排球计分程序.Models
{
public class DuiWu
{
[Key]//主键
public int ID { get; set; }//队伍ID
public string Name { get; set; }//队伍名
}
}
2.比赛比分(包括局比分和总比分)的实体模型类的代码如下:
namespace 排球计分程序.Models
{
public class BiFen
{
[Key]//主键
public int ID { get; set; }//比分ID
public int JuFenA { get; set; }//A队局比分
public int JuFenB { get; set; }//B队局比分
public int ZongFenA { get; set; }//A队总比分
public int ZongFenB { get; set; }//B队总比分
}
}
3.VolleyballDBContext类的代码如下:
namespace 排球计分程序.Models
{
public class VolleyballDBContext : DbContext
{
public DbSet<DuiWu> DuiWus { get; set; }
public DbSet<BiFen> BiFens { get; set; }
}
}
VollayballDBContext类代表Entity Framework的排球数据库类,这个类负责在数据库中获取,存储,更新,处理Volleyball类的实例。VolleybllDBContext继承自Entity Framework的 DbContext基类。
可以看出,实体类的代码很简单,仅仅是负责实体的表示和数据的传递,不包含任何逻辑性内容。
三.创建连接字符串并使用SQL Server LocalDB
刚创建的VolleyballDBContext类用来连接数据库,并将Volleyball对象映射到数据库表记录。通过在应用程序的Web.config文件中添加数据库连接信息来指定连接到数据库。
1.打开应用程序根目录的Web.config文件。
2.在Web.config文件中的<connectionStrings>内添加下面的连接字符串。
<add name="VolleyballDBContext"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Volleyball.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>
3.创建了一个名为Volleyball的数据库
在解决方案资源管理器中显示全部文件后可以看到App_Data文件下多了一个名为Volleyball.mdf的数据库文件
打开后可以看到:
由此,用来储存比赛信息的数据库已经创建成功了。
大多情况下,实体类和数据库中的表(这里指实体表,不包括表示多对多对应的关系表)是一一对应的,但这并不是一个限制,在复杂的数据库设计中,有可能出现一个实体类对应多个表,或者交叉对应的情况。在本文的Demo中,实体类和表是一一对应的,并且实体类中的属性和表中的字段也是对应的。
一.先了解整个工程项目的基本架构:
如上图所示,在初始阶段,整个系统包括3个工程文件夹,它们的职责是这样的:
controllers:添加控制器,处理用户请求。
views:添加视图,为用户呈现视图。
Models:添加实体类。
二.实体类将放在Models工程文件下。
1.比赛队伍的实体模型类代码如下:
namespace 排球计分程序.Models
{
public class DuiWu
{
[Key]//主键
public int ID { get; set; }//队伍ID
public string Name { get; set; }//队伍名
}
}
2.比赛比分(包括局比分和总比分)的实体模型类的代码如下:
namespace 排球计分程序.Models
{
public class BiFen
{
[Key]//主键
public int ID { get; set; }//比分ID
public int JuFenA { get; set; }//A队局比分
public int JuFenB { get; set; }//B队局比分
public int ZongFenA { get; set; }//A队总比分
public int ZongFenB { get; set; }//B队总比分
}
}
3.VolleyballDBContext类的代码如下:
namespace 排球计分程序.Models
{
public class VolleyballDBContext : DbContext
{
public DbSet<DuiWu> DuiWus { get; set; }
public DbSet<BiFen> BiFens { get; set; }
}
}
VollayballDBContext类代表Entity Framework的排球数据库类,这个类负责在数据库中获取,存储,更新,处理Volleyball类的实例。VolleybllDBContext继承自Entity Framework的 DbContext基类。
可以看出,实体类的代码很简单,仅仅是负责实体的表示和数据的传递,不包含任何逻辑性内容。
三.创建连接字符串并使用SQL Server LocalDB
刚创建的VolleyballDBContext类用来连接数据库,并将Volleyball对象映射到数据库表记录。通过在应用程序的Web.config文件中添加数据库连接信息来指定连接到数据库。
1.打开应用程序根目录的Web.config文件。
2.在Web.config文件中的<connectionStrings>内添加下面的连接字符串。
<add name="VolleyballDBContext"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Volleyball.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>
3.创建了一个名为Volleyball的数据库
在解决方案资源管理器中显示全部文件后可以看到App_Data文件下多了一个名为Volleyball.mdf的数据库文件
打开后可以看到:
由此,用来储存比赛信息的数据库已经创建成功了。
相关文章推荐
- 排球记分员计分程序(三)————设计文档的编写及构架概要设计
- 排球计分程序(一)—— 需求分析与数据模型设计
- 排球记分员计分程序(六)————Views视图的编码与设计
- MVC之排球比赛计分程序 ——(三)model类的设计与实现
- 排球记分员计分程序(二)————需求分析与数据库设计
- 排球记分员计分程序(五)————Controller控制器与Action方法的设计
- 排球计分程序(六)——接口的设计与实现
- 排球记分员计分程序(一)————综述
- 排球记分员计分程序——完善
- ASP.NET MVC 排球计分程序 (三)需求分析与数据库设计
- 排球计分程序(四)—— View设计与实现
- 排球计分程序(五)—— Controller的设计与实现
- MVC之排球比赛计分程序 ——(二)架构概要设计
- ASP.NET MVC 排球计分程序 (四)实体类和SqlHelper类的设计
- 排球计分程序(三)—— 模型类的设计与实现
- MVC之排球比赛计分程序 ——(一)需求分析与数据库设计
- 排球记分员计分程序(七)————程序截图与运行效果
- ASP.NET MVC 排球计分程序 (三)需求分析与数据库设计
- 排球计分程序(二)—— 构架概要设计
- MVC之排球比赛计分程序 ——(四)视图的设计与实现