当前位置: 首页 > news >正文

河北省网站快速备案网站排名总是不稳定

河北省网站快速备案,网站排名总是不稳定,网站建设公司选择哪家好,网站开发合同范本一、自动分表#xff08;高版本可用#xff09; 特性写法 //假如是按月分表#xff1a;[Table(Name log_{yyyyMM}, AsTable createtime2022-1-1(1 month))]注意#xff1a;①需包含log_202201这张表 ②递增规律是一个月一次#xff0c;确保他们…一、自动分表高版本可用 特性写法 //假如是按月分表[Table(Name log_{yyyyMM}, AsTable createtime2022-1-1(1 month))]注意①需包含log_202201这张表 ②递增规律是一个月一次确保他们存在。 ③确保有字段createtime。[Table(Name Teacher_{yyyy}, AsTable time2023-1-1(1 year))]public class Teacher{[Column(IsPrimary true)]public int id { get; set; }public DateTime time { get; set; }} 程序写法附上生成的SQL static void Main(string[] args) {//-----------------------01查全表---------------------------var list1 freesql.SelectTeacher().ToList();var sql freesql.SelectTeacher().ToSql();/*SELECT * from (SELECT a.[id], a.[time] FROM [Teacher_2024] a) ftbUNION ALLSELECT * from (SELECT a.[id], a.[time] FROM [Teacher_2023] a) ftb *///-----------------------02跨时间查表---------------------------//var start new DateTime(2023, 12, 31);//var end new DateTime(2024, 1, 2);var sql2 freesql.SelectTeacher().Where(x x.time.Between(DateTime.Parse(2023-12-31), DateTime.Parse(2024-01-02)))//时间写法1//.Where(x x.time.Between(start,end))//时间写法2//.Where(x x.timestart x.timeend)//时间写法3.ToSql();var list2 freesql.SelectTeacher().Where(x x.time.Between(DateTime.Parse(2023-12-31), DateTime.Parse(2024-01-02))).ToList();/*SELECT * from (SELECT a.[id], a.[time] FROM [Teacher_2024] a WHERE (a.[time] between 2023-12-31 00:00:00.000 and 2024-01-02 00:00:00.000)) ftbUNION ALLSELECT * from (SELECT a.[id], a.[time] FROM [Teacher_2023] a WHERE (a.[time] between 2023-12-31 00:00:00.000 and 2024-01-02 00:00:00.000)) ftb*///-----------------------03不跨时间查表---------------------------var list3 freesql.SelectTeacher().Where(x x.time.Between(DateTime.Parse(2024-1-1), DateTime.Parse(2024-01-02))).ToList();var sql3 freesql.SelectTeacher().Where(x x.time.Between(DateTime.Parse(2024-1-1), DateTime.Parse(2024-01-02))).ToSql();/*SELECT a.[id], a.[time] FROM [Teacher_2024] a WHERE (a.[time] between 2024-01-01 00:00:00.000 and 2024-01-02 00:00:00.000)*/ } 二、手动分表 1.静态映射类型简单 //01 配置分表表名 映射实体 查询框架 var tablenamelist new Liststring { Student_2023, Student_2024 }; var unionSelect fsql.QueryableStudentAll(); var querySelect1 fsql.QueryableStudentAll(); var querySelect2 fsql.QueryableStudentAll();//02 Union连接分表 foreach (var tableName in tablenamelist) {bool isExistTable fsql.DbFirst.GetTableByName(tableName) ! null;if (isExistTable)//存在该表则union all{unionSelect.AsTable((type, oldname) tableName);//不要在遍历循环内部这里用where筛选因为遍历多少次就会加上where多少次sql效率低 } }//03 编写sql条件 string cte unionSelect.Where(x x.Age.Equals(25))//这里不写cte直接把where写到下面去也可以.ToSql();//所有分表都会加上这个条件//04 查表且映射到实体 var allList querySelect1.WithSql(cte).ToList();//SELECT * FROM CTEvar pageList querySelect2.WithSql(cte).Page(1, 20).Count(out var counts).ToList();//SELECT TOP 20 * FROM CTE cte处生成的sql是下同 SELECT * FROM Student_2023 WHERE Age 25 UNION ALL SELECT * FROM Student_2024 WHERE Age 25注意三个select不能合并否则会导致重复查询下同 unionSelect 用于构建跨表的联合查询并且没有执行查询。querySelect1 用于获取符合条件的全部数据。querySelect2 用于分页查询并获取指定页面的数据。 2.动态映射类型 要注意先筛查后联表因此需要加上where语句小表union小表才更快而不是联合成大表后再筛选 //01 配置分表表名 映射实体 查询框架 var tablenamelist new Liststring { Student_2023, Student_2024 }; var entity typeof(StudentAll); var unionSelect fsql.Queryableobject(); var querySelect1 fsql.Queryableobject(); var querySelect2 fsql.Queryableobject();//02 Union连接分表 foreach (var tableName in tablenamelist) {bool isExistTable fsql.DbFirst.GetTableByName(tableName) ! null;if (isExistTable)//存在该表则union all{unionSelect.AsType(entity).AsTable((type, oldname) tableName);//不要在遍历循环内部这里用where筛选因为遍历多少次就会加上where多少次sql效率低 } }//03 编写sql条件 string cte unionSelect.Where(x (x as StudentAll).Age.Equals(25))//注意此处的StudentAll必须是映射实体或其父类.ToSql();//所有分表都会加上这个条件//04 查表且映射到实体 var allList querySelect1.AsType(entity).WithSql(cte).ToList().OfTypeStudentAll().ToList();//SELECT * FROM CTEvar pageList querySelect2.AsType(entity).WithSql(cte).Page(1, 20).Count(out var counts).ToList().OfTypeStudentAll().ToList();//SELECT TOP 20 * FROM CTE 注意以下两种写法输出结果是一致的 Listobject data1 freesql.Selectobject().AsType(type).WithSql(sql).ToList(); ISelectobject data2 freesql.Selectobject().WithSql(sql);ListStudent result1 data1.OfTypeStudent().ToList();//两者输出是一致的 ListStudent result2 data2.ToListStudent();//两者输出是一致的
http://www.hkea.cn/news/14264938/

相关文章:

  • 国内oa系统十大排名网站 优化 关键字
  • 哪里有免费网站空间申请最有前景的代理产品
  • 网站设计大概价格wordpress头像自定义
  • 网站建设与维护课件比较好用的网站
  • 查网站跳出率免费文档模板素材网站
  • 一个网站建设需要多少钱wordpress for ipad
  • 马尔康网站建设win7 iis配置网站 视频教程
  • 网站服务器到期查询江门网站建设junke100
  • 山东省建设备案网站审批表国内网站制作公司排名
  • 人事处网站开发文献综述哪个网站平面设计做的好
  • youshe wordpress主题织梦网站如何做seo
  • 江门网站推广多少钱网页游戏排行榜前十名2023
  • 全站flash网站seo是指
  • 木木科技 网站艰涩网站架构设计师待遇怎么样
  • 制作一个网站需要多少小时那个网站是响应式的
  • 网站建设实训分析总结完美一键优化
  • 网站编辑面试京东上怎样做网站
  • 微信网站主题几百块钱建网站
  • dede网站暂时关闭青岛互联网企业
  • 深圳专业网站建设要求如何备份网站 整站
  • 办个网站需要多少钱山东枣庄滕州网站建设
  • 网站设计模版免费下载mvc 网站 只列出目录
  • 马蜂窝网站做的重点大理网站制作公司
  • 淄博网站建设推广优化科技自主自强国家发展战略
  • 如何做融资网站前程无忧招聘网下载app官网
  • 大场网站建设源码下载网站源码
  • 漯河做网站的公司电子商务推荐类网站建设的目的
  • 网站设计报告模板及范文深圳网站制作公司建设
  • 网站建设站百度关键词刷排名教程
  • 深圳网站设计深圳设计公司芗城网站建设公司