简介

  在前面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分页

  详细内容:请点击。

第二节: 比较EF的Lambda查询和Linq查询写法的区别相关推荐

  1. [深入学习C#]LINQ查询表达式详解(1)——基本语法、使用扩展方法和Lambda表达式简化LINQ查询

    此文章非原创,转载自诗人江湖老,原文地址 在Git上下载源码 在工程中我们少不了要定义类或者结构去储存数据,这些数据将被临时地储存在内存中,现在我们想要对其完成一些类似于查找.过滤等等常见的任务的时候 ...

  2. 数据库第二节 sql表格创建及内容插入和查询

    CREATE TABLE employee( empno INT, ename VARCHAR(10), job VARCHAR(10), mgr INT, hiredate DATE, sai DO ...

  3. [深入学习C#]LINQ查询表达式详解(2)——查询表达式的转换

    转载自诗人江湖老,原文地址 C#在执行LINQ查询表达式的时候,并不会指定其执行语义,而是将查询表达式转换为遵循查询表达式模式的方法的调用.具体而言,查询表达式将转换为以下名称的调用:Where.Se ...

  4. LINQ查询————八大基本子句

    八大语句: 1.from ... in子句:制定查询操作的数据源和范围变量. 2.select子句:指定查询结果的类型和表现形式. 3.where子句:筛选元素的逻辑条件,一般由逻辑运算符组成. 4. ...

  5. 《网络是怎样连接的》第一章第二节:向DNS服务器查询Web服务器的IP地址

    <网络是怎样连接的>第一章:浏览器生成消息 概述:这本书以 "从在浏览器输入网址,到屏幕显示出网页,当中到底发生了什么?"为疑问,探究其中的过程.本章讲的是浏览器怎么把 ...

  6. 第二节 数据CRUD操作与连接查询和子查询(包含练习)

    笔记中的大部分例子都是通过部门和部门员工表中的数据进行的举例,表的相关数据创建放在文末,以便理解笔记中的部分语句. 一.数据CRUD操作 1. 插入数据 1.1 插入一条数据 INSERT INTO ...

  7. Asp.Net MVC +EF(2)Linq查询和Lambda表达式

    Linq简介 Linq全称Language Integrated Query(语言集成查询),为我们提供一种统一的方式来查询和操作各种数据. linq to object:是针对实现IEnumerab ...

  8. SQL Server性能调优之执行计划深度剖析 第二节 执行计划第一次实践

    SQL Server性能调优之执行计划深度剖析 第二节 执行计划第一次实践 前言:自从上一篇文章发出之后,收到了很朋友的关注.很多朋友要求多多实践,而不是纯粹的理论.确实,从打算出这个系列开始,我就本 ...

  9. 第二节 安装CentOS

    Linux 第二节 一.安装VNware workstation 10 二.安装CentOS 1.root/123456 用户登录[root@localhost ~]# 2.关机 init 0 3.i ...

最新文章

  1. how tomcat works 总结 二
  2. 聊聊前后端分离的接口规范
  3. kafka生产者、消费者消息操作命令
  4. Openfire配置过程,以及与php交互注意事项。
  5. loading gif 透明_搞笑GIF:有这样的女朋友下班哪里都不想去
  6. 3dmax卸载工具_3dmax软件如何彻底卸载?
  7. 设置不定宽高的元素垂直水平居中
  8. python 对excel操作用法详解_Python对excel文档的操作方法详解
  9. Linux的操作系统原理详解
  10. Java的jdk安装与环境变量配置
  11. php开发App接口
  12. 数据库课程设计——某工厂的物料管理系统(附Java源码与课程设计报告)
  13. web开发实例教程,CSS盒子模型居中方法
  14. 深入研究webrtc平滑发送(paced sender)
  15. 和程序员谈恋爱的7种体验
  16. bong手环显示连接不上服务器,bong智能手环使用说明
  17. 制造业质量管理四大病因
  18. tls协议 android 证书,Android TLS连接和自签名证书
  19. BEA-141281
  20. Windows - 屏幕护眼的绿色

热门文章

  1. win10安装mudbox失败,怎么强力卸载删除注册表并重新安装
  2. BZOJ 5394 [Ynoi2016]炸脖龙 (线段树+拓展欧拉定理)
  3. web前端开发面试题(答案)
  4. Java进阶04 RTTI
  5. Hadoop-HBASE案例分析-Hadoop学习笔记二
  6. 基于xml技术的操作
  7. 数据库-Oracle【Oracle数据库设置默认表空间问题及Oracle,SQL,MySQL的自增变量设置】...
  8. LinkedList专题2
  9. 安装mysql5.6.10_windows下安装mysql(mysql-installer-community-5.6.10.1)详细教程
  10. python字符串字面量有哪四种定义方式_Python学习笔记(四)字符串型