SqlSugar学习笔记七——分表查询的几种方式
{
//注意:
//1、 分页有 OrderBy写 SplitTable 后面 ,uinon all后在排序
//2、 Where尽量写到 SplitTable 前面,先过滤在union all
//原理:(sql union sql2) 写SplitTable 后面生成的括号外面,写前生成的在括号里面
DateTime beginDate = DateTime.Now;
DateTime endDate = DateTime.Now.AddYears(2);
var list = db.Queryable<CommoditySubTableYear>().SplitTable(beginDate, endDate).ToList();
}
{
//近3张,也可以表达式选择
var list = db.Queryable<CommoditySubTableYear>().SplitTable(tabs => tabs.Take(3)).ToList();
}
//确定某一个表名查询
{
var name = db.SplitHelper<CommoditySubTableYear>().GetTableName(DateTime.Now.AddYears(3));//根据时间获取表名
var list = db.Queryable<CommoditySubTableYear>().SplitTable(tas => tas.InTableNames(name)).ToList();
}
//表名模糊匹配
{
var list = db.Queryable<CommoditySubTableYear>()
.SplitTable(tas => tas.Where(y => y.TableName.Contains("2019")))//表名包含2019的表
.ToList();
}
本文来自博客园,作者:码农阿亮,转载请注明原文链接:https://www.cnblogs.com/wml-it/p/16464208.html
技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!
开源库地址,欢迎点亮:
GitHub:https://github.com/ITMingliang
Gitee: https://gitee.com/mingliang_it
GitLab: https://gitlab.com/ITMingliang
建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。