断天涯大虾 发表于 2016-7-27 11:23:45

七天学会ASP.NET MVC (3) -- 数据处理

在上一期七天学会 ASP.NET MVC 中,小编为大家讲解了 MVC 的数据传递问题。
今天,来为大家讲解 MVC 的数据处理部分。
数据访问层
在实际开发中,如果一个项目不包含任何数据库,那么这个项目是不完整的,而数据访问层就是负责对数据库中的数据进行增添、删除、修改、查找等。
下面,会向大家介绍使用 SQL Server 和 EF(Entity Framework)创建相关的数据库及数据库访问层。那么什么是 EF?
简述实体框架(EF)
EF 是一种 ORM 工具,ORM 表示对象关联映射。
在 RDMS 中,对象称为表格和列对象,而在 .net 中(面向对象)称为类,对象以及属性。任何数据驱动的应用实现的方式有两种:
1. 通过代码与数据库关联(称为数据访问层或数据逻辑层)
2. 通过编写代码将数据库数据映射到面向对象数据,或反向操作。
ORM 是一种能够自动完成这两种方式的工具,EF 是微软的 ORM 工具。
EF提供了三种方式来实现项目
数据库优先方法--创建数据库,包含表,列以及表之间的关系等,EF 会根据数据库生成相应的 Model 类(业务实体)及数据访问层代码。
模型优先方法--模型优先指模型类及模型之间的关系是由 Model 设计人员在 VS 中手动生成和设计的,EF 将模型生成数据访问层和数据库。
代码优先方法--代码优先指手动创建 POCO 类。这些类之间的关系使用代码定义。当应用程序首次执行时,EF 将在数据库服务器中自动生成数据访问层以及相应的数据库。
POCO类
POCO 即 Plain Old CLR 对象,POCO 类就是已经创建的简单 .Net 类。
有了前面基础知识的介绍,下面就来介绍创建数据库并实添加数据访问层的具体方法。
1. 创建数据库连接 SQL SERVER ,创建数据库 “SalesERPDB”。

2. 创建连接字符串(ConnectionString)打开 Web.Config 文件,在< Configuration >标签内添加以下代码:
<connectionStrings>
<add connectionString="Data Source=(local);Initial Catalog=SalesERPDB;Integrated Security=True"
name="SalesERPDAL"
providerName="System.Data.SqlClient"/>
</connectionStrings>
3. 添加 EF 引用
右击项目->管理 Nuget 包。选择 Entity Framework 并点击安装。

4. 创建数据访问层
(1)在根目录下,新建文件夹"Data Access Layer",并在 Data Access Layer 文件夹中新建类” SalesERPDAL “
(2)在类文件顶部添加 Using System.Data.Entity 代码。
(3)继承 DbContext 类
5. 创建 Employee 类的主键
(1)打开 Employee 类,输入 using 语句:using System.ComponentModel.DataAnnotations;
(2)添加 Employee 的属性,并使用 Key 关键字标识主键。
6. 定义映射关系
(1)在 SalesERPDAL 类文件输入using语句: using WebApplication1.Models;
(2)在 SalesERPDAL 类中重写 OnModelCreating 方法
7. 在数据库中添加新属性Employee
在 SalesERPDAL 类中添加新属性 Employe,DbSet 表示数据库中能够被查询的所有 Employee
8. 改变业务层代码,并从数据库中获取数据
打开 EmployeeBusinessLayer 类,输入Using 语句:using WebApplication1.DataAccessLayer;
修改GetEmployees 方法:
public List GetEmployees()
{
SalesERPDAL salesDal = new SalesERPDAL();
return salesDal.Employees.ToList();
}
9. 运行并测试

右击,查看并没有任何 Employee 的表格,查看数据库文件,我们会看到 TblEmployee 表

10. 插入测试数据在 TblEmployee 中插入一些测试数据

11. 运行程序以上就是使用 SQL Server 和 EF(Entity Framework)创建相关的数据库及数据库访问层的方法。后续还会更新 “七天学会 ASP.NET MVC” 的其它篇章,敬请期待。


页: [1]
查看完整版本: 七天学会ASP.NET MVC (3) -- 数据处理