在谈论EF框架之前,我们先扯扯以前用过的三层架构。
U层:表示层,跟用户交互用的。
B层:业务逻辑层,处理业务逻辑用的。
D层:数据访问层,操作数据库用的,负责对数据的增删改查。
在写D层的时候,你会发现对不同对象的数据进行增删改查的代码好像一样的,无非写的sql语句不同,参数不同。
花时间,干重复性的活,多没意思,于是我们把重复不变的地方抽象出来,进行重构。把变化的地方用变量来代替。于是我们sqlhelper助手类诞生了,我们把对数据库的链接、增、删、该、查方法封装到sqlhelper类里。
有了sqlhelper后,当我们读取对象数据和改变对象状态时,只要new它一下,它把sql语句和参数当作变量传进来,就解决了。那时候觉得,sqlhelper好实用,好美。用一句广告词:“自从有了sqlhelper,妈妈再也不用担心我的学习了。”
难道有sqlhelper就完美了吗?除此之外还有没有更好解决方案呢?那就是引入一个ORM。