项目中写到看到的一些LINQ和Lambda语句
1,求和
var datas = SellOutActualData.Where(b => b.BrandCode == brandExportParam.BrandInfo.BrandCode && b.ReportMonth == item.Month);
decimal sumValue = datas.Sum(a => a.Amount);
2,Linq筛选,转换成指定类
var query = dbContext.TWSalesRecord.Where(d => d.DataSource == "HCT");
//筛选字段HCTAccount中的值要在 model.AccountList内
query = query.Where(d => model.AccountList.Contains(d.HCTAccount));
List<TWSalesData> data = query.Where(d => d.ReportMonth >= model.StartDate
&& d.ReportMonth <= model.EndDate
&& !string.IsNullOrEmpty(d.GSKGMMCode))
.Select(d => new TWSalesData
{
Account = d.HCTAccount,
GMMCode = d.GSKGMMCode,
ReportMonth = d.ReportMonth,
Amount = d.GSKAmount
}).ToList(); //将最终的结果转为Sales类集合
3,linq筛选,转换成 “字典”
private Dictionary<string, TWProducts> products = new Dictionary<string, TWProducts>(); products = db.TWProducts.ToDictionary(d => d.GMMCode, d => d);
4,分组查询
结果是,某个分销商,在某月中的 某个商品的 “总销售额” 和 “数量” 是多少
List<SalesDataModel> sales = (from data in db.TWSalesRecord
group data by new
{
data.HCTAccount, //根据分销商,月份,商品编码分组
data.ReportMonth,
data.GSKGMMCode
} into d
select new SalesDataModel
{
Account = d.Select(s => s.HCTAccount).FirstOrDefault(),
Month = d.Select(s => s.ReportMonth).FirstOrDefault(),
GMMCode = d.Select(s => s.GSKGMMCode).FirstOrDefault(),
Value = d.Sum(s => s.GSKAmount)/,
Quantity = d.Sum(s => s.Quantity)
}).ToList();
5,简单计算函数(sum,max,min,count)
//linq
Var ss=(from r in db.table select r).max(p=>p.id);
.min(p=>p.id);
.sum(p=>p.id);
.count();
//Lambda
Var ss1=db.table.max(p=>p.id);
Var ss1=db.table.min(p=>p.id);
Var ss1=db.table.sum(p=>p.id);
Var ss1=db.table.count();
项目中写到看到的一些LINQ和Lambda语句的更多相关文章
- 【Filter 不登陆无法访问】web项目中写一个过滤器实现用户不登陆,直接给链接,无法进入页面的功能
在web项目中写一个过滤器实现用户不登陆,直接给链接,无法进入页面,而重定向到登陆界面的功能. 项目是用springMVC+spring+hibernate实现 (和这个没有多大关系) 第一步: 首先 ...
- 解决:一个项目中写多个包含main函数的源文件并分别调试运行
自己在学c++的时候,一个项目中的多个cpp文件默认不允许多个main函数的出现,但是通过选项操作能够指定单个cpp文件进行运行,如下: 1.此时我就想运行第二个cpp文件,我们只需要把其他的两个右键 ...
- 自己在项目中写的一个Jquery插件和Jquery tab 功能
后台查询结果 PDFSearchResult实体类: [DataContract(Name = "PDFSearchResult")] public class PDFSearch ...
- 如何在python项目中写出像Django中一样功能的settings
一 核心文件目录结构 二 实现代码 resdme: 在实现此功能主要用到的知识点及模块: 1.反射 3.内置方法dir # 全局配置 NAME = 'root' # 用户配置 NAME = 'pe ...
- 有WebService的项目中写applicationContex.xml文件时应注意!!!
这是一个简单的WebService实例,来看下如下的applicationContex.xml文件: 1.有XFire的配置 <bean id="baseWebService" ...
- 简述项目中优化sql的方法,从哪些方面,sql语句性能如何分析?
查询速度慢的原因很多,常见如下几种 : .没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) .I/O吞吐量小,形成了瓶颈效应. .没有创建计算列导致查询不优化. .内存不足 .网络 ...
- Excel VBA 若要在64位系统上使用,则必须更新此项目中的代码,请检查并更新Declare语句,然后用PtrSafe属性标记它们
在Office 2010 32位上开发的Excel VBA系统,迁移到Office 2010 64位下面,打开后使用,报下面错误: 解决办法: 在Declare 后面加PtrSafe 进行标记
- SQL语句对应的LINQ和Lambda语句
1. 查询Student表中的所有记录的Sname.Ssex和Class列.select sname,ssex,class from studentLinq: from s in Student ...
- 项目中jquery插件ztree使用记录
最近公司要求做一个关于后台的管理系统.在这个mvvm模式横行的年代,虽然这里用jquery做项目可能有点不符合时代的潮流,但是管他呢,能做出来先在说呗(公司以后要改用angular或者vue来统一前端 ...
随机推荐
- MySQL性能基准测试对比:5.7 VS 8.0
本文由云+社区发表 作者:数据库 版权声明:本文由腾讯云数据库产品团队整理,页面原始内容来自于severalnines英文官网,若转载请注明出处.翻译目的在于传递更多全球最新数据库领域相关信息,并不意 ...
- 【经典案例】Python详解设计模式:策略模式
完成一项任务往往有多种方式,我们将其称之为策略. 比如,超市做活动,如果你的购物积分满1000,就可以按兑换现金抵用券10元,如果购买同一商品满10件,就可以打9折,如果如果购买的金额超过500,就可 ...
- 校园生活app结对开发第二天
昨天进行了android studio的安装与配置遇到很多问题,在gradel处遇到很多问题,安装版本错误等等,在百度和书籍的帮助下成功安装 今天要做登陆界面开发
- Effective Java目录
创建和销毁对象 考虑用静态工厂方法代替构造器 遇到多个构造器参数时要考虑用构建器 用私有构造器或者枚举类型强化Singleton属性 通过私有构造器强化不可实例化能力 避免创建不必要的对象 消除过期的 ...
- 自己实现的typeOf函数1
自己实现的typeOf函数:返回传入参数的类型 主要用于解决,js自带的typeof返回结果不精确:Ext JS中typeOf对字符串对象.元素节点.文本节点.空白文本节点判断并不准确的问题 js代码 ...
- element表格添加序号
表格代码:黄色部分为序号列关键代码上图: <el-table :data="tableData" border height="480" style=&q ...
- http协议、模块、express框架以及路由器、中间件和mysql模块
一.http协议 是浏览器和web服务器之间的通信协议 1.通用头信息 request url:请求的url,向服务器请求的数据 request method:请求的方式 get.post sta ...
- 学习笔记—XML
XML XML简介 XML指可扩展标记语言(EXtensible Markup Language),是一种标记语言. XML是一种灵活的语言,标签没有被预定义,需要自行定义标签. 通常,XML被用于信 ...
- 洛谷P3366 【模板】最小生成树(Boruvka算法)
题意 题目链接 Sol 自己yy着写了一下Boruvka算法. 算法思想很简单,就是每次贪心的用两个联通块之间最小的边去合并. 复杂度\(O(n \log n)\),然鹅没有Kruskal跑的快,但是 ...
- CentOS7 firewalld 打开关闭端口
1. firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status ...