前言

前段时间接触了一种新的表达式,但是不知道这个是什么意思,所以就先站在巨人的肩膀用了,现在听师哥说这种写法是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表达式的更多相关文章

  1. LInq 与lambda表达式

    LInq 与lambda表达式 LinQ是我们常用的技术之一.因为我们绕不开的要对数据进行一系列的调整,如 排序. 条件筛选.求和.分组.多表联接 等等. lambda则是我们常用的语法糖,配合lin ...

  2. 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象

    本文需要对C#里的LINQ.Lambda 表达式 .委托有一定了解. 在工作中,经常遇到需要对比两个集合的场景,如: 页面集合数据修改,需要保存到数据库 全量同步上游数据到本系统数据库 在这些场景中, ...

  3. SQL、Linq和Lambda表达式 的关系

    首先说说这三者完全是三种不同的东西,SQL是结构化查询语言(Structured Query Language)简称,这大家再熟悉不过了,下面主要介绍LINQ和Lambda表达式的基本概念以及同一查询 ...

  4. c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)

    c#封装DBHelper类   public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...

  5. 动态LINQ(Lambda表达式)构建

    using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; us ...

  6. LINQ使用Lambda表达式选择几列

    学习LINQ的Lambda的表达式,尝试从数据集合中,选择其中几列. 创建一个model: source code: namespace Insus.NET.Models { public class ...

  7. Linq之Lambda表达式

    一 什么是LINQ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. ...

  8. Linq之Lambda表达式初步认识

    目录 写在前面 匿名方法 一个例子 Lambda 定义 一个例子 总结 参考文章 写在前面 元旦三天在家闲着无事,就看了看Linq的相关内容,也准备系统的学习一下,作为学习Linq的前奏,还是先得说说 ...

  9. 【2017-06-01】Linq基础+Lambda表达式实现对数据库的增删改查

    一.Linq to sql 类 高集成化的数据库访问技术 使用Linq可以代替之前的Ado.Net.省去了自己敲代码的实体类和数据访问类的大量工作. 实体类: 添加一个Linq to sql 类 -- ...

  10. Linq基础+Lambda表达式对数据库的增删改及简单查询

    一.Linq to sql 类 高集成化的数据库访问技术 使用Linq可以代替之前的Ado.Net,省去了自己敲代码的实体类和数据访问类的大量工作 实体类: 添加一个Linq to sql 类 --- ...

随机推荐

  1. Linux驱动中获取系统时间

    最近在做VoIP方面的驱动,总共有16个FXS口和FXO口依次初始化,耗用的时间较多.准备将其改为多线程,首先需要确定哪个环节消耗的时间多,这就需要获取系统时间. #include <linux ...

  2. SpringCloud组件的简单介绍

    springcloud官网springcloud中文网站 最近开始接触springcloud,所以先了解了一下最最基本概念. Spring Cloud ConfigSpring配置管理工具包,让你可以 ...

  3. 天梯L2-001. 紧急救援(25分)

    L2-001. 紧急救援 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国 ...

  4. Java-API:java.math.BigDecimal

    ylbtech-Java-API:java.math.BigDecimal 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 1. https://docs.ora ...

  5. Unreal Engine 4 Radiant UI 入门教程(一)制作Radiant HUD

    请注意:本篇教程的编号是从零开始的,如果没有看第零篇教程,请前往学习. 本教程介绍如何制作Radiant HUD,这是指将网页元素直接加入到HUD中,效果为: 对应的网页元素为: 第一步: 将之前下载 ...

  6. 如何在C#中读写INI文件

    INI文件就是扩展名为"ini"的文件.在Windows系统中,INI文件是很多,最重要的就是"System.ini"."System32.ini&q ...

  7. 第七章 Java中的13个原子操作类

    当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i = 1:A线程更新i + 1,B线程也更新i + 1,经过两个线程操作之后可能i不等于3,而是等于2,.因为A和B线 ...

  8. redis使用测试

    import redis conn=redis.Redis(host='127.0.0.1',port=6379) conn.set('nn','morgana',10) #过期时间10s v=con ...

  9. eclipse中maven的配置与使用

    以eclipse Juno版本为例 1.插件安装 eclipse==>help====>install new software===>add name :m2e location: ...

  10. TextView下划线,部分文字并响应点击事件(SpannableString)

    TextView useInfo = (TextView) findViewById(R.id.info); useInfo.setText("开始即表示您同意遵守"); Stri ...