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. (转)ON DUPLICATE KEY UPDATE --mysql的一个有趣语法

    转自:http://my.oschina.net/iceman/blog/53735?fromerr=3kAEPcQr 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE, ...

  2. Netty使用(一)

    1.Netty介绍 Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架: 提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器 ...

  3. 如何用MATLAB GUI创建图形用户界面

    MATLAB是众多理工科学生及工程师经常使用的一款数学软件,除了可以实现数据处理,矩阵运算.函数绘制等功能外,MATLAB还可以实现图形用户界面的设计. 下面介绍如何让小白也能用GUI创建最基本的用户 ...

  4. FastDFS 学习总结

    1.1   什么是FastDFS FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用 ...

  5. mariadb数据库(1)

    一.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方法来管理数据库里的数 ...

  6. <linux-sed> sed基本用法

    1.简介 sed全称是Stream Editor,是非交互式的编辑器.它不会修改原文件,除非使用shell重定向来保存结果, 或者可以指定-i选项来在线修改文件,这样就会改变原文件,升级脚本通常用-i ...

  7. ES6拓展符修改对象

    // ES6 拓展符合并两个对象let ab = { ...a, ...b }; // 等同于 let ab = Object.assign({}, a, b); // 修改对象部分属性.用户自定义的 ...

  8. Java日志体系(三)commons-logging

    1.1 简介 Apache Commons Logging,又名JakartaCommons Logging (JCL),它是Apache提供的一个通用的日志接口,它的出现避免了和具体的日志方案直接耦 ...

  9. CentOS7或CentOS8 安装VirtualBox Guest Addon缺少kernel-headers的解决办法

    CentOS7或CentOS8 在Oracle VM VirtualBox中安装Guest Addon时,如果缺少kernel-headers和相应的编译库,会提示出错. "kernel h ...

  10. 第一个React Native项目

    1>下图操作创建第一个React Native项目: 用Xcode运行界面如下: 记住: 在使用项目文件期间,终端记住不要关闭的哟!!! 改变了程序代码,需要刷新运行,使用快捷键: Comman ...