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

忻州做网站晒豆网站建设

忻州做网站,晒豆网站建设,高校校园网站建设培训班,住建部城乡建设网站💥 .NET开源 ORM 框架 SqlSugar 系列 🎉🎉🎉 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列…

   💥 .NET开源 ORM 框架 SqlSugar 系列  🎉🎉🎉

  1. 【开篇】.NET开源 ORM 框架 SqlSugar 系列
  2. 【入门必看】.NET开源 ORM 框架 SqlSugar 系列
  3. 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
  4. 【Db First】.NET开源 ORM 框架 SqlSugar 系列
  5. 【Code First】.NET开源 ORM 框架 SqlSugar 系列
  6. 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
  7. 【连接池】.NET开源 ORM 框架 SqlSugar 系列
  8. 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
  9. 【查询基础】.NET开源 ORM 框架 SqlSugar 系列
  10. 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
  11. 【分组去重】.NET开源 ORM 框架 SqlSugar 系列
  12. 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
  13. 【导航查询】.NET开源 ORM 框架 SqlSugar 系列
  14. 【子查询】.NET开源 ORM 框架 SqlSugar 系列
  15. 【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列

💦万丈高楼平地起,做开发想要技术精进,必须要有扎实的基础功底。基础SQL查询语法一定要牢记于心,才能应对后面更为复杂的形势。

1、OrderBy位置

 1.1 Select 前面

var list =db.Queryable<Student>()
.LeftJoin<School>((st, sc) =>st.SchoolId==sc.Id)
.OrderBy((st,sc)=>st.SchoolId)//写Select前面用法,正常都这么用
.Select((st,sc)=>new Dto(){ id=it.id ,Name=it.Name})
.ToList();

 1.2 Select 后面

 💥 区别:特殊用法需要写在 Select 后面比如Select中有计算列

var list =db.Queryable<Student>()
.LeftJoin<School>((st, sc) =>st.SchoolId==sc.Id)
.Select((st,sc)=>new Dto(){ NewNum=st.Num+st.num2,Name=it.Name})
.MergeTable()//需要加上MergeTable对Select后的对象进行排序
.OrderBy(it=>it.NewNum)
.ToList();

2、多列排序

方式1: 逗号隔开id asc ,name desc

方式2: 链式写法Orderby().Orderby()

OrderBy(it=>new {  it.Id, name=SqlFunc.Desc(it.Name) }).ToList();
//id asc ,name desc//也可以多个OrderBy
OrderBy(it=> it.Id).OrderBy(it=> SqlFunc.Desc(it.Name))

3、联表排序

var list = db.Queryable<Student>().LeftJoin<School>((st, sc) =>st.SchoolId==sc.Id)
.OrderBy(st=>st.Id)//升序
.OrderBy((st,sc)=>sc.Id,OrderByType.Desc)//写Select前面,写后面看标题1
.Select<ViewModelStudent>().ToList();
// order by st.id, sc.id desc  多级排序

💥注意:如果存在select一定要扔在select前面,不然 st sc别名拿不到

4、动态排序

 4.1 字符串排序  

💥注意:

  •  OrderByPropertyName 需要实体查询
  •  OrderBy 都可以
//1.Sql字符串,可以防止低级成本注入,支持自定义重写SQL注入验证StaticConfig.Check_FieldFunc重写这个委托方法就可以
var list =db.Queryable<Student>()
.LeftJoin<School>((st, sc) =>st.SchoolId==sc.Id)
.OrderBy("st.id asc,sc.Id desc ") //这种就是填SQL你SQL什么样就是什么样 建议看4.2用法
.Select<ViewModelStudent>().ToList();
//技巧可以通过方法转转拿到真实列名:EntityMaintenance.GetDbColumnName<Order>("Id") 100%防注入//2.属性名排序 ,100%防注入,他会根据类中的名字去验证是否存在,不存在就报错
var list= db.Queryable<Student>().OrderByPropertyName("Id").Toist();//有实体才能用这个,没有实体不能用这个//3.使用合并表排序                       
var list =db.Queryable<Student>()
.LeftJoin<School>((st, sc) =>st.SchoolId==sc.Id)
.Select(it=>new {....})
.MergeTable()
.OrderByPropertyName("Id") //100%防注入,这样的好处可以去掉SQL的别名,适合多表排序
.ToList();

 4.2 集合方式排序

//新功能推荐
List<OrderByModel> orderList = OrderByModel.Create(  
new OrderByModel(){ FieldName="id",OrderByType=OrderByType.Desc},                     
new OrderByModel(){  FieldName="name"} //默认防注入:并且可以用StaticConfig.Check_FieldFunc重写验证机质
);     
var list=db.Queryable<Student>().AS("order").OrderBy(orderList).ToList();    //技巧:获取类中字段名FieldName=db.EntityMaintenance.GetDbColumnName<Order>("Id");//100%防注入

 4.3 多表去别名

var pageJoin = db.Queryable<Student>().LeftJoin<School>((st, sc) =>st.SchoolId==sc.Id).Select((st, sc) => new {id = st.Id,name = sc.Name})
.MergeTable()//将查询结果集变成表MergeTable
.Where(it => it.id == 1).OrderBy("name asc").ToList();//对表MergeTable进行排序

生成的Sql相当于

select *  
from (select st.id as id,sc.name as name from xx join xx on ... ) MergeTable  --多表已经变成了单表where id=@idorder by ("name asc")

所以单条查询是不需要加前缀的,上面的例子把多表转成了单表操作

5、随机排序取10条

db.Queryable<Student>().Take(10).OrderBy(st=>SqlFunc.GetRandom()).ToList(); //随机获取数据

6、OrderByIF

OrderByIF(IsOrderBy, it=>it.Id) //当条件IsOrderBy成立.OrderBy才生效

7、ThenBy 

💥注意:SqlSugar中没有ThenBy 直接写2次OrderBy就行了

8、取最新10条

db.Queryable<Student>().Take(10).OrderBy(st=>SqlFunc.Desc(it.CreateTime)).ToList(); //order by createtime desc//也可以用这个重载
.OrderBy(it=>it.CreateTime,OrderByType.Desc)

   💥 .NET开源 ORM 框架 SqlSugar 系列  🎉🎉🎉

  1. 【开篇】.NET开源 ORM 框架 SqlSugar 系列
  2. 【入门必看】.NET开源 ORM 框架 SqlSugar 系列
  3. 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
  4. 【Db First】.NET开源 ORM 框架 SqlSugar 系列
  5. 【Code First】.NET开源 ORM 框架 SqlSugar 系列
  6. 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
  7. 【连接池】.NET开源 ORM 框架 SqlSugar 系列
  8. 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
  9. 【查询基础】.NET开源 ORM 框架 SqlSugar 系列
  10. 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
  11. 【分组去重】.NET开源 ORM 框架 SqlSugar 系列
  12. 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
  13. 【导航查询】.NET开源 ORM 框架 SqlSugar 系列
  14. 【子查询】.NET开源 ORM 框架 SqlSugar 系列
  15. 【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列

 

http://www.yayakq.cn/news/337149/

相关文章:

  • 上海网站建设哪家便宜安徽六安属于南方还是北方
  • 网站seo快速排名优化的软件影业的网站怎么做
  • h5开发app北京优化互联网公司
  • 建设隔热网站做网站 徐州
  • 电子商务网站建设的核心是电脑配件网站建设
  • 东莞微网站建设费用华为开发平台
  • 杭州网络营销网站保定企业免费建站
  • 网站代码上传后无法打开电商网站首页模板
  • 网站建设公司营业执照常州网站开发公司
  • 泉州做企业网站oa办公系统如何使用
  • 荣成城乡建设局网站济南网站优化seo
  • 怎么办一个网站wordpress不登陆不能看内容
  • 网站建设的常见问题合肥专门做网站的公司有哪些
  • 工信部网站备案的需要幕布铝合金做网站
  • 有哪些网站可以免费发布广告网站维护与建设内容
  • 如何做论坛网站中疾控发布全国新冠感染情况
  • 二级网站建设要求自动化优化系统网站建设
  • 手机百度关键词排名 seo网站优化软件怎么注册微信公众号
  • 百度指数官方网站简约风ppt模板免费
  • 怎么查询技术支持公司做的网站企业网站导航下拉菜单怎么做
  • 网站开发php还是jsp湛江模板建站定制网站
  • 黑龙seo网站优化如何创建个人网站模板
  • 怎么用微信官方网站做二维码设计公司网站建设
  • 巢湖网站建设立即注册
  • wordpress导航网站模板下载猪八戒网怎么做网站
  • 网站进入沙盒的表现wordpress打开速度慢解决办法
  • 二手房网站建设及推广方案软件工程的八个步骤
  • 电商个人网站建设平面设计广告作品
  • 摄影工作室网站源码软文代写费用
  • 织梦网站如何做二级导航栏网站备案号显示红色