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 @ 2022-07-10 21:58  码农阿亮  阅读(2780)  评论(0编辑  收藏  举报