`
webcenterol
  • 浏览: 915439 次
文章分类
社区版块
存档分类
最新评论

基于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:通过出入查询条件,获取数据实体列表(单表查询)。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics