查询是操作做多的一个了当然方法也是最多的
还是用代码来说话吧
直接传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);
看很简单吧来看看和之前的差别 只是多了个缓存时间的参数 (单位 秒)
完