找回密码
 立即注册

QQ登录

只需一步,快速开始

断天涯大虾
社区贡献组   /  发表于:2016-7-27 11:23  /   查看:3602  /  回复:0
在上一期七天学会 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”。
7200009fa8413e71bc2.jpg
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 并点击安装。
71f00088c27cf7fd896.jpg
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. 运行并测试
722000a003c4d5d0137.jpg
右击,查看并没有任何 Employee 的表格,查看数据库文件,我们会看到 TblEmployee 表
7200009fae390547f36.jpg
10. 插入测试数据在 TblEmployee 中插入一些测试数据
7200009faeaaf23ba22.jpg
11. 运行程序以上就是使用 SQL Server 和 EF(Entity Framework)创建相关的数据库及数据库访问层的方法。后续还会更新 “七天学会 ASP.NET MVC” 的其它篇章,敬请期待。


722000a00409e0a04ca (1).jpg
   
关于葡萄城:全球最大的控件提供商,世界领先的企业应用定制工具、企业报表和商业智能解决方案提供商,为超过75%的全球财富500强企业提供服务。

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部