在谈论EF框架之前,我们先扯扯以前用过的三层架构。
UI层:表示层,跟用户交互用的。
BLL层:业务逻辑层,处理业务逻辑用的。
DAL层:数据访问层,操作数据库用的,负责对数据的增删改查。
在写D层的时候,你会发现对不同对象的数据进行增删改查的代码好像一样的,无非写的sql语句不同,参数不同。
花时间,干重复性的活,多没意思,于是我们把重复不变的地方抽象出来,进行重构。把变化的地方用变量来代替。于是我们sqlhelper助手类诞生了,我们把对数据库的链接、增、删、该、查方法封装到sqlhelper类里。
有了sqlhelper后,当我们读取对象数据和改变对象状态时,只要new它一下,它把sql语句和参数当作变量传进来,就解决了。那时候觉得,sqlhelper好实用,好美。用一句广告词:“自从有了sqlhelper,妈妈再也不用担心我的学习了。”
难道有sqlhelper就完美了吗?除此之外还有没有更好解决方案呢?那就是引入一个ORM。
其实ORM为我们生成DAL,与其自己写D层代码不如用orm吧,ORM负责保存、读取、删除对象而且还负责生成sql,
我们只需要关心对象就好。从此我们进入的对象关系映射时代(ORM)
而实体框架EF正是ORM框架中的一种,既然ORM框架有以上作用,EF肯定具有以上功能啊。
1、什么是ORM(Object Relational Mapping)?
ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的相互装换。
说白了就是:表实体和表之间的装换。
O: => 表实体
R : =>数据库里的表
M : => 映射关系
2、什么EF(EntityFramework)?
实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序技术,是微软的一种ORM框架。