查询是操作做多的一个了当然方法也是最多的

还是用代码来说话吧

直接传SQL语句版

IList<RJ.Model.Users> ss = db.ToIList<RJ.Model.Users>("select * from Users where U_Id>2");

RJ.Model.Users user= db.Single("select top 1 * from Users where U_Id=2");

IList
<RJ.Model.Users> ss2 = db.ToIList<RJ.Model.Users>("select * from Users where u_id>@u_id ",new System.Data.SqlClient.SqlParameter("@u_id",2));

当然很多人会反对直接用sql语句 但不可否认大多数的公司都在用这种方法(不算大公司哈 大公司我也没去过不知道) 就算你是只写 "u_id>2"传到BLL DAL中也算

还是说下查询的原理吧 因为我们最关心的还是性能的问题

RJ中所以查询都是以DataReader的方试查询的在转换成IList<RJ.Model.Users>也不是单纯的用的反射因为那样做很慢 而是用的Emit来编写的 了解Emit都知道用了Emit就完全不用考虑性能方面的问题了

当然有的人不想返回对象想返回DataSet 没关系 ToDataSet就行了

查询也有异步方法居体参照之前的随笔就不在这写了

查询当然不能忘了缓存 不管是网站还是什么缓存是最最重要的东西

好了看下RJ是怎么实现缓存的

IList<RJ.Model.Users> ss = db.ToIList<RJ.Model.Users>("select * from Users where U_Id>2",1000);

看很简单吧来看看和之前的差别 只是多了个缓存时间的参数 (单位 秒)

RJ框架更新中~~~~~~~~~~~

posted on 2011-06-18 17:28  [RJ]  阅读(426)  评论(1编辑  收藏  举报