Lambda

Lambda表达式和匿名方法很相似,但Lambda表达式比匿名方法更灵活,并且语法比匿名方法更简洁。

在LINQ中可以使用Lambda表达式创建委托,这些委托将稍后执行查询时被调用。

Lambda表达式使用的操作符“=>”。这个操作符的意思就是“流入”,左侧为任意的输入参数,右侧可以表达式,也可以语句块。

Lambda可以包括任意数量的语句,但它通常会保持为两个或三个语句,主要为了便于阅读以及防止它太过复杂。

使用Lambda表达式需记住以下规则:

1.如果Lambda表达式返回一个值,返回值必须隐式地转换成委托类型。

2.Lambda表达式包含的参数数目必须同委托类型的参数数目相同。

3.每个输入参数必须隐式地转换相应的委托参数。

var pro=context.products.Single(p=>p.id==id);

此查询也可以写为:

var pro=from c in context where c.id==id select c;

这两个查询返回相同的输出结构,但是Lambda表达式使用方法语法以内连接表达式的方式变成写查询。

Single标准查询操作符来返回序列中的单个元素。操作符左边的p是输入变量,对应于查询表达式的p

LinqToSQL3的更多相关文章

随机推荐

  1. python中的break continue用法

    Break break跳出循环,并且终止最小封闭循环. Continue continue跳过本次循环,继续执行下一次的循环. 二者区别就是break会终止循环,continue不终止循环.

  2. 解决Powershell中不能运行脚本问题

    问题: powershell中不能执行脚本,提示‘because running scripts is disabled on this system’ 原因: powershell中默认的execu ...

  3. POJ3009-Curling 2.0(WA)

    POJ3009-Curling 2.0 题意: 要求把一个冰壶从起点“2”用最少的步数移动到终点“3” 其中0为移动区域,1为石头区域,冰壶一旦想着某个方向运动就不会停止,也不会改变方向(想想冰壶在冰 ...

  4. Faster R-CNN论文阅读摘要

    论文链接: https://arxiv.org/pdf/1506.01497.pdf 代码下载: https://github.com/ShaoqingRen/faster_rcnn (MATLAB) ...

  5. 【论文学习】A Fuzzy-Rule-Based Approach for Single Frame Super Resolution

    加尔各答印度统计研究所,作者: Pulak Purkait (pulak_r@isical.ac.in) 2013 年 代码:CodeForge.cn http://www.codeforge.cn/ ...

  6. mybatis配置文件祥解(mybatis.xml)

    以下是mybatis.xml文件,提倡放在src目录下,文件名任意 <?xml version="1.0" encoding="UTF-8"?> & ...

  7. flutter 常用plugins

    搜索plugins flutter plugins搜索地址 谷歌官方plugins https://pub.dev/packages?q=http 到这个链接里面去搜索 https://github. ...

  8. Spring+Ibatis开发

    Spring+Ibatis开发:1.首先回忆Spring+Hibernate开发:那么时候我们是先加入的Spring,然后在加入Hibernate支持包的,而此时我们Spring+Ibatis开发,原 ...

  9. 建立Maven工程时出错,Failure to transfer

    建立Maven工程时出错,Failure to transfer com.thoughtworks.xstream:xstream:jar:1.3.1 Failure to transfer com. ...

  10. Linux系统管理_主题02 :管好文件(1)_2.4 链接文件_ln

    在 Linux 中,链接有两种:符号链接(symbolic link)和硬链接(hard link).  删除一个符号链接不会影响到这个符号链接指向的目标文件或目 录:  反过来,删除.移动或者重 ...