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的更多相关文章

  1. .NET技术-6.0. Expression 表达式树 生成 Lambda

    .NET技术-6.0. Expression 表达式树 生成 Lambda public static event Func<Student, bool> myevent; public ...

  2. 自动生成 Lambda查询和排序,从些查询列表so easy

    如下图查询页面,跟据不同条件动态生成lambda的Where条件和OrderBy,如果要增加或调整查询,只用改前台HTML即可,不用改后台代码 前台代码: <div style="pa ...

  3. c# 使用Expression 生成sql

    使用Expression 生成sql  update语句的时候遇到了个问题 ,Expression<Action<T>>  la   这个委托里面老获取不到 引用类型的值,甚至 ...

  4. 在EF中使用Expression自动生成p=>new Entity(){X="",Y="",..}格式的Lambda表达式灵活实现按需更新

    一.基本介绍      回忆:最早接触Expression是在学校接触到EF的时候,发现where方法里的参数是Expression<Func<T,bool>>这么一个类型,当 ...

  5. 匿名函数 lambda表达式(lambda expression)

    阅读g2log时,发现有两行代码居然看不懂. 1. auto bg_call =  [this, log_directory]() {return pimpl_->backgroundChang ...

  6. SqlDataReader生成动态Lambda表达式

    上一扁使用动态lambda表达式来将DataTable转换成实体,比直接用反射快了不少.主要是首行转换的时候动态生成了委托. 后面的转换都是直接调用委托,省去了多次用反射带来的性能损失. 今天在对Sq ...

  7. 生成动态Lambda表达式1

    SqlDataReader生成动态Lambda表达式 上一扁使用动态lambda表达式来将DataTable转换成实体,比直接用反射快了不少.主要是首行转换的时候动态生成了委托. 后面的转换都是直接调 ...

  8. 浅析Java 8新特性Lambda Expression

    什么是Lambda Expression 对于Lambda Expression,我的理解是,它是一个函数表达式,如下: (int x, int y) -> x - y 符号左边定义了函数的输入 ...

  9. JDK 8 - Lambda Expression 的优点与限制

    我们知道 JDK 8 新增了 Lambda Expression 这一特性. JDK 8 为什么要新增这个特性呢? 这个特性给 JDK 8 带来了什么好处? 它可以做什么?不可以做什么? 在这篇文章, ...

随机推荐

  1. js 触摸的Event--获取触摸位置

    继上一篇js原生拖拽之后,现在又来写一下移动端touch列表,获取触摸位置.pc端的event事件,鼠标的位置信息在上一篇,点此进入上一篇. touch有3个事件:touchstart,touchmo ...

  2. socket,tcp,http三者之间的区别和原理

    http.TCP/IP协议与socket之间的区别下面的图表试图显示不同的TCP/IP和其他的协议在最初OSI模型中的位置: 7 应用层 例如HTTP.SMTP.SNMP.FTP.Telnet.SIP ...

  3. Manjaro更新出现冲突

    ➜ ~ sudo pacman -Syyu :: Synchronizing package databases... core 147.5 KiB 1378K/s 00:00 [########## ...

  4. JQuery选择器,事件,DOM操作,动画

    JQuery是一个JavaScript代码库,或者是JavaScript框架: 1.选择器:(和CSS选择器一致) 基本选择器:ID选择器$('#div1');Class选择器('.div1');标签 ...

  5. Miniconda 虚拟环境安装及应用

    首先要下载Miniconda安装包 下载地址  链接:https://pan.baidu.com/s/1rj-9exKBSHnCCxqq7JQSxA      提取码:ab53 下一步 打开下载好的M ...

  6. navicat premium 12破解流程

    具体步骤:这是破解的具体链接 仅此记录,以供后续之需

  7. Codeforces Round #523 (Div. 2) C Multiplicity (DP)

    传送门 https://www.cnblogs.com/violet-acmer/p/10005351.html 题意: 给定一数组a[],从a[ ]中除去任意个元素得到b[ ],求能形成多少“好序列 ...

  8. ES6优缺点

    看了一篇ES6语法示例,觉得还可以 here ES6是新一版的标准,对语言有扩展,添加了新的属性与方法.这一标准虽然现在还要用babel来做浏览器支持(将ES6编译成ES5才能被浏览器支持),但是未来 ...

  9. HTML学习笔记Day12

    一.CSS3基础 (一)css3概念及优势 概念:CSS3是css技术的升级版本,CSS3语言开发是朝着模块化发展的.以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多 ...

  10. sprignclou的zuul的实战

    idea启动集群服务: https://blog.csdn.net/love_dl_forever/article/details/78918181 http://www.scienjus.com/a ...