我们需要写Linq查询语句,使用let来创建一个新的变量

Let 关键字

“let”关键字在查询语法中很有用。它会投影一个新的范围变量,允许重新使用表达式并使查询更具可读性。

例如: 这里需要写,两遍   let可以看成在查询语法里面申明一个变量。

方法:

/// <summary>
/// 监控数据
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<IHttpActionResult> JkDataAsync()
{
try
{
int day = DateTime.Now.Day;
IList<RbBgdata> result = await dbOracle.RbBgdatas.AsQueryable().Where(x => x.Createtime.Value.Day == day).ToListAsync();
var ii = (from x in result
let Partakenum = result.Sum(ee => ee.Partakenum)
let Unpartakenum = result.Sum(ee => ee.Unpartakenum)
let Qualifiednum = result.Sum(ee => ee.Qualifiednum)
let Unqualifiednum = result.Sum(ee => ee.Unqualifiednum)
select new
{
PartakenSum = Partakenum, //参与用户
UnpartakeSum = Unpartakenum, //总用户
QualifiedSum = Qualifiednum, //合格数
UnqualifiedSum = Unqualifiednum //不合格数
}
).FirstOrDefault(); object obj = new
{
PartakeNum = ii.PartakenSum,
UnPartakeNum = ii.UnpartakeSum - ii.PartakenSum,
TotalPartakNum = ii.UnpartakeSum,
Cyl = (ii.UnpartakeSum == ? : Math.Round((ii.PartakenSum.Value * 1.0 / ii.UnpartakeSum.Value) * , )) + "%",
QualifiedNum = ii.QualifiedSum,//合格数
UnQualifiedNum = ii.UnqualifiedSum,
Zql = ((ii.QualifiedSum + ii.UnqualifiedSum) == ? : Math.Round((ii.QualifiedSum.Value * 1.0 / (ii.QualifiedSum.Value + ii.UnqualifiedSum.Value)) * , )) + "%"
};
return await Task.FromResult(Ok(new { errcode = , data = obj }));
}
catch (Exception ex)
{
return await Task.FromResult(Ok(new { errcode = , errmsg = ex.Message }));
}
}

最新文章

  1. Java NIO学习(一)
  2. dshow,Sample Grabber 从摄像头采集
  3. c#部分--- 一维数组放到集合中,在从集合中提取输出
  4. 《我是IT一只小小鸟》读后感
  5. 详解 Android 的 Activity 组件
  6. css 问题总结
  7. 错 &amp;#39;Cannot run program &amp;quot;/home/uv/IDE/adt/sdk/platform-tools/adb&amp;quot;: error=2, No such file or directory
  8. vue中的eventBus
  9. Maven 基本用法
  10. POJ 水题(刷题)进阶
  11. JS 单体内置对象
  12. android --------学习流程图
  13. Chromium网页Layer Tree创建过程分析
  14. 建议 for 语句的循环控制变量的取值采用“半开半闭区间”写法
  15. 微服务系列(二):使用 API 网关构建微服务
  16. centos下运行python3.6+Django+mysql项目
  17. T-SQL with关键字
  18. OSX终端 命令行的一些基本操作
  19. 让Dreamweaver支持cshtml (MVC Razor环境)
  20. Scipy的应用

热门文章

  1. Springboot事务使用与回滚
  2. 第11章 Media Queries 与Responsive 设计
  3. JavaScript this指向相关内容
  4. AngularJs 延时器、计时器
  5. jQuery框架学习第十一天:实战jQuery表单验证及jQuery自动完成提示插件
  6. AngularJS实现原理
  7. ArcGIS中国工具(ArcGISCTools)2.0正式发布
  8. 【Web】JavaScript 语法入门
  9. python小练习2
  10. Linux-vi/vim编辑器常用命令与用法