{
//注意:
//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();
}
SqlSugar学习笔记七——分表查询的几种方式
最新推荐文章于 2025-11-24 01:56:28 发布
本文介绍如何使用LINQ和SplitTable方法进行高效的时间区间查询、特定表名选择,以及模糊表名匹配,展示了SQL查询策略优化的实践技巧。
2427

被折叠的 条评论
为什么被折叠?



