基于Xml配置的ORM引擎 Part1——数据实体
ORM引擎是WebAPI引擎生成系统的其中一个子模块,本章主要介绍ORM引擎的数据实体部分的设计。
数据实体
数据实体是指映射到数据库中某一个数据表的对象,对象的属性映射数据表的对应的字段,对象的属性数目与数据表字段数目一致。(如果对象包含2个以上数据表的字段映射时叫数据查询,这个部分以后再进行介绍)。
数据实体是执行插入、更新、删除、单表查询数据库操作的基本数据单位。
Xml映射文件格式(数据实体部分)
ORM引擎架构
XmlMappingEntity,XmlMappingEntityProperty类分别解析Xml映射文件,把Xml数据转成对象。
SqlDataAccesObject类负责处理某一数据库(MS SQL Server)的访问操作。
DAL(DataAccessLayer)静态类,只有该类是对外公开的,管理多个数据库的访问。
DAL(DataAccessLayer)功能的设计
公共部分
- LoadDbConfigurations:加载数据库配置,支持多数据库。
- GetConnectionKeys:获取数据库配置列表,用于客户端选择,进行数据库撤换。
- CheckDb:判断数据库是否存在。
- CreateDb:创建数据库。
- DeleteDb:删除数据库。
- RenameDb:重命名数据库。
- BackupDb:备份数据库。
- RestoreDb:还原数据库。
数据实体部分
- LoadMapping:加载数据实体的Xml映射文件。
- Create:创建数据实体,属性赋默认值,未插入到数据库的新对象。
- Insert:数据实体插入操作,如果包含自动递增字段,执行插入操作后,自动修改数据实体的对应的映射属性。
- Update:数据实体更新操作,支持只修改某几个数据字段。
- Delete:数据实体删除操作。
- DeleteAll:通过传入查询条件,删除所有相关的数据
- Accumulation:数据字段累加操作,例如:金额累加,执行类似Update {Table} Set [Due] = [Due] + @Range Where …的sql脚本,该操作在多用户并发修改金额时很有用。
- Find:查找单个数据实体,必须传入主键条件。
- Exist:判断数据实体是否存在。
- Count:通过传入查询条件,统计数据实体的数量。
- GetList:通过出入查询条件,获取数据实体列表(单表查询)。