一种基于接口编程的高效通用数据访问层的设计与实现
2021-06-23徐照兴
徐照兴
(江西服装学院 大数据学院,江西南昌向塘经济开发区丽湖中大道103号 330201)
决定一个系统优劣最关键的是系统的架构,系统架构的优劣决定着系统具有的延迟与吞吐量、可用性与一致性、可扩展性、稳定性等[1]。系统经典架构主要有基于接口编程的三层架构,该架构可以很好地从整体上对系统解耦。经典三层通常分为数据访问层、业务逻辑层、表现层,大型系统通常会在经典三层架构的基础上对业务逻辑层进行再封装,使之形成新的一层,通常称为服务层,这样系统的架构就变成了四层,也就成为分布式系统架构[2]。不论几层架构,数据访问层是必须的,其功能主要是负责对数据库的访问。文中经过对多套开源框架分析,结合实战开发经验,给出一种基于接口编程思想,用Entity Framework技术实现数据访问层的方案,并给出核心代码,整个实现思路如图1所示。

图1 数据访问层实现思路总图Fig.1 General diagram of data access layer implementation idea
1 数据访问层常用技术
在.Net开发平台下,数据访问层实现技术主要有ADO.Net,NHibernate,Entity Framework(以下简称“EF”)。ADO.Net是一种最基本的数据库访问技术,访问性能高,需要比较熟练掌握SQL Server数据库技术。EF是典型的一种实现了ORM(Object Relational Mapping,对象关系映射)框架的技术,它底层是对ADO.Net技术进行了封装,通过实体、关系型数据库表之间的映射,使开发人员可以通过操作表实体而间接地操作数据库,大大地提高了开发效率。EF与原生ADO.NET技术相比缺点是访问性能稍差,主要是因为在编译运行时有一个生成sql脚本的过程[3]。NHibernate也是一……
