Expression在Restrictions类,引用using System.Linq.Expressions(dll);
下边整理下常用的几个方法及对应关系,后附其他相关表达式
表达式 | 对应SQL语法 | 例子 |
Expression.eq | fidld=value | Expression.eq("ame","张三") |
Expression.gt | field>value | Expression.Gt("Age", 18) |
Expression.ge | field>=value | Expression.Ge("Age", 18) |
Expression.lt | field<value | Expression.lt("Age", 18) |
Expression.le | field<=value | Expression.le("Age", 18) |
Expression.between | between表达式 | Expression.between("age",new Integer(16),new Integer(18)) |
Expression.like | field like value | Expression.Like("Name", "%张%") |
Expression.in | field in value | Expression.In("Age", age) |
Expression.and | and | Expression.and(Expression.eq("Name","张三"),Expression.eq("Age","26")) |
Expression.or | or | Expression.or(Expression.eq("Name","张三"),Expression.eq("Age","26")) |
Expression.sql | 原生sql语法 | Expression.Sql(string.Format("Age>=18")) |
Expression.Not | not | Expression.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);
}