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();
}
posted @   码农阿亮  阅读(2977)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示