自已做的框架RJ 第七篇----------------查询篇 上

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

还是用代码来说话吧

直接传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框架更新中~~~~~~~~~~~

你可能感兴趣的:(框架)