基于dapper的通用泛型分页


1、定义一个用来装载适合所有类的分页结果类

public class PageDataView<T>
{
	 private int _TotalNum;
	 public PageDataView()
	{
		this._Items = new List<T>();
	}
	public int TotalNum
	{
		get { return _TotalNum; }
		set { _TotalNum = value; }
	}
	private IList<T> _Items;
	public IList<T> Items
	{
		get { return _Items; }
		set { _Items = value; }
	}
	public int CurrentPage { get; set; }
	public int TotalPageCount { get; set; }
}

  

PageDataView的Items一个泛型属性,所以可以适合所有的类,简洁而通用。

 

下面是dapper通用万能的泛型分页公共类的使用方法:

public static PageDataView<MSys_Admin> GetList(string name, string loginName, int page,int pageSize=10)
{
	PageCriteria criteria = new PageCriteria();
	criteria.Condition = "1=1";
	if (!string.IsNullOrEmpty(name))
		criteria.Condition += string.Format(" and Name like '%{0}%'", name);
	if (!string.IsNullOrEmpty(loginName))
		criteria.Condition += string.Format(" and LoginName like '%{0}%'", loginName);
	criteria.CurrentPage = page;
	criteria.Fields = "*";
	criteria.PageSize = pageSize;
	criteria.TableName = "Sys_Admin a";
	criteria.PrimaryKey = "UID";
	var r = Common.GetPageData<MSys_Admin>(criteria);
	return r;
}

  参考网址:

 http://www.lanhusoft.com/Article/130.html

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM