zoukankan      html  css  js  c++  java
  • 学习笔记: Expression表达式目录树详解和扩展封装

    1. 表达式链接扩展封装,ORM常用 And  Or

    /// <summary>
    /// 表达式访问者
    /// </summary>
    public class ExpressionVisitorTest
    {

        public static void Show()
         {
            

            #region 表达式链接
             {
                 Expression<Func<People, bool>> lambda1 = x => x.Age > 5;
                 Expression<Func<People, bool>> lambda2 = x => x.Id > 5;
                 Expression<Func<People, bool>> lambda3 = lambda1.And(lambda2);
                 Expression<Func<People, bool>> lambda4 = lambda1.Or(lambda2);
                 Expression<Func<People, bool>> lambda5 = lambda1.Not();
                 Do1(lambda3);
                 Do1(lambda4);
                 Do1(lambda5);
             }
             #endregion


         }
         #region PrivateMethod
         private static void Do1(Func<People, bool> func)
         {
             List<People> people = new List<People>();
             people.Where(func);
         }
         private static void Do1(Expression<Func<People, bool>> func)
         {
             List<People> people = new List<People>()
             {
                 new People(){Id=4,Name="123",Age=4},
                 new People(){Id=5,Name="234",Age=5},
                 new People(){Id=6,Name="345",Age=6},
             };

            List<People> peopleList = people.Where(func.Compile()).ToList();
         }

        private static IQueryable<People> GetQueryable(Expression<Func<People, bool>> func)
         {
             List<People> people = new List<People>()
             {
                 new People(){Id=4,Name="123",Age=4},
                 new People(){Id=5,Name="234",Age=5},
                 new People(){Id=6,Name="345",Age=6},
             };

            return people.AsQueryable<People>().Where(func);
         }
         #endregion
    }

  • 相关阅读:
    JavaScript--截取字符串
    C#--Dictionary字典学习
    根据条件把A表数据更新到B表中一个字段中(查询更新)
    zip多文件的压缩下载和解压
    C# 创建一个新的DataTable,并根据查询的DataTable结果进行重新赋值
    C# string.formate() 中 如何使用string 循环出来的一串字符
    asp.net mvc 之jqgird 列表数据 根据字典显示中文
    asp.net mvc 之显示24小时折线对比数据
    hightchart扇形图asp.net mvc 实现
    hightchart单个柱状图实现之asp.net mvc
  • 原文地址:https://www.cnblogs.com/xtxtx/p/9162432.html
Copyright © 2011-2022 走看看