《DataRabbit-企业级的数据存取框架(00)----序.doc》由会员分享,可在线阅读,更多相关《DataRabbit-企业级的数据存取框架(00)----序.doc(3页珍藏版)》请在金锄头文库上搜索。
1、DataRabbit-企业级的数据存取框架(00)-序DataRabbit 企业级的数据存取框架(00) 序DataRabbit 企业级的数据存取框架(00) 序分类: 默认分类日期: 2007-03-19 16:55原文地址: http:/ 分类: DataRabbit 2007-03-19 16:55 88人阅读 评论(0) 收藏 举报 (最新版本为DataRabbit 4.0,请到本文末下载处下载。最后更新:2009.09.15)DataRabbit支持基于关系(Relation)的数据库操作和基于ORM的数据库操作,内置了对Oracle和SqlServer的支持,并且可以通过插件的方式
2、对其它数据库类型提供支持。DataRabbit中的所有访问器(都实现了ITransactionAccesser接口)即可以在事务上下文中访问数据库,也可以在非事务中访问数据库。使用DataRabbit,几乎可以避免98%的需要在程序中手写的Sql语句,这样,你的程序会更安全,并且更容易修改和维护。在正式了解DataRabbit之前,也许先读一下DataRabbit的背后(1)走进DataRabbit上下文效果更好,这篇文章为了解DataRabbit做了一些必要的铺垫。1.DataRabbit中的访问器DataRabbit主要包含以下几种访问器:(1)针对ORM的访问器(IOrmAccesser
3、)(及 续篇)(2)针对数据库的Relation访问器(IRelationAccesser)(3)针对Table的Relation访问器(ITableAccesser)(4)针对存储过程的访问器(ISPAccesser)(5)基于ORM的对象关系加载器(IEntityRelationLoader)(6)数据大纲访问器(IDataSchemaAccesser)所有的访问器都向使用者屏蔽了地层的IDbCommand、IDbConnection等对象,使用者不必再关心打开连接、执行命令、关闭连接等繁琐底层的操作。这些访问器都从ITransactionAccesser接口继承,它们的类图如下所示:Da
4、taRabbit的ORM非常轻量,它具有如下特点:(1)使用Emit与泛型技术实现ORM访问器(IOrmAccesser),与手写SQL的效率几乎相当。(2)使用ORM不需要任何配置文件(采用“约定”优于“配置”原则,Entity对象与数据表结构完全一致,可由工具EntityCreator自动生成)(3)可以将数据库之间的主从表关系映射为Entity之间的关系,并可以依据主外键来加载Entity。(4)对数据库表的结构没有任何要求。(比如,有的ORM框架要求数据表必须具有主键等)(5)支持高效的“部分更新(partial update)”。2.大纲操作 DataRabbit支持与数据大纲(Da
5、taSchema)相关的操作,比如提取某个数据库表的大纲,或者依据某个大纲创建对应的数据库表。这可以通过 IDataSchemaAccesser 接口来完成。与大纲操作相关的类图如下所示:3.数据分页可以通过IPagerManager接口来进行数据分页操作(全部采用程序实现,不需要存储过程的支持)。4.DataRabbit入口 TransactionScopeFactory作为使用DataRabbit框架的入口点,一个TransactionScopeFactory实例就对应着一个数据库。也可以这么说,针对一个特定的数据库,我们的应用只需要维护一个TransactionScopeFactory实
6、例即可。Code highlighting produced by Actipro CodeHighlighter (freeware)http:/www.CodeH stuList = stuOrmAccesser.GetMuch(new Filter(Student._Age, 20, ComparisonOperators.Greater);关于如何更好的使用DataRabbit框架,可以参考使用DataRabbit的最佳实践 一文。5.对N层架构的支持DataRabbit如何更好地融合到N层架构中了?如何支持BL层、Data层、BEM层?(1)TransactionScope,事务范围
7、,从某个事务返回对象获取的各种访问器实例都工作于同一个事务上下文中。TransactionScope实例通常在Business Flow子层中创建。(2)将DataRabbit融入架构(3)三层架构中使用DataRabbit的最佳实践(4)DataRabbit 对中大型高并发应用的支持在后续的文章中,会逐一介绍上面提到的各个DataRabbit组件,下面给出DataRabbit框架的最新版本dll下载,以及一个非常简单的ORM示例源程序,大家可以仿这段程序尝试一下DataRabbit的ORM功能。资源下载:1.最新版本DataRabbit 4.0下载(内含EntityCreator 和 DataRabbit 完全手册V3.0 以及最新的Demo源码)!(最后上传于 2009.09.15)其它文章:(1)DataRabbit 3.0 ORM性能大幅度提升!(2)DataRabbit 3.0 与 Linq to sql 性能比较 (3)Batch Insert 批插入!(4)实体缓存EntityCache (2008.05.28)可以加入QQ群:37677395 一起探讨DataRabbit