tnblog
首页
视频
资源
登录

多表分组,排序,混合查询的linq,lamdba语句

5772人阅读 2019/10/23 19:11 总访问:400305 评论:0 收藏:0 手机
分类: Mvc EF框架

多表分组,排序,混合查询

例如:显示每个人的父亲,对应的分数,考试的科数

linq语句

  1. var query=from u in oae.users
  2. join p in oae.User_Parent on u.Id equals p.UserId into
  3. upjointemp from leftjoin in upjointemp.DefaultFEpty() //left join 语句
  4. join s in oae.User_score on u.Id equals s.UserId
  5. select new
  6. {
  7. UserName=u.UserName,
  8. Father=leftjoin.Father,
  9. Score=s.score
  10. } into jointemp
  11. group jointemp by new {jointemp.UserName,jointemp.Father}
  12. into a
  13. slect new AllScoreModel
  14. {
  15. UserName=a.key.UserName,
  16. Father=a.key.Father ?? "无",
  17. Count=a.Count(),
  18. max=a.Max(b=>b.score),
  19. min=a.Min(b=>b.score),
  20. sum=a.Sum(b=>b.score),
  21. avg=a.Average(b=>b.score)
  22. }
  23. List<AllScoreModel> result=query.ToList();
  24. //lamdba
  25.             var query2 = oae.Users.GroupJoin(oae.User_Parent, a => a.Id, b => b.UserId, (a, b) => new
  26.             {
  27.                 user = a,
  28.                 parent = b
  29.             }).SelectMany(a => a.parent.DefaultIfEmpty(), (a, b) => new
  30.             {
  31.                 uid = a.user.Id,
  32.                 UserName = a.user.UserName,
  33.                 Father = b.Father
  34.             }).Join(oae.User_Score, a => a.uid, b => b.UserId, (a, b) => new
  35.             {
  36.                 UserName = a.UserName,
  37.                 Father = a.Father,
  38.                 score = b.Score
  39.             }).GroupBy(a => new { a.UserName, a.Father}).Select(a => new AllScoreModel
  40.             {
  41.                 UserName = a.Key.UserName,
  42.                 Father = a.Key.Father ?? "无父",
  43.                 Count = a.Count(),
  44.                 max = a.Max(b => b.score),
  45.                 min = a.Min(b => b.score),
  46.                 sum = a.Sum(b => b.score),
  47.                 avg = a.Average(b => b.score)
  48.             });


小结:

1,前台字符串输入提示

  1. @{
  2.             item.sub=item.sub ?? "<span style='color:red;'>暂无科目</span>";
  3.             @Html.Raw(item.sub)      @*作用:让引号里的标签被识别*@
  4.                        }
  5. 2, <td>
  6.                   @* 保留2位小数*@
  7.             @item.avg.Value.ToString("f2")
  8.                     @* 四舍五入*@
  9.                @*   @Math.Round((double)item.avg,2)    *@
  10.                 </td>


评价

EF多表分组与函数

两表分组与函数例如:对某个考生的成绩统计linq形式:varquery=fromuinoae.Users joinsinoae.Scoreonu.Idequalss.UsersId ...

css弹性盒子flex布局

css弹性盒子由于版本不同浏览器问题造成了一些不同的写法display:flexbox;在google浏览器中如果使用下面的写法就不行displa...

可输入下拉文本框据输入动态加载数据 jquery-editable-select

用到一个jquery-editable-select的控件github地址:https://github.com/indrimuska/jquery-editable-select这个插件的原理是...

.net mvc分部页.net core分部页

.net分部页的三种方式第一种:@Html.Partial(&quot;_分部页&quot;)第二种:@{ Html.RenderPartial(&quot;分部页&quot;);}...

css中单位pxemrem和vh/vw的理解

&gt;px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。em是相对长度单位。相对于当前对象内文本的字...

让IIS支持webp格式图片让IIS支持vtt格式iis设置mime类型iis配置支持的类型

webp格式图片可以让图片体积变小。也让下载图片变得更加困难一点 在线制作webp工具 https://www.upyun.com/webp?utm_mediu...

网页上传文件断点续传的实现无视文件大小上传以及datatables基本用法

首先明白js是客户带执行代码,c#是服务器上执行代码。本地文件需要用到js处理,服务器端接受c#代码处理1.HTML页面,文件信...

如何使用图标像使用文字一样使用文本图标的方法

1.首先在Iconfont-阿里巴巴矢量图标库上面找到你需要的图标然后加入你的购物车然后选择图标;注意:每个类型的图标会大小不...

使用七牛云的cdn服务提高图片的加载速度

CDN介绍CDN的全称是Content Delivery Network,即内容分发网络。CDN加速主要是加速静态资源,如网站上面上传的图片、媒体,...

通俗易懂什么是.NET?什么是.NET Framework?什么是.NET Core?

朋友圈@蓝羽 看到一篇文章写的太详细太通俗了,搬过来细细看完,保证你对.NET有个新的认识理解原文地址:https://www.cnblo...

JS监听input、keydown有输入法时打字完成后触发事件

在给输入框绑定input或keydown事件时预期效果是有输入法时,输入中文后触发事件,不希望输一个字母就触发一次事件可以用到c...

修改了css后让浏览器从缓存中更新

当我们修改了css后,如果不做一些操作,浏览器是不会自动更新我们的样式文件的。除非是过期或者用户手动刷新清理缓存等。所...

C MVC RedirectToAction跳转时候传递参数Action之间传值

MVC Action之间传值,页面跳转传值方法一:路由传值很简单直接使用 RedirectToAction(string actionName, string controller...

当你工作遇到以下几种状态时请果断跳槽走人

已经有想跳槽的念头,但是一直磨磨蹭蹭、犹犹豫豫的混日子,这种念头或者一直持续,或者是不是冒出头来占据你的思维了。于...
你之所以觉得时间一年比一年过得快,是因为时间对你一年比一年重要。
排名
13
文章
64
粉丝
20
评论
30
MUI框架页面间的传值指针
XingDy姐 : 不错哦
MUI框架页面间的传值指针
剑轩 : 接口的真实地址可以用xx/yy什么的代替哦,真实地址还是隐藏一下好
.NET EF 用户按钮权限
YOU : 可以,在写文章的时候,有需要写代码的地方,可以选择编辑器上的代...
.NET EF 用户按钮权限
剑轩 : 哈哈哈哈,你这个追女生的逻辑
EF三种模式解析
剑轩 : 好文采!
重要sql语句和linq,lamdba分组条件查询语句
剑轩 : 开头那句诗句写得很好哇!
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
结局是什么,我们自己决定!