zoukankan      html  css  js  c++  java
  • Entity Framework底层操作封装V2版本号(3)

    如今是附加的。组合查询须要的扩展类。

    大家知道lanmda表达式的组合条件比較麻烦。所以就加了一样一个类,方便进行组合查询:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Linq.Expressions;
    
    namespace JFrame.AccessCommon
    {
        public static class PredicateExtensions
        {
    
            public static Expression<Func<T, bool>> True<T>()
            {
                return f => true;
            }
    
            public static Expression<Func<T, bool>> False<T>()
            {
                return f => false;
            }
            public static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> expression1, Expression<Func<T, bool>> expression2)
            {
                var invokedExpression = Expression.Invoke(expression2, expression1.Parameters.Cast<Expression>());
                return Expression.Lambda<Func<T, bool>>(Expression.Or(expression1.Body, invokedExpression), expression1.Parameters);
            }
            public static Expression<Func<T, bool>> And<T>(this Expression<Func<T, bool>> expression1, Expression<Func<T, bool>> expression2)
            {
                var invokedExpression = Expression.Invoke(expression2, expression1.Parameters.Cast<Expression>()); 
                return Expression.Lambda<Func<T, bool>>(Expression.And(expression1.Body, invokedExpression), expression1.Parameters);
    
            }
        }
    }
    


     

     

  • 相关阅读:
    定制事件 观察者模式
    定时器的高级运用 优化
    tamper-proof 对象 nonextensible对象 sealed对象 frozen对象
    函数柯理化
    跨域 Ajax 其他可选技术 异步
    Ajax 跨域 异步 CORS
    原样输出html标签
    JavaScript
    css 中name的用途
    iview 按需引入解决加载慢的问题
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10075096.html
Copyright © 2011-2022 走看看