随笔分类 -  04. DataRabbit 我的ORM

DataRabbit支持基于关系(Relation)的数据库操作和基于ORM的数据库操作,内置了SqlServer2000/2005/2008的支持,并且可以通过插件的方式对其它数据库类型提供支持。
摘要:在高并发的系统中,我们常采用多数据库分散放置、读写分离、细粒度的隔离级别设定等策略来提高系统的性能。DataRabbit3.3 以及以上版本对这三种策略都给予了内置的支持。 阅读全文
posted @ 2009-04-28 10:18 zhuweisky 阅读(6168) 评论(9) 推荐(0) 编辑
摘要:正如ORM名称所指示的,实现ORM的关键点在于解决“对象--关系”之间的映射,例如,如何将一个DataRow转换为一个Entity Object,又如何将一个对某Entity Object的操作映射到一个IDbCommand,等等。我们以DataRabbit为例,在DataRabbit中,使用IO... 阅读全文
posted @ 2008-12-24 10:46 zhuweisky 阅读(6358) 评论(6) 推荐(0) 编辑
摘要:《DataRabbit 完全手册V1.0》是依据当前最新版本DataRabbit3.2进行阐述的完整使用手册。 阅读全文
posted @ 2008-12-03 11:24 zhuweisky 阅读(3069) 评论(8) 推荐(0) 编辑
摘要:记录执行失败的SQL语句和对应的参数值,对于我们分析异常产生的原因是十分有用的,而DataRabbit可以自动为你记录了这些信息。 阅读全文
posted @ 2008-11-19 16:05 zhuweisky 阅读(2906) 评论(2) 推荐(1) 编辑
摘要:增加了对SqlServer2005/2008的新的数据类型的支持,内核基本没有改变。 阅读全文
posted @ 2008-10-23 15:45 zhuweisky 阅读(1613) 评论(8) 推荐(0) 编辑
摘要:可以有非常多的方式来使用DataRabbit,而本文详细说明在三层架构中使用DataRabbit的最佳实践。 阅读全文
posted @ 2008-10-13 17:00 zhuweisky 阅读(4358) 评论(8) 推荐(1) 编辑
摘要:在DataRabbit3.0中,当大批量数据插入时,相比于循环调用单个Insert,一次调用BatchInsert,性能将提升24倍之多! 阅读全文
posted @ 2007-08-13 11:35 zhuweisky 阅读(3886) 评论(11) 推荐(0) 编辑
摘要:今天装好了VS2008 Beta2,就迫不及待地试用一下Linq中的ORM功能,在初步尝试后,发现Linq中的ORM还是非常不错的,通过反射查看System.Data.Linq.dll发现,Linq中的ORM是使用反射完成了OR的映射工作,基于此,我开始有点怀疑Linq中的ORM的性能问题。 阅读全文
posted @ 2007-08-03 16:39 zhuweisky 阅读(5580) 评论(14) 推荐(0) 编辑
摘要:DataRabbit 3.0重写了DataRabbit 2.0的ORM实现的内核,性能提升了90倍左右。 阅读全文
posted @ 2007-07-28 10:14 zhuweisky 阅读(5797) 评论(18) 推荐(1) 编辑
摘要:一个概念只有将其放到一个具体的上下文中,其含义和作用才会清晰、明确。脱离了上下文,概念就失去了其价值和生命力。所以,学习使用任何技术或概念的时候,有一件事情是非常重要的,那就是透彻地理解该技术概念所位于的上下文,这将有助于我们更好地使用和驾驭这个技术。在ORM流行的今天,数据访问框架层出不穷,但是这些框架所基于的上下文几乎都会有些不一样,要想将一个数据访问框架运用得炉火纯青,必须要掌握该框架所基于的上下文。同理,如果你想发挥DataRabbit框架的巨大威力,在之前,你绝对有必要了解一下DataRbbit的上下文。 阅读全文
posted @ 2007-04-16 13:53 zhuweisky 阅读(5901) 评论(3) 推荐(0) 编辑
摘要:DataRabbit框架提供了对单表查询的结果进行分页的功能,这就是IPagerManager所完成的目标。 阅读全文
posted @ 2007-03-22 11:04 zhuweisky 阅读(3429) 评论(4) 推荐(0) 编辑
摘要:本文介绍如何使用DataRabbit框架中的IDataSchemaOperator来访问和操作数据表的大纲 阅读全文
posted @ 2007-03-22 10:30 zhuweisky 阅读(3235) 评论(2) 推荐(0) 编辑
摘要: TransactionScope,表示一个事务的范围,我们可以从TransactionScope中获取前述的所有访问器实例,并且从中获取的访问器都是基于事务的(访问器的生命期将随事务的结束而结束)。 阅读全文
posted @ 2007-03-21 16:32 zhuweisky 阅读(4335) 评论(12) 推荐(0) 编辑
摘要:虽然IRelationAccesser可以调用一些不含out参数的存储过程,但是在DataRabbit中调用存储过程最好是通过ISPAccesser接口来进行。 阅读全文
posted @ 2007-03-21 14:17 zhuweisky 阅读(3552) 评论(4) 推荐(0) 编辑
摘要:前面介绍的IOrmAccesser是对单表进行ORM访问,而ITableAccesser是对单表进行基于关系的访问,如果我们要进行联合查询这样的跨表搜索,则使用它们就无法达成目标。这时,你可以使用IRelationAccesser。 阅读全文
posted @ 2007-03-21 13:54 zhuweisky 阅读(3566) 评论(3) 推荐(2) 编辑
摘要:ORM并不能完成所有的事情,有些数据库访问还是需要基于关系来进行,对于那些不提供基于关系进行数据访问操作的纯ORM框架,我认为其决策是不明智的。 阅读全文
posted @ 2007-03-21 11:26 zhuweisky 阅读(3715) 评论(2) 推荐(1) 编辑
摘要:IEntityRelationLoader是通过数据表的主外键关系来加载当前Entity的Parent和Children、Offspring等。 阅读全文
posted @ 2007-03-21 09:56 zhuweisky 阅读(3457) 评论(4) 推荐(0) 编辑
摘要:如果Entity class 继承了ISmartEntity接口,那么这个Entity就是一个“Smart”的Entity,IOrmAccesser针对这样的Entity,它将拥有两种特殊的能力。 阅读全文
posted @ 2007-03-20 11:25 zhuweisky 阅读(3635) 评论(4) 推荐(0) 编辑
摘要:在DataRabbit框架中,通过IOrmAccesser来对数据库进行ORM访问。 阅读全文
posted @ 2007-03-20 10:58 zhuweisky 阅读(4876) 评论(8) 推荐(0) 编辑
摘要:所有的访问器接口都继承了ITransactionAccesser接口。ITransactionAccesser的含义在于:访问器对象即可以工作于一个事务(Transaction)上下文中,也可以在脱离事务的环境中工作。 阅读全文
posted @ 2007-03-20 09:15 zhuweisky 阅读(4022) 评论(5) 推荐(0) 编辑