Expression常用方法使用

Expression在Restrictions类,引用using System.Linq.Expressions(dll);


下边整理下常用的几个方法及对应关系,后附其他相关表达式

表达式对应SQL语法例子
Expression.eqfidld=valueExpression.eq("ame","张三")
Expression.gtfield>valueExpression.Gt("Age", 18)
Expression.gefield>=valueExpression.Ge("Age", 18)
Expression.ltfield<valueExpression.lt("Age", 18)
Expression.lefield<=valueExpression.le("Age", 18)
Expression.betweenbetween表达式Expression.between("age",new Integer(16),new Integer(18))
Expression.likefield like valueExpression.Like("Name", "%张%")
Expression.infield in valueExpression.In("Age", age)
Expression.andandExpression.and(Expression.eq("Name","张三"),Expression.eq("Age","26"))
Expression.ororExpression.or(Expression.eq("Name","张三"),Expression.eq("Age","26"))
Expression.sql原生sql语法Expression.Sql(string.Format("Age>=18"))
Expression.NotnotExpression.Not(Expression.Eq("Name", "张三"))

 

附:

 public class Restrictions
    {
        public static AbstractCriterion AllEq(IDictionary propertyNameValues);
        public static AbstractCriterion And(ICriterion lhs, ICriterion rhs);
        public static AbstractCriterion Between(string propertyName, object lo, object hi);
        public static AbstractCriterion Between(IProjection projection, object lo, object hi);
        public static Conjunction Conjunction();
        public static Disjunction Disjunction();
        public static SimpleExpression Eq(string propertyName, object value);
        public static SimpleExpression Eq(IProjection projection, object value);
        public static AbstractCriterion EqProperty(IProjection projection, string otherPropertyName);
        public static AbstractCriterion EqProperty(string propertyName, string otherPropertyName);
        public static AbstractCriterion EqProperty(IProjection lshProjection, IProjection rshProjection);
        public static AbstractCriterion EqProperty(string propertyName, IProjection rshProjection);
        public static SimpleExpression Ge(IProjection projection, object value);
        public static SimpleExpression Ge(string propertyName, object value);
        public static AbstractCriterion GeProperty(IProjection projection, string otherPropertyName);
        public static AbstractCriterion GeProperty(IProjection lhsProjection, IProjection rhsProjection);
        public static AbstractCriterion GeProperty(string propertyName, string otherPropertyName);
        public static AbstractCriterion GeProperty(string propertyName, IProjection projection);
        public static SimpleExpression Gt(string propertyName, object value);
        public static SimpleExpression Gt(IProjection projection, object value);
        public static AbstractCriterion GtProperty(string propertyName, IProjection projection);
        public static AbstractCriterion GtProperty(IProjection projection, string otherPropertyName);
        public static AbstractCriterion GtProperty(string propertyName, string otherPropertyName);
        public static AbstractCriterion GtProperty(IProjection lhsProjection, IProjection rhsProjection);
        public static AbstractCriterion IdEq(IProjection projection);
        public static AbstractCriterion IdEq(object value);
        public static AbstractCriterion In(string propertyName, object[] values);
        public static AbstractCriterion In(IProjection projection, ICollection values);
        public static AbstractCriterion In(IProjection projection, object[] values);
        public static AbstractCriterion In(string propertyName, ICollection values);
        public static AbstractCriterion InG<T>(string propertyName, IEnumerable<T> values);
        public static AbstractCriterion InG<T>(IProjection projection, IEnumerable<T> values);
        public static AbstractCriterion InsensitiveLike(IProjection projection, object value);
        public static AbstractCriterion InsensitiveLike(string propertyName, object value);
        public static AbstractCriterion InsensitiveLike(string propertyName, string value, MatchMode matchMode);
        public static AbstractCriterion InsensitiveLike(IProjection projection, string value, MatchMode matchMode);
        public static AbstractEmptinessExpression IsEmpty(string propertyName);
        public static AbstractEmptinessExpression IsNotEmpty(string propertyName);
        public static AbstractCriterion IsNotNull(string propertyName);
        public static AbstractCriterion IsNotNull(IProjection projection);
        public static AbstractCriterion IsNull(IProjection projection);
        public static AbstractCriterion IsNull(string propertyName);
        public static SimpleExpression Le(IProjection projection, object value);
        public static SimpleExpression Le(string propertyName, object value);
        public static AbstractCriterion LeProperty(string propertyName, string otherPropertyName);
        public static AbstractCriterion LeProperty(IProjection projection, string otherPropertyName);
        public static AbstractCriterion LeProperty(string propertyName, IProjection projection);
        public static AbstractCriterion LeProperty(IProjection lhsProjection, IProjection rhsProjection);
        public static SimpleExpression Like(string propertyName, string value, MatchMode matchMode);
        public static SimpleExpression Like(string propertyName, object value);
        public static AbstractCriterion Like(string propertyName, string value, MatchMode matchMode, char? escapeChar);
        public static SimpleExpression Like(IProjection projection, object value);
        public static SimpleExpression Like(IProjection projection, string value, MatchMode matchMode);
        public static SimpleExpression Lt(IProjection projection, object value);
        public static SimpleExpression Lt(string propertyName, object value);
        public static AbstractCriterion LtProperty(IProjection lhsProjection, IProjection rhsProjection);
        public static AbstractCriterion LtProperty(string propertyName, IProjection projection);
        public static AbstractCriterion LtProperty(IProjection projection, string otherPropertyName);
        public static AbstractCriterion LtProperty(string propertyName, string otherPropertyName);
        public static NaturalIdentifier NaturalId();
        public static AbstractCriterion Not(ICriterion expression);
        public static AbstractCriterion NotEqProperty(string propertyName, string otherPropertyName);
        public static AbstractCriterion NotEqProperty(string propertyName, IProjection rhsProjection);
        public static AbstractCriterion NotEqProperty(IProjection lhsProjection, IProjection rhsProjection);
        public static AbstractCriterion NotEqProperty(IProjection projection, string otherPropertyName);
        public static LambdaRestrictionBuilder On<T>(Expression<Func<T, object>> expression);
        public static LambdaRestrictionBuilder On(Expression<Func<object>> expression);
        public static AbstractCriterion Or(ICriterion lhs, ICriterion rhs);
        public static ICriterion Where<T>(Expression<Func<T, bool>> expression);
        public static ICriterion Where(Expression<Func<bool>> expression);
        public static ICriterion WhereNot<T>(Expression<Func<T, bool>> expression);
        public static ICriterion WhereNot(Expression<Func<bool>> expression);
    }

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值