Expression 生成 Lambda
public static event Func<Student, bool> myevent;
public delegate void del(int i, int j);
static void Main(string[] args)
{
var students = new List<Student> {
, Age=, Name=},
, Age=, Name=},
, Age=, Name=},
, Age=, Name=},
};
// BookShopPlus2Entities db = new BookShopPlus2Entities();
//AsNoTracking查询的对象不要放在对象池中
//特别说明:对于使用AsNoTracking()的数据不能用于修改。
//List<Book> db = bsc.Books.AsNoTracking().ToList();
//del mydel = new del(add);
//mydel.Invoke(1, 9);
//// //匿名方法
//mydel += delegate(int h, int m)
//{
//};
////Lamda表达式
//mydel += (a, b) =>
//{
// Console.WriteLine(a + b);
//};
//生成 1==1
Expression expwhere = Expression.Equal(Expression.Constant(), Expression.Constant());
//生成 s=>
ParameterExpression exps = Expression.Parameter(typeof(Student), "s");
//生成s.Age>12
Expression exp1 = Expression.GreaterThan(Expression.Property(exps, ));
//生成s.Age<22
Expression exp2 = Expression.LessThan(Expression.Property(exps, ));
//生成 s.Age>12 and s.Age<22 或连接 Expression.Or and 连接 Expression.And
Expression exp3 = Expression.And(exp1, exp2);
//Expression<Func<Student, bool>> lamband = Expression.Lambda < Func<Student, bool>.Combine();
//生成s=>Age>12 AND s.Age<22
Expression<Func<Student, bool>> lamband =
Expression.Lambda<Func<Student, bool>>(exp3, exps);
var s = students.Where(lamband.Compile()).ToList();
}
}
public class Student
{
public int Id { get; set; } //学号
public string Name { get; set; } //学员姓名
public int Age { get; set; } //学生年龄
public bool Sex { get; set; } //学生性别
public int GradeId { get; set; }
}
Expression 生成 Lambda的更多相关文章
- .NET技术-6.0. Expression 表达式树 生成 Lambda
.NET技术-6.0. Expression 表达式树 生成 Lambda public static event Func<Student, bool> myevent; public ...
- 自动生成 Lambda查询和排序,从些查询列表so easy
如下图查询页面,跟据不同条件动态生成lambda的Where条件和OrderBy,如果要增加或调整查询,只用改前台HTML即可,不用改后台代码 前台代码: <div style="pa ...
- c# 使用Expression 生成sql
使用Expression 生成sql update语句的时候遇到了个问题 ,Expression<Action<T>> la 这个委托里面老获取不到 引用类型的值,甚至 ...
- 在EF中使用Expression自动生成p=>new Entity(){X="",Y="",..}格式的Lambda表达式灵活实现按需更新
一.基本介绍 回忆:最早接触Expression是在学校接触到EF的时候,发现where方法里的参数是Expression<Func<T,bool>>这么一个类型,当 ...
- 匿名函数 lambda表达式(lambda expression)
阅读g2log时,发现有两行代码居然看不懂. 1. auto bg_call = [this, log_directory]() {return pimpl_->backgroundChang ...
- SqlDataReader生成动态Lambda表达式
上一扁使用动态lambda表达式来将DataTable转换成实体,比直接用反射快了不少.主要是首行转换的时候动态生成了委托. 后面的转换都是直接调用委托,省去了多次用反射带来的性能损失. 今天在对Sq ...
- 生成动态Lambda表达式1
SqlDataReader生成动态Lambda表达式 上一扁使用动态lambda表达式来将DataTable转换成实体,比直接用反射快了不少.主要是首行转换的时候动态生成了委托. 后面的转换都是直接调 ...
- 浅析Java 8新特性Lambda Expression
什么是Lambda Expression 对于Lambda Expression,我的理解是,它是一个函数表达式,如下: (int x, int y) -> x - y 符号左边定义了函数的输入 ...
- JDK 8 - Lambda Expression 的优点与限制
我们知道 JDK 8 新增了 Lambda Expression 这一特性. JDK 8 为什么要新增这个特性呢? 这个特性给 JDK 8 带来了什么好处? 它可以做什么?不可以做什么? 在这篇文章, ...
随机推荐
- spring 中连接多个数据源
http://www.ityouknow.com/springboot/2016/08/20/springboot(%E4%BA%94)-spring-data-jpa%E7%9A%84%E4%BD% ...
- Jupyter Notebook的安装
依赖安装 pandoc texlive-xetex texlive-lang-cjk 安装Jupyter Notebook 本文不讲解在Anaconda中安装. 安装方法 sudo python -m ...
- Linux基本命令总结(二)
接上篇: 7,cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参 ...
- RGBColorspace 与 GRAYColorspace 图片混合后,生成的视频有点问题
最近有一个用户遇到一个情况: 有3张图片,其中前两张是 RGBColorspace,最后一张是 GrayColorspace: 生成的视频,在显示最后一张图片的时候,明显出现奇怪的色彩区域,看下图: ...
- Let's Encrypt:初次使用免费的ssl证书,并生成java用的 jks(keystore) 文件
现在都流行 https,今天晚上花了二个小时,学习了一下,这里做个学习总结: 因为刚开始接触,就使用免费的:Let's Encrypt Let's Encrypt证书特点: 1. 现在主流的浏览器(c ...
- Hibernate 基础解析(Configuration,SessionFactory,Session,Transaction,Query,Criteria)
1 框架体系结构 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实 现面向对象编程语言里 ...
- IDEA和WebStorm破解教程--激活n年(随时更新)
首先,打开蓝雨的官网--->http://idea.lanyus.com/,找到这个jar包 之后,去官网下载IDEA--->https://www.jetbrains.com/idea ...
- Linux中sed的用法实践
Linux中sed的用法实践 参考资料:https://www.cnblogs.com/emanlee/archive/2013/09/07/3307642.html http://www.fn139 ...
- Vue less使用scope时渗入修改子组件样式
@deep: ~'>>>'; .wrap { @{deep} .component1 { width: 120px; } }
- rancher2.0部署
1.安装前准备 #当前环境介绍 操作系统:CentOS7.3 硬件:2C 4G内存 官网要求Docker版本: 1.12.6 1.13.1 17.03.2 #关闭防火墙 systemctl stop ...