Beispiel #1
0
        private static QueryExpression CreateComparison(QueryExpression left, SqlComparisonOperator comparisonType, QueryExpression right)
        {
            switch (comparisonType)
            {
            case SqlComparisonOperator.AreEqual:
                return(QueryExpression.AreEqual(left, right));

            case SqlComparisonOperator.AreNotEqual:
                return(QueryExpression.AreNotEqual(left, right));

            case SqlComparisonOperator.GreaterThan:
                return(QueryExpression.GreaterThan(left, right));

            case SqlComparisonOperator.GreaterThanOrEqualTo:
                return(QueryExpression.GreaterThanOrEqualTo(left, right));

            case SqlComparisonOperator.LessThan:
                return(QueryExpression.LessThan(left, right));

            case SqlComparisonOperator.LessThanOrEqualTo:
                return(QueryExpression.LessThanOrEqualTo(left, right));

            case SqlComparisonOperator.Like:
                return(QueryExpression.Like(left, right));
            }
            throw new InvalidOperationException();
        }
Beispiel #2
0
        public void OrElse <TValue>(SqlStorageField <TEntity, TValue> field, SqlComparisonOperator comparisonType, TValue value)
        {
            if (field.RequiresJoin)
            {
                foreach (var(joinBuilder, _) in field.JoinSpecification.CreateJoin(_dataSchema, field, _tableIdentifier))
                {
                    AddJoin(joinBuilder);
                }
            }

            _expression = _expression.OrElse(
                CreateComparison(
                    QueryExpression.Column(field.ColumnName),
                    comparisonType,
                    QueryExpression.Value(value)
                    ));
        }
Beispiel #3
0
 public static DvlSqlComparisonExpression ComparisonExp(DvlSqlConstantExpression leftExp, SqlComparisonOperator op,
                                                        DvlSqlConstantExpression rightExp)
 => new DvlSqlComparisonExpression(leftExp, op, rightExp);
Beispiel #4
0
 IWhereQueryBuilder <TEntity> IWhereQueryBuilder <TEntity> .OrWhere <TValue>(Schema.Sql.SqlStorageField <TEntity, TValue> field, SqlComparisonOperator comparisonType, TValue value)
 => OrWhere(field, comparisonType, value);
Beispiel #5
0
 public SqlDeleteOperation <TEntity> OrWhere <TValue>(Schema.Sql.SqlStorageField <TEntity, TValue> field, SqlComparisonOperator comparisonType, TValue value)
 {
     _queryBuilder.OrWhere(field, comparisonType, value);
     return(this);
 }
Beispiel #6
0
 public SqlUpdateBuilder <TEntity> AndWhere <TValue>(SqlStorageField <TEntity, TValue> field, SqlComparisonOperator comparisonType, TValue value)
 {
     _whereBuilder.AndAlso(field, comparisonType, value);
     return(this);
 }
Beispiel #7
0
 public SqlDeleteBuilder <TEntity> OrWhere <TValue>(SqlStorageField <TEntity, TValue> field, SqlComparisonOperator comparisonType, TValue value)
 {
     _whereBuilder.OrElse(field, comparisonType, value);
     return(this);
 }
Beispiel #8
0
 public TSelf AndWhere <TValue>(Schema.Sql.SqlStorageField <TEntity, TValue> field, SqlComparisonOperator comparisonType, TValue value)
 {
     QueryBuilder.AndWhere(field, comparisonType, value);
     return(_self);
 }
Beispiel #9
0
 IHavingQueryBuilder <TEntity> IHavingQueryBuilder <TEntity> .OrHaving <TValue>(Schema.Sql.SqlStorageField <TEntity, TValue> field, SqlComparisonOperator comparisonType, TValue value)
 => OrHaving(field, comparisonType, value);
Beispiel #10
0
 public SqlSelectBuilder <TEntity> OrHaving <TValue>(SqlStorageField <TEntity, TValue> field, SqlComparisonOperator comparisonType, TValue value)
 {
     _havingBuilder.OrElse(field, comparisonType, value);
     return(this);
 }
Beispiel #11
0
 public DvlSqlComparisonExpression(DvlSqlConstantExpression leftExpression, SqlComparisonOperator comparisonOperator,
                                   DvlSqlConstantExpression rightExpression) => (this.LeftExpression, this.ComparisonOperator, this.RightExpression) =