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

手机网站适应屏幕宁夏网站建设价格

手机网站适应屏幕,宁夏网站建设价格,黄山seo推广,景观设计公司排行榜.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 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务】.NET开源 ORM 框架 SqlSugar 系列【连接池】.NET开源 ORM 框架 SqlSugar 系列【查询目录】.NET开源 ORM 框架 SqlSugar 系列【查询基础】.NET开源 ORM 框架 SqlSugar 系列【排序用法】.NET开源 ORM 框架 SqlSugar 系列【分组去重】.NET开源 ORM 框架 SqlSugar 系列【联表查询】.NET开源 ORM 框架 SqlSugar 系列【导航查询】.NET开源 ORM 框架 SqlSugar 系列【子查询】.NET开源 ORM 框架 SqlSugar 系列【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列 万丈高楼平地起做开发想要技术精进必须要有扎实的基础功底。基础SQL查询语法一定要牢记于心才能应对后面更为复杂的形势。 SqlSugar 在子查询上支持是非常强大比如 子查询进行联表、IN、NOT IN 和 SELECT 一列等 。 1、基础教程  1.1 API目录 /***只查一列***/ //First: select top 1 id SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Select(s s.Id) //max例1: SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Max(s s.Id) //max例2: SqlFunc.SubqueryableSchool()..Where(ss.Idst.Id).Select(sSqlFunc.AggregateMax(s.Id)) //min: SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Min(s s.Id) //avg: SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Avg(s s.Id) //count: SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Count() //sum: SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Sum(s s.num) //去重后汇总数量 SqlFunc.SubqueryableSchool().Where(s z.Id st.Id).Select(sSqlFunc.AggregateDistinctCount(s.Name)) //逗号分割列 SqlFunc.SubqueryableOrder().Where(zz.Idit.Id).SelectStringJoin(z z.Name, ,) //完整用例看标题8/***返回List或者实体***/ 新功能5.1.3.36 //SqlFunc.SubqueryableCustom().Where(c c.Id it.CustomId).ToList() //SqlFunc.SubqueryableCustom().Where(c c.Id it.CustomId).ToList(itnew Class(){ Nameit.Name}) //更多看标题4/***返回单个实体***/ //SqlFunc.SubqueryableCustom().Where(c c.Id it.CustomId).First() //更多看标题9/***IN、Not in、Exists、Not Exists***/ //看标题2 1.2 where 中使用 var getAll db.QueryableStudent, School((st, sc) new JoinQueryInfos(JoinType.Left,st.Idsc.Id) ) .Where(st st.Id SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Select(s s.Id)) .ToList();/*生成的MYSQL语句如果是SqlServer就是TOP 1 SELECT st.ID,st.SchoolId,st.Name,st.CreateTime FROM STudent st Left JOIN School sc ON ( st.ID sc.Id ) WHERE ( st.ID (SELECT Id FROM School WHERE ( Id st.ID ) limit 0,1)) */ 1.3 在 select 中使用 2、IN和NOT IN的操作  2.1 Exists  Exists 和 in 区别在于 Exists 扩展性更强支持多个字段 简单的说 In 能实现的 Exists 都能实现 //等同于IN var getAll7 db.QueryableStudent() .Where(it SqlFunc.SubqueryableSchool().Where(s s.Idit.Id).Any()).ToList();/*生成的SQL(等于同于it.id in(select id from school)只是写法不一样 SELECT ID,SchoolId,Name,CreateTime FROM STudent it WHERE (EXISTS ( SELECT * FROM School WHERE ( Id it.ID ) )) *///等同于NOT IN var getAll8 db.QueryableStudent().Where(it SqlFunc.SubqueryableSchool().Where(s s.Id it.Id).NotAny()).ToList();/*生成的SQL SELECT ID,SchoolId,Name,CreateTime FROM STudent it WHERE (NOT EXISTS ( SELECT * FROM School WHERE ( Id it.ID ) )) *///搜索关键词exits 2.2 In 和 Not In (5.0.7.5)   在有 GroupBy 的情况下自动转成  in  db.QueryableOrder() .Where(itit.IdSqlFunc.SubqueryableCustom().GroupBy(zz.OrderId).Select(zz.OrderId)).ToList()//Sql //SELECT [Id],[Name] FROM [Order] // WHERE [Id] in ((SELECT [OrderId] FROM [Custom] GROUP BY [OrderId])) 2.3 分页In db.QueryableOrder().In(itit.Id,db.QueryableOrder().Skip(1).Take(100).Select(itit.Id)).ToList(); 3、子查询中使用Sql  最新版本才支持 string sql (select top 1 id from [Order] ) ;var list db.QueryableOrder().Select(it new{nameit.Name,customName SqlFunc.MappingColumnstring(sql)//老版本MappingColumn(default(string),sql) }).ToList();//如果存在SQL拼接将SQL提取到外面在传进来有些VS拼接会有问题 Sql代码如下: SELECT [Name] AS [name] , (select top 1 id from [Order] ) AS [customName] FROM [Order] 4、ToList()集合对象  方式1简单方式(5.1.3.38) 直接在 Select 中进行 ToList  , 性能:   大于循环数倍  大部分情况性能小于ThenMapper方式和导航 写法简单性能也说的过去 //请升级到 5.1.3.36 db.QueryableOrder().Select(it new{CustomId it.CustomId,OrderId it.Id,OrderName it.Name,CustomList SqlFunc.SubqueryableCustom().Where(c c.Id it.CustomId).ToList()}).ToList();//也可以DTOSqlFunc.SubqueryableCustom().Where(c c.Id it.CustomId).ToList(c new Class(){ Namec.Name}) //转成DTO//注意where ToList里面 c 的别名要一致//只查Liststring这种集合 SqlFunc.SubqueryableCustom().Where(c c.Id it.CustomId).ToList(cc.Name)//最新版本//自动DTO 5.1.4.70 SqlFunc.SubqueryableCustom().Where(c c.Id it.CustomId).ToListDTO() SqlFunc.SubqueryableCustom().Where(c c.Id it.CustomId).ToList(itnew DTO(){},true);//和Queryable类似 方式2性能、功能、跨库 该功能在同类框架中性能比较好不会生成垃圾SQL  在现有结果进行一对多操作 var treeRootdb.QueryableTree().ToList();//可以联表查询只要返回List中有关联字段就可以//填充子对象 //原理 数据库一次读取 In (list[0].id,list[1].id,list[2].id...) 内存分配到对应Child //所以无论集合多少条记录 ThenMapper 只会操作一次库 db.ThenMapper(treeRoot, item { //用例1简单填充 //参数解释子表的ParentId和主表的Id 进行关联查询有Select写到SetContext前面//可以额外加Where写SetContext前面但是不能带有item对象,item要写SetContext里面item.Child db.QueryableTree().SetContext(x x.ParentId, () item.Id, item).ToList();//用例2可以多属性//item.Childxxxx//item.Parentxxxx//用例3类型转换类转成DTO 注意Select中的关联字段要赋值//item.Child db.QueryableTree()// .Select(itnew ViewTree(){ParentIdx.ParentId,Idi.Id,Nameit.Name }) // .SetContext(x x.ParentId, () item.Id, item).ToList();//用例4联表填充//item.Childdb.QueryableTree()//.LeftJoinTree((i,y)i.ParentIdy.Id)//.Select((i,y)new viewmodel(){ Parentidi.Parentid..........})//.SetContext(x x.ParentId, () item.Id, item).ToList();});//异步 var treeRootawait db.QueryableTree().ToListAsync(); await db.ThenMapperAsync(treeRoot, async item { //给集合赋值 参数解释 子表的ParentId和主表的Id 进行关联查询item.Child await db.QueryableTree().SetContextAsync(xx.ParentId,()item.Id, item); });//无限层级 var treeRootdb.QueryableTree().Where(it it.Id 1).ToList(); //第一层 db.ThenMapper(treeRoot, item {item.Child db.QueryableTree().SetContext(x x.ParentId, () item.Id, item).ToList(); }); //第二层 db.ThenMapper(treeRoot.SelectMany(itit.Child), it {it.Child db.QueryableTree().SetContext(x x.ParentId, () it.Id, it).ToList(); });//跨库 var mydbdb.GetConnection(1); mydb.ThenMapper(root,item{...}); 方式3导航方式 这种已经不属于子查询了属于另一个查询体系。 5、子查询在Join  5.0.5.4 var list db.QueryableOrder().Where(it SqlFunc.SubqueryableA() .LeftJoinB((i,y)i.ItemIdy.ItemId).InnerJoinC((i,y,z) i.ItemId z.ItemId).Where((i,y,z)i.ItemIdit.Aid).Any()).ToList(); //新版本支持了Subquery.join使用 WhereT1,T2((x,y) x.idy.id) 6、子查询使用别名  如果点不出 AS 请升级 SqlFunc.SubqueryableA().AS(A01) //这样查询的就是 A01表 7、字符串拼接 5.1.1-preview14 逗号拼接 //sqlerver : FOR XML PATH//mysql sqlite : group_concat//oracle : listagg//pgsql :string_aggvar list db.QueryableOrder().Select(it new{ //names名字1,名字2,名字3namesSqlFunc.Subqueryablecustom().Where(zz.oidit.id).SelectStringJoin(z z.Name, ,)}).ToList();//多字段 不能有null相加 , 字段有null需要加上 z.Name?? .SelectStringJoin(z SqlFunc.MergeString(z.Name,-,z.Id.ToString()), ,)//去重复 .SelectStringJoin(itSqlFunc.MappingColumnstring($distinct {it.UserId}),.) 8、只查一列 top 1 //First:select top 1 id SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Select(s s.Id) //max例1: SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Max(s s.Id) //max例2: SqlFunc.SubqueryableSchool().Where(ss.Idst.Id).Select(sSqlFunc.AggregateMax(s.Id)) //min: SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Min(s s.Id) //avg: SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Avg(s s.Id) //count: SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Count() //sum: SqlFunc.SubqueryableSchool().Where(s s.Id st.Id).Sum(s s.num) //去重后汇总数量 SqlFunc.SubqueryableSchool().Where(s z.Id st.Id).Select(sSqlFunc.AggregateDistinctCount(s.Name)) //逗号分割列 SqlFunc.SubqueryableOrder().Where(zz.Idit.Id).SelectStringJoin(z z.Name, ,)//用例 Select(itnew{ idit.id,schoolnameSqlFunc.SubqueryableSchool().Where(ss.Idit.ShoolId).Select(ss.Name) //对应的Sql: //schoolname(SELECT Name FROM School s WHERE (s.Idit.ShoolId)limit 0,1)})//如果要查整个对象看标题9 9、子查询 First()整个对象 //需要升级5.1.4.59 var list db.QueryableOrder().Select(it new{CustomId it.CustomId,OrderId it.Id,OrderName it.Name,CustomList SqlFunc.SubqueryableCustom().Where(c c.Id it.CustomId).First()}).ToList(); //可以转DTO SqlFunc.SubqueryableCustom().Where(c c.Id it.CustomId).First(cnew xxx(){ yyc.id })//如果只查一个字段标题8 .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 系列【连接池】.NET开源 ORM 框架 SqlSugar 系列【查询目录】.NET开源 ORM 框架 SqlSugar 系列【查询基础】.NET开源 ORM 框架 SqlSugar 系列【排序用法】.NET开源 ORM 框架 SqlSugar 系列【分组去重】.NET开源 ORM 框架 SqlSugar 系列【联表查询】.NET开源 ORM 框架 SqlSugar 系列【导航查询】.NET开源 ORM 框架 SqlSugar 系列【子查询】.NET开源 ORM 框架 SqlSugar 系列【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列
http://www.dnsts.com.cn/news/30648.html

相关文章:

  • 网站建设网上接单seo排名推广工具
  • 企业网站的建设包括哪些江门网站开发公司
  • 做短视频网站好公司简介制作
  • 淮安淮阴网站建设汽车之家app下载
  • 国内专业网站设计如何做公司网站优化
  • 杭州建站软件请人做网站要注意什么
  • 切图做网站过时了吗公司页面图片
  • 医疗网站模版旅游网站建设背景
  • 企业网站网页静态网站更新
  • 建国外网站买完域名后怎么做门户网站开发软件
  • 无锡企业网站制作网站申请微信登录
  • 购物网站要求pageadmin仿站教程
  • 网站设计怎么做ppt答辩旅游小程序哪家做得好
  • 麦壳云网站建设微信营销管理软件
  • Net网站开发招聘嘉兴企业网站建设公司
  • wordpress个人博客模板下载搜索引擎优化网站排名
  • 网站建设游戏教育培训机构有关的网站
  • 网站设计登录界面怎么做商城类网站主要分为哪些模块
  • 自己做网站难不难本地最新招聘信息
  • 建设网站制免费制作视频的软件有哪些
  • 动态ip建网站昆明好seo怎么做
  • 婚纱网站页面设计广告制作公司名字
  • 关于seo网站优化公司区域网站设计
  • wordpress 下载模板站wordpress 国内 慢
  • 做刷单哪个网站找小白seo网站关键词优化报价
  • 即墨做网站的高端html5网站建设织梦模板
  • wordpress外贸网站模板图片幻灯片插件 wordpress
  • 网站的工作简报怎么做西安加盟代理网站建设
  • c 转网站开发建站房的公司
  • c php做网站对比曲阳网站建设