예제 #1
0
        public static ICriteria WhereCaseInsensitiveContains <T>(this ICriteria criteria, Expression <Func <T, object> > expression, string value)
        {
            var criterion = Restrictions.InsensitiveLike(expression.ToPropertyName(), "%" + value + "%");

            return(criteria.Add(criterion));
        }
예제 #2
0
        public static ICriteria WhereNotIn <T>(this ICriteria criteria, Expression <Func <T, object> > expression, DetachedCriteria subquery)
        {
            var propertyName = expression.ToPropertyName();

            return(criteria.Add(Subqueries.PropertyNotIn(propertyName, subquery)));
        }
예제 #3
0
        public static ICriteria WhereOnOrAfter <T>(this ICriteria criteria, Expression <Func <T, object> > expression, object value)
        {
            var propertyName = expression.ToPropertyName();

            return(criteria.Add(Expression.Ge(propertyName, value)));
        }
예제 #4
0
        public static ICriteria WhereIsNull <T>(this ICriteria criteria, Expression <Func <T, object> > expression)
        {
            var propertyName = expression.ToPropertyName();

            return(criteria.Add(Restrictions.IsNull(propertyName)));
        }
예제 #5
0
        public static ICriteria WhereEqualTo <T, U>(this ICriteria criteria, Expression <Func <T, U> > expression, U value)
        {
            var propertyName = expression.ToPropertyName();

            return(criteria.Add(Expression.Eq(propertyName, value)));
        }
예제 #6
0
        public static DetachedCriteria SetProjection <T>(this DetachedCriteria criteria, Expression <Func <T, object> > expression)
        {
            var propertyName = expression.ToPropertyName();

            return(criteria.SetProjection(Projections.Property(propertyName)));
        }