目前分页支持单表

public IList<TEntity> GetPaged<TEntity>(out int total, Expression<Func<TEntity, bool>> filter = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null, int index = , int size = ) where TEntity : class
{
int skipCount = (index - ) * size;
var _reset = Get(filter, orderBy);
total = _reset.Count();
_reset = skipCount > ? _reset.Skip(skipCount).Take(size) : _reset.Take(size);
return _reset.ToList();
} public IQueryable<TEntity> Get<TEntity>(Expression<Func<TEntity, bool>> filter = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null) where TEntity : class
{
IQueryable<TEntity> query = dbContext.Set<TEntity>();
if (filter != null)
{
query = query.Where(filter);
}
if (orderBy != null)
{
return orderBy(query).AsQueryable();
}
else
{
return query.AsQueryable();
}
}

使用

 int count;
var a = respository.GetPaged<S_Users>(out count, m => m.LoginName.Contains("a"), q => q.OrderBy(m => m.LastDate),, );

是不是很方便?

如何多个排序条件?

var a = respository.GetPaged<S_Users>(out count, m => m.LoginName.Contains("a"), q => q.OrderBy(m => m.LastDate).ThenByDescending(m=>m.LoginNum),, );

最后跟踪看一下映射出来的SQL是什么样的?

SELECT
[GroupBy1].[A1] AS [C1]
FROM ( SELECT
COUNT([Limit1].[C1]) AS [A1]
FROM ( SELECT TOP () [Project1].[C1] AS [C1]
FROM ( SELECT
AS [C1],
[Extent1].[LastDate] AS [LastDate]
FROM [dbo].[S_Users] AS [Extent1]
WHERE [Extent1].[LoginName] LIKE N'%a%'
) AS [Project1]
ORDER BY [Project1].[LastDate] ASC
) AS [Limit1]
) AS [GroupBy1] SELECT TOP ()
[Extent1].[UserID] AS [UserID],
[Extent1].[LoginName] AS [LoginName],
[Extent1].[Password] AS [Password],
[Extent1].[UserName] AS [UserName],
[Extent1].[UserType] AS [UserType],
[Extent1].[Tel] AS [Tel],
[Extent1].[CreateDate] AS [CreateDate],
[Extent1].[LoginNum] AS [LoginNum],
[Extent1].[LastDate] AS [LastDate],
[Extent1].[ShopID] AS [ShopID]
FROM [dbo].[S_Users] AS [Extent1]
WHERE [Extent1].[LoginName] LIKE N'%a%'
ORDER BY [Extent1].[LoginName] ASC, [Extent1].[LoginNum] DESC

最新文章

  1. 在GridView隐藏字段
  2. as3绕过策略文件给视频截图
  3. Marshal
  4. linux命令合集
  5. mybatis 中#{}与${}的区别 (面试题)
  6. 自我总结(六)---(学习j2ee+j2ee第一阶段项目)
  7. Awesome Deep Vision
  8. C# 执行Cmd窗口中的命令 [复制文件实例]
  9. win10的安装、win10启动盘制作
  10. git使用的常见命令(一)
  11. .a静态库的注意事项
  12. Android应用开发提高篇(1)-----获取本地IP
  13. uva 10671 - Grid Speed(dp)
  14. 小谈JavaScript中this的用法
  15. IOS9.0 之后友盟分享详细过程
  16. python小练习之三---购物车程序
  17. HTTP虚拟主机
  18. mysql 试题总结
  19. LintCode: Identical Binary Tree
  20. L2-013. 红色警报

热门文章

  1. break和continue的区别以及标签label的使用
  2. Maven教程(转载)
  3. zoj The 12th Zhejiang Provincial Collegiate Programming Contest Lunch Time
  4. nyist 506 洗澡
  5. CCF真题之Z字形扫描
  6. struts请求基本类型参数接收
  7. Android bindservice使用
  8. paper 58 :机器视觉学习笔记(1)——OpenCV配置
  9. json和字符串/数组/集合的互相转换の神操作总结
  10. 夺命雷公狗---DEDECMS----6快速入门之总结篇