博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二节: 比较EF的Lambda查询和Linq查询写法的区别
阅读量:6224 次
发布时间:2019-06-21

本文共 1000 字,大约阅读时间需要 3 分钟。

 简介

   在前面EF的介绍中,曾多次提到过EF可以使用Lambda和Linq来完成对数据库的访问,这两种的语法的具体使用和注意事项在前面的DotNet进阶的系列章节中已经详细介绍过了,本次借着EF章节,重新调整了一下里面的规范和注意事项。

1. Lambda语法

 七类核心用法:

 0. Select最基本的用法:查询单表中所有数据

 1. Where的用法:单条件、多条件、模糊查询

 2. select查询指定列:匿名类写法(指定匿名类的名称或使用默认表的名称)

 3. 排序问题:

   ① 单条件单次升序:OrderBy;

   ② 单条件单次降序:OrderByDescending;

   ③ 多次升序:OrderBy→ThenBy→ThenBy;

   ④ 多次降序:OrderByDescending→ThenByDescending→ThenByDescending;

   ⑤ 先升序再降序再升序:OrderBy→ThenByDescending→OrderBy;

 4. Join内连接关联查询:先关联、然后写条件(Where、OrderBy),同样道理可以写匿名类(指定列名或不指定列名);单独写一个实体接收

 5. GroupBy单表分组:分组后会将数据分成一些key-value的信息块,key是分类字段,value对应的就是该分类字段的数据集合

 6. GroupJoin外连接查询:(相当于left Join),用法需要显示声明Lambda表达式,而且连接的表需要全部输出(写法要特别注意)

 7. Skip和Take用法:跨过多少条,取多少条、分页公式(一定是先Skip和Take,然后再ToList)

  

2. Linq语法

 六类核心用法

 Linq用法:from....where....select... 为基本框架,缺一不可

 1. where:单条件、多条件、模糊查询

 2. select:同样可以是匿名类(指定名称和不指定名称)和非匿名类的写法

 3. 排序问题:orderby x1 ascending,x2 descending,x3

 4. 关联查询:内连接(隐式内连接和隐式外连接) 和 外链接(左外链接)

 5. group by分组

 6. skip和take分页

   

 

转载于:https://www.cnblogs.com/yaopengfei/p/7678755.html

你可能感兴趣的文章
android中使用ViewPager实现图片左右拖动
查看>>
MVC设计模式
查看>>
JavaScript字典
查看>>
A Tour of the Dart Language(译文):三函数
查看>>
从C++到java
查看>>
05. Java NIO Scatter / Gather
查看>>
java.lang.IllegalStateException异常产生的原因及解决办法
查看>>
IOS中常用的知识总结(二)
查看>>
调用另一个Activity
查看>>
关于 Apache 的 25 个初中级面试题
查看>>
Activity那些不得不说的事
查看>>
小米生早了!!
查看>>
mysqldump: Got error: 1556: You can't use locks with log tables
查看>>
JS闭包
查看>>
Windows 管理PostgreSQL服务
查看>>
演讲实录 | Service Mesh 时代的选边与站队(附PPT下载)
查看>>
Eclipse 安装findbugs插件
查看>>
labview加密分析-1综述
查看>>
log4j自定义Appender
查看>>
部署公司后台管理系统中 关于jar包冲突的问题
查看>>