Linq 基本语法_linq语法介绍-程序员宅基地

技术标签: linq  分页  Linq to SQL  

以下都是转载内容

1.简单的linq语法

            //1
            var ss = from r in db.Am_recProScheme
                     select r;
            //2
            var ss1 = db.Am_recProScheme;
            //3
            string sssql = "select * from Am_recProScheme";

2.带where的查询

//1
            var ss = from r in db.Am_recProScheme
                     where r.rpId > 10
                     select r;
            //2
            var ss1 = db.Am_recProScheme.Where(p => p.rpId > 10);
            //3
            string sssql = "select * from Am_recProScheme where rpid>10";

3.简单的函数计算(count,min,max,sum)

            //1
            获取最大的rpId
            //var ss = (from r in db.Am_recProScheme
            //          select r).Max(p => p.rpId);
            获取最小的rpId
            //var ss = (from r in db.Am_recProScheme
            //          select r).Min(p => p.rpId);
            //获取结果集的总数
            //var ss = (from r in db.Am_recProScheme                  
            //         select r).Count();
            //获取rpId的和
            var ss = (from r in db.Am_recProScheme
                      select r).Sum(p => p.rpId);


            //2
            //var ss1 = db.Am_recProScheme.Max(p=>p.rpId);
            //var ss1 = db.Am_recProScheme.Min(p => p.rpId);
            //var ss1 = db.Am_recProScheme.Count() ;
            var ss1 = db.Am_recProScheme.Sum(p => p.rpId);
            Response.Write(ss);

            //3
            string sssql = "select max(rpId) from Am_recProScheme";
                   sssql = "select min(rpId) from Am_recProScheme";
                   sssql = "select count(1) from Am_recProScheme";
                   sssql = "select sum(rpId) from Am_recProScheme";

4.排序order by desc/asc

            var ss = from r in db.Am_recProScheme
                     where r.rpId > 10
                     orderby r.rpId descending  //倒序
                     //  orderby r.rpId ascending   //正序
                     select r;

            //正序
            var ss1 = db.Am_recProScheme.OrderBy(p => p.rpId).Where(p => p.rpId > 10).ToList();
            //倒序
            var ss2 = db.Am_recProScheme.OrderByDescending(p => p.rpId).Where(p => p.rpId > 10).ToList();

            string sssql = "select * from Am_recProScheme where rpid>10 order by rpId [desc|asc]";

5.top(1)

            //如果取最后一个可以按倒叙排列再取值
            var ss = (from r in db.Am_recProScheme                     
                      select r).FirstOrDefault();

            //()linq to ef 好像不支持 Last() 
            var ss1 = db.Am_recProScheme.FirstOrDefault();
            //var ss1 = db.Am_recProScheme.First();          

            string sssql = "select top(1) * from Am_recProScheme";

6.跳过前面多少条数据取余下的数据

//1
            var ss = (from r in db.Am_recProScheme
                      orderby r.rpId descending
                      select r).Skip(10); //跳过前10条数据,取10条之后的所有数据   
            //2  
            var ss1 = db.Am_recProScheme.OrderByDescending(p => p.rpId).Skip(10).ToList();
            //3
            string sssql = "select * from  (select ROW_NUMBER()over(order by rpId desc) as rowNum, * from [Am_recProScheme]) as t where rowNum>10";

7.分页数据查询

            //1
            var ss = (from r in db.Am_recProScheme
                      where r.rpId > 10
                      orderby r.rpId descending
                      select r).Skip(10).Take(10); //取第11条到第20条数据                   

            //2 Take(10): 数据从开始获取,获取指定数量(10)的连续数据
            var ss1 = db.Am_recProScheme.OrderByDescending(p => p.rpId).Where(p => p.rpId > 10).Skip(10).Take(10).ToList();
            //3
            string sssql = "select * from  (select ROW_NUMBER()over(order by rpId desc) as rowNum, * from [Am_recProScheme]) as t where rowNum>10 and rowNum<=20";

8.包含,类似like '%%'

            //1
            var ss = from r in db.Am_recProScheme
                     where r.SortsText.Contains("张")
                     select r;
            //2
            var ss1 = db.Am_recProScheme.Where(p => p.SortsText.Contains("张")).ToList();
            //3
            string sssql = "select * from Am_recProScheme where SortsText like '%张%'";

9.分组group by

            //1
            var ss = from r in db.Am_recProScheme
                     orderby r.rpId descending
                     group r by r.recType into n
                     select new
                     {
                         n.Key,  //这个Key是recType
                         rpId = n.Sum(r => r.rpId), //组内rpId之和
                         MaxRpId = n.Max(r => r.rpId),//组内最大rpId
                         MinRpId = n.Min(r => r.rpId), //组内最小rpId
                     };
            foreach (var t in ss)
            {
                Response.Write(t.Key + "--" + t.rpId + "--" + t.MaxRpId + "--" + t.MinRpId);
            }
            //2
            var ss1 = from r in db.Am_recProScheme
                     orderby r.rpId descending
                     group r by r.recType into n
                     select n;
            foreach (var t in ss1)
            {
                Response.Write(t.Key + "--" + t.Min(p => p.rpId));
            }
            //3
            var ss2 = db.Am_recProScheme.GroupBy(p => p.recType);
            foreach (var t in ss2)
            {
                Response.Write(t.Key + "--" + t.Min(p => p.rpId));
            }
            //4
            string sssql = "select recType,min(rpId),max(rpId),sum(rpId) from Am_recProScheme group by recType";

10.连接查询 

            //1
            var ss = from r in db.Am_recProScheme
                     join w in db.Am_Test_Result on r.rpId equals w.rsId
                     orderby r.rpId descending
                     select r;
            //2
            var ss1 = db.Am_recProScheme.Join(db.Am_Test_Result, p => p.rpId, r => r.rsId, (p, r) => p).OrderByDescending(p => p.rpId).ToList();
            //3
            string sssql = "select r.* from  [Am_recProScheme] as r inner join [dbo].[Am_Test_Result] as t on r.[rpId] = t.[rsId] order by r.[rpId] desc";

11.sql中的In

            //1
            var ss = from p in db.Am_recProScheme
                              where (new int?[] { 24, 25,26 }).Contains(p.rpId)
                              select p;
            foreach (var p in ss)
            {
                Response.Write(p.Sorts);
            }
            //2
            string st = "select * from Am_recProScheme where rpId in(24,25,26)";




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq389216533/article/details/52075628

智能推荐

证明与计算(7): 有限状态机(Finite State Machine)_finite state machines-程序员宅基地

文章浏览阅读1.4k次。什么是有限状态机(Finite State Machine)?什么是确定性有限状态机(deterministic finite automaton, DFA )?什么是非确定性有限状态机(nondeterministic finite automaton, NDFA, NFA)?[1] wiki-en: Finite state machine[2] wiki-zh-cn: Finit..._finite state machines

vue小项目(二)—— 购物车的完整实现_vue写的购物车详细步骤-程序员宅基地

文章浏览阅读1.2w次,点赞22次,收藏154次。购物车的完整实现1需要提前了解的基础知识2目录部署3效果1需要提前了解的基础知识本项目完全使用的是前端开发,没有使用到服务器,(前端开发的小伙伴可以放心看),前端使用到: vue, vue-cli, vuex, vue-router, axios,ES6,ES Module等技术2目录部署最终实现目录2 public目录因为本项目没有使用到服务器,我们这里将数据放在本地,方便获取,list.json是待会页面需要获取的json文件,static/img/list下的是图片资源(也可以放在_vue写的购物车详细步骤

孩子英语老学不好,原因你找对了吗-程序员宅基地

文章浏览阅读80次。同样年纪的孩子,为什么有的孩子掌握的英语词汇量很多,有的孩子发音好,有的孩子能用英语表达自己的情绪;自己的孩子却记不住单词,也不肯开口,买绘本、听音频、看动画电影,想尽了方法孩子的英语水平依然没有起色,背后的原因竟然有这些,你找到了吗?初选材料不合适、方法没用对、学习时间不够长、选的英语启蒙班不合适。这四大问题,对号入座你是属于哪一种呢。有研究表明:0-6岁是孩子学习英语的黄金时期,孩子对语言的敏感度,会随着年龄的增长而下降,越往后开始,就越困难。因此语言学习越早越好,看明星子女的孩子能说一口流利的英

IOS 获取当前系统运行进程-程序员宅基地

文章浏览阅读567次。+ (NSArray *)runningProcesses { int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0}; size_t miblen = 4; size_t size; int st = sysctl(mib, miblen, NULL, &amp;size, NUL..._ios查看当前进程

回环设备_ubuntu loop回环设备作用-程序员宅基地

文章浏览阅读1.6k次。回环设备回环设备是将文件模拟成块设备来使用的驱动,可以把光盘、磁盘中的数据以普通文件的形式存在并被模拟成光盘或者磁盘来使用。回环设备常用于镜像文件,将镜像文件以原始设备的方式来使用。..._ubuntu loop回环设备作用

Leetcode Golang 19. Remove Nth Node From End of List.go_removenthfromend golang-程序员宅基地

文章浏览阅读334次。思路快慢指针,快指针先前进n步,然后两个指针一起前进,当快指针走到末尾的时候,慢指针所在的位置,就是目标位置需要注意判断空节点情况codefunc removeNthFromEnd(head *ListNode, n int) *ListNode { cur := head last := head for i := 0; i < n; i++ { if c..._removenthfromend golang

随便推点

面经分享!30+场CV面试后总结的常见问题合集-程序员宅基地

文章浏览阅读1k次。作者|灯会 编辑|极市平台原文链接:https://mp.weixin.qq.com/s/h3lIgxHACYoYHo_I0UX-qw点击下方卡片,关注“自动驾驶之心”公众号ADAS巨卷干货,即可获取点击进入→自动驾驶之心【求职交流】技术交流群导读作者灯会为21届中部985研究生,凭借自己整理的面经,去年在腾讯优图暑期实习,七月份将入职百度cv算法工程师。在去年灰飞烟灭的算法求职季中,..._cv算法工程师 面经

使用swig从c/c++代码生成java/python/R/php...代码-程序员宅基地

文章浏览阅读230次。我们项目中有一个协议打包模块,c++写的。需要移植到java和python上,不想重写,就使用了一个叫swig(http://swig.org/)的工具,从c++代码直接生成了java/python代码。推荐一下。 几点感受: (1)swig支持的语言还是很多的,可以从c/c++生成java/python/php/R/ruby等等一堆语言,这个工具有20多年的历史了。其他语言的支持程度不..._swig+cmake生成目标语言

2020 - AAAI - 图像修复 Image Inpainting论文导读 -《Region Normalization for Image Inpainting》_rn 图像修复-程序员宅基地

文章浏览阅读2.9k次。2020 - AAAI - 图像修复 Image Inpainting论文导读 -《Region Normalization for Image Inpainting》_rn 图像修复

LFWA+ 人脸属性数据集下载地址 【Google Drive】_oxdlfwa-程序员宅基地

文章浏览阅读3.7k次。如果你在做人脸属性多标签分类的相关项目,那么你必然绕不开两个数据集,CelebA,另外一个是就是LFWA+数据集了。这两个数据集来源是这篇论文:@inproceedings{liu2015faceattributes, author = {Ziwei Liu and Ping Luo and Xiaogang Wang and Xiaoou Tang}, title = {Deep Lea..._oxdlfwa

零基础学ios开发培训要培训多久-程序员宅基地

文章浏览阅读239次。零基础学ios开发培训要培训多久 想参加ios开发培训,不知道ios开发培训需要多长时间能学会呢?零基础学ios培训要培训多久?学完IOS技术课程后是否可以快速找到高薪工作,一系列的问题都是菜鸟程序员们想要入学IOS课程中要咨询的问题。 ios开发培训需要多长时间能学会呢?一般基础班加上就业班是5个月的时间,在广州传智播客推出iOS..._ios开发培训多长时间

pytest自定义插件_pytest 自定义插件-程序员宅基地

文章浏览阅读704次。参考资料https://docs.pytest.org/en/latest/plugins.html(Installing and Using plugins)https://docs.pytest.org/en/latest/writing_plugins.html#writing-plugins(Writing plugins)https://docs.pytest.org/en/latest/_modules/_pytest/hookspec.html(Source code for _pyte_pytest 自定义插件