ServiceStack.OrmLite 笔记10-group having 分页orderby等
group having 分页等
var ev = OrmLiteConfig.DialectProvider.SqlExpression();
group的使用
同sql一样,注意group分组的字段要在select里
ev.Select(c => new { c.Birthday, c.Active }).Where(rn => rn.Birthday >= new DateTime(year, 1, 1) && rn.Birthday <= lastDay).GroupBy(rn => new { rn.Birthday,rn.Active});
having的使用
ev.Select(c => new { c.Birthday, c.Active }).Where(rn => rn.Birthday >= new DateTime(year, 1, 1) && rn.Birthday <= lastDay).GroupBy(rn => new { rn.Birthday, rn.Active }).Having(x=>Sql.Max(x.Rate)>5);
orderby 排序
一升一降 先降后升 ordered by Rate Descending and Name Ascending
ev.Where().OrderBy(rn => new { at = Sql.Desc(rn.Rate), rn.Name })
也可以用这个OrderByDescending
Limit 分页
其实就是skip 然后take
ev.Limit(5); 默认是take 即top 5
ev.Limit(0, 4);// first page, page size=4;
ev.Limit(4, 4);// second page
ev.Limit().OrderBy(); // clear limit, clear orde
ToCountStatement 总数
var expr = db.From<LetterFrequency>() .Join<LetterFrequency, LetterStat>() .Where<LetterStat>(x => x.Id > 0);
var rscount= expr.ToCountStatement();//获取expr表达式结果的总数
ev.SelectDistinct(r => r.City);
ev.Select(r => Sql.As(Sql.Max(r.Birthday), "Birthday")); //列别名Birthday
var r2 = db.Scalar<Author, DateTime>(e => Sql.Max(e.Birthday));Author表 DateTime类型
联接
LeftJoin
db.Column < string > ( db.From < TableA > ()
.LeftJoin < TableB >((a, b) => a.Id == b.Id)
.Where < TableB > (b => b.Id == null)
.Select(a => a.Name));
Join
db.From < TableA > ()
.Join < TableB > ()
.OrderBy(x => x.Id);
CrossJoin
db.From < CrossJoinTableA > ()
.CrossJoin < CrossJoinTableB >()
.OrderBy < CrossJoinTableA >(x => x.Id)
.ThenBy < CrossJoinTableB >(x => x.Id);
调试
db.GetLastSql().Print();
ServiceStack.OrmLite 笔记10-group having 分页orderby等的更多相关文章
- ServiceStack.OrmLite 笔记2 -增
ServiceStack.OrmLite 笔记2 这篇主要介绍 增加 db.Insert(new Employee { Id = 1, Name = "Employee 1" }) ...
- ServiceStack.OrmLite 笔记
ServiceStack.OrmLite 笔记1 ServiceStack.OrmLite 这个东东就是个orm框架,可以实现类似ef的效果.具体的就不这里班门弄斧了. 支持 SqlServerDia ...
- ServiceStack.OrmLite 笔记9 -code first 必须的代码优先
复杂点的使用3 code first的使用,支持复杂类型 public enum PhoneType { Home, Work, Mobile, } public enum AddressType { ...
- ServiceStack.OrmLite 笔记8 -还是有用的姿势
复杂点的使用2 InsertAll, UpdateAll and DeleteAll 的参数要是IEnumerables Each关键字 返回 IEnumerable 并且是延迟加载的 全局设置 当字 ...
- ServiceStack.OrmLite 笔记5 改
修改 db.Update(new Person { Id = 1, FirstName = "Jimi", LastName = "Hendrix", Age ...
- ServiceStack.OrmLite 笔记4 删
删除 db.DeleteAll(); //各种姿势 db.Delete(p => p.Age == 27);// db.Delete(q => q.Where(p => p.Age ...
- ServiceStack.OrmLite 学习笔记7-复杂点的使用1
复杂点的使用1 先看看这2个类 class Customer { public int Id { get; set; } ... } class CustomerAddress { public in ...
- ServiceStack.OrmLite 调用存储过程
最近在做关于ServiceStack.OrmLite调用存储过程时,有问题.发现ServiceStack.OrmLite不能调用存储过程,或者说不能实现我想要的需求.在做分页查询时,我需要传入参数传出 ...
- ServiceStack.OrmLite
ServiceStack.OrmLite 谈谈我的入门级实体框架Loogn.OrmLite 每次看到有新的ORM的时候,我总会留意一下,因为自己也写过一个这样的框架,人总是有比较之心的.我可能会d ...
随机推荐
- drupal 做301跳转(删除url里的www), 关键代码 可用到任何网站
//hook_init(); function ex_init(){ //删除 url 前面的 www if (substr($_SERVER['HTTP_HOST'],0,3) == 'www'){ ...
- jenkins相关
1. jenkins maven tomcat做持续集成的时候几个关键配置:http://my.oschina.net/congqian/blog/112782?fromerr=PmIDbLs5 2. ...
- Delphi 线程同步技术(转)
上次跟大家分享了线程的标准代码,其实在线程的使用中最重要的是线程的同步问题,如果你在使用线程后,发现你的界面经常被卡死,或者无法显示出来,显示混乱,你的使用的变量值老是不按预想的变化,结果往往出乎意料 ...
- Linux字符设备驱动结构(一)--cdev结构体、设备号相关知识机械【转】
本文转载自:http://blog.csdn.net/zqixiao_09/article/details/50839042 一.字符设备基础知识 1.设备驱动分类 linux系统将设备分为3类:字符 ...
- vmdk虚拟机转换为OVF模板,导入esxi
VMware WorkStation安装目录下,有一个OVFTool文件夹,例如我电脑上的路径为:D:\VMware\VMware\OVFTool.通过CMD进入到命令行模式,更改到该目录下,运行如下 ...
- Apache2.2 + php-5.4.45-Win32-VC9-x86 配置
首先要注意一个问题是:网上有很多教程比如: 在Apache配置文件中添加php模块.在apache2\conf\httpd.conf中: LoadModule模块添加行: LoadModule php ...
- hdwiki中插件开发指南
插件就是为了满足个性化需求按照HDWiki插件开发规范编写的可插拔程序,虽然可以直接对HDWiki进行二次开发实现插件同样的功能,但是这样做势必影响到系统的升级和稳定性. 采用插件的方式,可以随时进行 ...
- mysql5.5.x升级到mysql5.6.x
大概步骤是: 把配置文件添加:skip-grant-tables参数,把basedir升级成新版本,启动mysql,执行命令:mysql_upgrade升级一下字典信息,然后flush privile ...
- 杭电1005-Number Sequence
问题描述 A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2) ...
- 3G中的A-GPS移动定位技术
位置业务(LBS,Location Based Service)是指移动网络通过特定的定位技术来获取移动终端的位置信息,从而为终端用户提供附加服务的一种增值业务,可广泛应用于紧急救援.导航追踪.运输调 ...