LINQ和Lambda表达式
前言
前段时间接触了一种新的表达式,但是不知道这个是什么意思,所以就先站在巨人的肩膀用了,现在听师哥说这种写法是Lambda表达式。我一直以为,这个Lambda表达式和LINQ查询有异曲同工之妙,可惜,这样想就大错特错了。
内容
LINQ表达式
定义
语言集成查询(Language Integrated Query),允许编写C#或者VB代码以查询数据库相同的方式操作内存数据。(其实个人认为和我们平常写的SQL语句功能类似)
- LINQ写法
From临时变量in实现IEnumerable<T>接口对象
Where表达式
[orderby条件]
[groupby条件]
Select临时变量中被查询的值
例子:
//查询家是London的顾客;
var expr=
from c in Customers
where c.City=="London"
select c;
//SQL写法
var expr =
select * from Customers where City="London";
- LINQ优点(来自百科)
1、无需复杂学习过程即可上手;
2、编写更少的代码即可创建完整应用;
3、更快开发错误更少的应用程序;
4、无需求助奇怪的编程技巧就可以合并数据源;(这不理解呢!)
5、能够大幅减少过程控制语句代码块,使代码的可读性和可维护性大幅度提高;
6、任何对象或数据源都可以定制实现LINQ适配器,为数据交互带来真正方便。
- LINQ应用场景
LINQ支持数据源有SQL Server、Oracle、XML(标准通用标记语言)以及内存中的数据集合。
Lambda表达式
定义
Lambda表达式“(Lambda Expression)”是一个匿名函数。
- C#表达式
形参列表=>函数体(运算符读为goes to)
函数体多用一条语句的可用大括号括起来。
- 在LINQ中的Lambda表达式是我们常用的使用方法:
例子
//查询家是London的顾客;
var expr=>
from c in Customers
where c.City="London"
select c;
小结
查了查,然后总结了一下,感觉LINQ和表达式其实在原有的数据库查询上还是有改进的,因为我们写的SQL语句,在执行查询的时候,就是先执行from后面的,然后根据条件选择出来,这种LINQ查询的写法正好类似于后台数据查询执行顺序,在一定程度上确实比较实用;Lambda表达式,匿名函数,没有函数名称的一种函数,其实这个外部方法没有权限访问Lambda表达式内部引入的变量,内部的可以访问外部的,这个和JS里面的闭包函数很相似,这在一定程度上保护了这种情况下的变量。
感谢您的宝贵时间······
LINQ和Lambda表达式的更多相关文章
- LInq 与lambda表达式
LInq 与lambda表达式 LinQ是我们常用的技术之一.因为我们绕不开的要对数据进行一系列的调整,如 排序. 条件筛选.求和.分组.多表联接 等等. lambda则是我们常用的语法糖,配合lin ...
- 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象
本文需要对C#里的LINQ.Lambda 表达式 .委托有一定了解. 在工作中,经常遇到需要对比两个集合的场景,如: 页面集合数据修改,需要保存到数据库 全量同步上游数据到本系统数据库 在这些场景中, ...
- SQL、Linq和Lambda表达式 的关系
首先说说这三者完全是三种不同的东西,SQL是结构化查询语言(Structured Query Language)简称,这大家再熟悉不过了,下面主要介绍LINQ和Lambda表达式的基本概念以及同一查询 ...
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
c#封装DBHelper类 public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...
- 动态LINQ(Lambda表达式)构建
using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; us ...
- LINQ使用Lambda表达式选择几列
学习LINQ的Lambda的表达式,尝试从数据集合中,选择其中几列. 创建一个model: source code: namespace Insus.NET.Models { public class ...
- Linq之Lambda表达式
一 什么是LINQ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. ...
- Linq之Lambda表达式初步认识
目录 写在前面 匿名方法 一个例子 Lambda 定义 一个例子 总结 参考文章 写在前面 元旦三天在家闲着无事,就看了看Linq的相关内容,也准备系统的学习一下,作为学习Linq的前奏,还是先得说说 ...
- 【2017-06-01】Linq基础+Lambda表达式实现对数据库的增删改查
一.Linq to sql 类 高集成化的数据库访问技术 使用Linq可以代替之前的Ado.Net.省去了自己敲代码的实体类和数据访问类的大量工作. 实体类: 添加一个Linq to sql 类 -- ...
- Linq基础+Lambda表达式对数据库的增删改及简单查询
一.Linq to sql 类 高集成化的数据库访问技术 使用Linq可以代替之前的Ado.Net,省去了自己敲代码的实体类和数据访问类的大量工作 实体类: 添加一个Linq to sql 类 --- ...
随机推荐
- 断路器之一:Hystrix 使用与分析
一:为什么需要Hystrix? 在大中型分布式系统中,通常系统很多依赖(HTTP,hession,Netty,Dubbo等),如下图: 在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖 ...
- 使用Eclipse的常见问题整理
我在Eclipse里新建一个android工程的时候附带着产生了一个名字为appcompat_v7的工程,这个工程是干什么用的啊?为何我新建的工程都出错了,错误信息提示为: error: Error ...
- Sequelize框架:
1.安装mysql支持: npm install mysql --save-dev 2.安装sequelize npm install sequelize --save-dev 3.创建ORM对象 v ...
- C++面向对象类的实例题目一
在一个程序中,实现如下要求: (1)构造函数重载 (2)成员函数设置默认参数 (3)有一个友元函数 (4)有一个静态函数 (5)使用不同的构造函数创建不同对象 code: #include<io ...
- Configuration File (php.ini) Path Loaded Configuration File 都有加载php.ini文件,有什么不同的地方?
Configuration File (php.ini) Path /usr/local/php7/etc 这个目录下面也有php.ini文件(如果在编译./configure -with- ...
- HDOJ 1121 Complete the Sequence
[题目大意]有一个数列P,它的第i项是当x=i时,一个关于x的整式的值.给出数列的前S项,你需要输出它的第S+1项到第S+C项,并且使整式的次数最低.多测. [数据范围]数据组数≤5000,S+C≤1 ...
- bzoj1787 紧急集合
传送门 题目 Input Output 分析 看到这个题不难想到倍增LCA,然后我们考虑如何计算.我们分别求出3个点中任意两点的LCA,为了走的步数最少所以肯定是先有两个点相遇然后另一个点走的它们相遇 ...
- CF 959E Mahmoud and Ehab and the xor-MST
第一反应是打表找规律……(写了个prim)但是太菜了没找到 于是开始怀疑是不是我的表错了,又写了一个克鲁斯卡尔,然后结果是一样的……(捂脸) 后来从克鲁斯卡尔的算法上发现了一点东西,发现只有2的幂次长 ...
- sequoiadb的c++应用开发1
使用sequoiadb开发c++应用时需要使用BSON对象,本篇主要讲下BSON的操作方面的东西 1:构建一个_id的BSON对象 BSON的c++驱动给我提供了一个宏BSON,使用该对象可以很方便的 ...
- autoconf手册(一)
Autoconf Creating Automatic Configuration Scripts Edition 2.13, for Autoconf version 2.13 December 1 ...