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

大型网站开发语言框架工具网站实名认证需要什么资料

大型网站开发语言框架工具,网站实名认证需要什么资料,游戏设计需要学什么专业,怎么访问被禁止的网站.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code 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查询语法一定要牢记于心,才能应对后面更为复杂的形势。

💥 SqlSugar 嵌套查询是SQL中一种常用的查询方法,它允许你在一个查询中嵌入另一个查询的结果作为其条件。嵌套查询通常使用 IN , EXISTS ,  ANY/SOME ,和  ALL 这些操作符来实现。

1、嵌套联表 🎀 

1.1 Queryable 和表 JOIN

📢 注意事项:

🔸 mergetable 之前要有 Select

🔸合并成一个表 ( MergeTable 之前不能有 OrderBy )

🔸5.1.3.41版本只有 Where 可以不写 MergeTable

//写法1
var queryable=db.Queryable<Order>();
var list=db.Queryable(queryable).LeftJoin<OrderDetails>((o,d)=>o.id==d.orderid).Select(o=>o).ToList();//写法2
db.Queryable<Order>().Select<Order>()//mergetable之前要有Select.MergeTable()//合并成一个表 (MergeTable之前不能有OrderBy)
.LeftJoin<OrderDetails>((o,d)=>o.id==d.orderid).Select(o=>o).ToList();//5.1.3.41版本只有Where可以不写MergeTable
db.Queryable<Order>().Where(it=>o.id==1)
.LeftJoin<OrderDetails>((o,d)=>o.id==d.orderid).Select(o=>o).ToList();//匿名对象看标题2

1.2 表和Queryable JOIN

var queryableRight = db.Queryable<OrderItem>().Where(x => x.OrderId > 0);
var list=db.Queryable<Order>().LeftJoin(queryableRight,(o,d)=>o.Id == d.OrderId).Select(o=>o).ToList();

1.3 多个Queryable JOIN

新语法:

 var q11 = db.Queryable<Order>().Where(it => it.Id>1);var q22 = db.Queryable<Order>().Where(it => it.Id > 2);var q33 = db.Queryable<Order>().Where(it => it.Id > 3);var list= q11.LeftJoin(q22, (x, y) => x.Id == y.Id).LeftJoin(q33, (x, y, z) => x.Id == z.Id).ToList();

老语法:

最多支持3个 Queryable JOIN 有重载(5.0.6.5支持到4个) F12看重载

var query1 = db.Queryable<Student, School>((st, sc) => new JoinQueryInfos(JoinType.Left,st.SchoolId==sc.Id)).Where(st => st.Name == "jack");var query2 = db.Queryable<DataTestInfo>();db.Queryable(query1, query2,JoinType.Left, (p1, p2) => p1.Id == p2.Int1).Select<ViewModelStudent>().ToList();//SELECT * FROM //    (SELECT          [st].[ID],[st].[SchoolId],[st].[Name],[st].[CreateTime] //                  FROM [STudent] st //                Left JOIN [School] sc ON ([st].[SchoolId]=[sc].[Id] )   //               WHERE ( [st].[Name] = @Name0Join0 ))  p1 ////  LEFT JOIN// (SELECT          [Int1],[Int2],[String],[Decimal1],[Decimal2],//                [Datetime1],[Datetime2],[Image1],[Image2], //               [Guid1],[Guid2],[Money1],[Money2],[Varbinary1],//                  [Varbinary2],[Float1],[Float2] FROM [DataTestInfo] )p2   //     ON ( [p1].[ID] = [p2].[Int1] )

1.4 表和SQL JOIN  

新语法糖  5.0.4.3 preview-05  nuget 勾选允许预览版

 //SqlQueryable就是一个Sql转成Queryablevar list= db.SqlQueryable<Student>("select * from student").Where(it=>it.Id==1).ToPageList(1, 2);//具体用例:db.Queryable<Order>().LeftJoin(db.SqlQueryable<Custom>("select * from Custom"), (o, i) => o.CustomId == i.Id) .Select(o => o).ToList();//SELECT o.* FROM [Order] o Left JOIN (select * from Custom) i ON ( [o].[CustomId] = [i].[Id] )//5.1.3.41支持了反过来用
db.SqlQueryable<Custom>("select * from Custom").LeftJoin...

1.5 表和List<T>对象 JOIN

 var queryable = db.Reportable(List<实体>).ToQueryable();var list= db.Queryable<Order>().InnerJoin(queryable, (x1, x2) => x1.Id == x2.OrderId).Select((x1, x2) => new { name = x1.Name, id = x1.Id, orderid = x2.OrderId }).ToList();

2、匿名类型嵌套联表 🎀

📢 注意事项:

🔸如果有 OrderBy 请写在 MergeTable 后面

🔸合并成新表 MergeTable OrderItem 进行 JOIN 

🔸如果匿名对象在右边 可以把 LeftJoin 换成 RightJoin 变相就实现了


//单个匿名对象JOIN
//注意: 如果有OrderBy请写在MergeTable后面
db.Queryable<Order>().Select(it => new { id = it.Id })//匿名对象.MergeTable()//合并成新表 MergeTable 和 OrderItem 进行JOIN.LeftJoin<OrderItem>((x, y) => x.id == y.ItemId) //最后一个表不能是匿名对象.ToList();//技巧:如果匿名对象在右边  可以把 LeftJoin 换成 RightJoin 变相就实现了 
//多个匿名对象JOIN看下面//多个匿名对象Join 
//注意: 如果有OrderBy请写在MergeTable后面   
db.Queryable<Order>().Select(it => new { id = it.Id })//匿名对象.MergeTable()//合并 .LeftJoin<OrderItem>((x, y) => x.id == y.ItemId) //联表.Select((x, y) => new {xid=x.id,yid=y.ItemId})//在次转成匿名对象.ToList(); //老版本用法
var query1 = db.Queryable<Order, OrderItem>((o, i) => new JoinQueryInfos(JoinType.Left, o.Id == i.OrderId)).Where(o => o.Name == "jack");var query2 = db.Queryable<Custom>()//转成Object.Select<object>(it=>new { id=1});var list3=db.Queryable(query1, query2,JoinType.Left, //query2是匿名对象所以p2.id用字符串实现(p1, p2) => p1.CustomId == SqlFunc.MappingColumn(default(int),"p2.id")).Select<ViewOrder>().ToList();

3、多合一查询 🎀

一般多表查询后 动态使用搜索条件和排序 需要使用 st sc 等前缀,多表合成一后变成了单表查询 所以都不需要加别名了。

📢 注意事项:

🔸 mergetale 之前不能有排序 分页 skip take 操作,之后可以

var pageJoin = db.Queryable<Student, School>((st, sc) => new JoinQueryInfos(JoinType.Left,st.SchoolId==sc.Id)).Select((st,sc) => new{ id = st.Id,name = sc.Name}).MergeTable() //在mergetale之前不能有排序 分页 skip take操作,之后可以.Where(it=>it.id==1).OrderBy("name asc").ToList();
SELECT * FROM (SELECT  [st].[Id] AS [id] , [sc].[Name] AS [name]  FROM [Student] st Left JOIN [School] sc ON ( [st].[SchoolId] = [sc].[Id] )  ) MergeTable--将结果变成一个表  WHERE ( [id] = @id0 )ORDER BY name asc

4、一合一嵌套 🎀

//三种写法结果一样的//写法1:
var subQuery=db.Queryable<Order>().Select(it=>new xxx{....});
var list=db.Queryable(subQuery).ToList();//写法2:
var list=db.Queryable<Order>().SelectMergeTable(it=>new xxx{....}).ToList();//高版本可以用这个(WithTempQuery)//写法3:
var list=db.Queryable<Order>().Select(it=>new xxx{....}).MergeTable().ToList();//也可以分开写

Sql代码如下:


SELECT t.* FROM  (SELECT [Id],[Name],[Price],[CreateTime],[CustomId] FROM [Order] ) t

5、跨库特殊情况 🎀

 QueryableAttr 


db.QuryableWithAttr<T>().LeftJoin<T2>(...).ToList();//切换成库不会改主表名 (leftJoin部分一样的)

 AsWithAttr()  

db.Quryable<T>().AsWithAttr().LeftJoin<T2>(...).ToList();//不是当前库改表名不切换库  (leftJoin部分一样的)

下面一些特别用例要改  AsWithAttr 


var q1=db.Queryable<UnitNClobTest>().AsWithAttr(); 
var q2=db.Queryable<UnitNClobTest>().AsWithAttr(); 
//如果用QuryableWithAttr他们如果有切换库操作 表名也不会变,所以要用AsWithAttr强势变表名
db.UnionAll(q1, q2).ToList();

  .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/598098/

相关文章:

  • 购物网站 功能产品微信网站建设
  • 莱芜四中网站天津网上办事
  • 汕头网站制作找哪里佛山网站制作的公司
  • 网站推广的方法枫子计算机软件工程师证怎么考
  • 网站制作合作仿门户网站源码
  • 酒店管理公司网站建设方案好玩的电脑网页游戏
  • 婚纱摄影网站图片移动app网站模板
  • 做设计去哪个网站找素材深圳市建局官网
  • 论坛开源网站源码仙桃做网站的个人
  • 优秀电商网站设计wordpress配置cdn缓存规则
  • 大连模板建站定制汉沽网站建设公司
  • 一般网站建设方案建站技术知识
  • 红酒网站源码如何让自己做的网站可以播放歌曲
  • 网站建设优化推广安徽网站优化托管方案文库
  • 下载免费网站模板下载安装沈阳网站制作优化
  • 公司建设网站费用做那个科目高唐企业做网站推广
  • 如何让百度抓取网站企业门户网站模板 下载
  • 陕西省工程建设交易服务中心网站建卖手机网站
  • 公司外文网站制作wordpress教程 数据库
  • 温州做网站的公司wordpress打包ios app
  • 网站建设价格方案施工企业汛期应急预案
  • 广东企业网站建设公司phpcms做双语网站
  • 有源码如何做网站襄县网站建设
  • 在本地做的网站怎么修改域名广东建设行业信息网
  • 云购网站开发怎么建立免费的网站
  • 电商企业网站建设的一般要素有哪些6珠海网站制作哪家好
  • 南宁网站设计报价怎么做网站推广方案
  • 网站制作 网站建设电子毕业设计网站建设
  • c网站开发案例详解 pdf宿迁房价下跌最惨小区
  • 建房子找哪个网站设计广东外贸型网站建设