protected override void AddFilterCondition <T>( Expression <Func <T, bool> > selector, string alias = null, LogicalOperator logicalOperator = LogicalOperator.NotSet) { var body = selector.Body as BinaryExpression; var conditions = currentFilterGroup.Conditions; var filterCondition1 = new FilterCondition(); filterCondition1.Alias = alias; filterCondition1.EntityType = typeof(T); filterCondition1.Left = "_LambdaTree_"; filterCondition1.LocigalOperator = logicalOperator; filterCondition1.LambdaTree = AtkExpressionWriterSql <T> .AtkWhereWriteToString(selector, AtkExpSqlType.atkWhere, "[", "]"); var filterCondition2 = filterCondition1; conditions.Add(filterCondition2); }
protected override IWhereClauseBuilder AddConditionToCurrentGroup <TEntity>( Expression <Func <TEntity, bool> > expression, LogicalOperator locigalOperator, string alias = null, string tableName = null, string tableSchema = null) { ThrowIfNotInitialised(); IsClean = false; var conditions = currentGroup.Conditions; var whereClauseCondition = new WhereClauseCondition(); whereClauseCondition.Alias = alias; whereClauseCondition.LocigalOperator = locigalOperator; whereClauseCondition.LeftTable = string.IsNullOrWhiteSpace(tableName) ? TableNameFromType <TEntity>() : tableName; whereClauseCondition.LeftSchema = string.IsNullOrWhiteSpace(tableSchema) ? "dbo" : tableSchema; whereClauseCondition.Left = "_LambdaTree_"; whereClauseCondition.Right = AtkExpressionWriterSql <TEntity> .AtkWhereWriteToString(expression, AtkExpSqlType.atkWhere, "[", "]"); conditions.Add(whereClauseCondition); return(this); }
protected override void AddFilterCondition <T>( Expression <Func <T, bool> > selector, string alias = null, LogicalOperator logicalOperator = LogicalOperator.NotSet) { var conditions = currentFilterGroup.Conditions; var lambdaTree = AtkExpressionWriterSql <T> .AtkWhereWriteToStringWithParameters(selector, AtkExpSqlType.AtkWhere, "[", "]"); var filterCondition1 = new FilterCondition { Alias = alias, EntityType = typeof(T), Left = "_LambdaTree_", LocigalOperator = logicalOperator, LambdaTree = lambdaTree?.Sql, ParameterDefinitions = lambdaTree?.Parameters, ExpressionOperator = lambdaTree?.Operator }; conditions.Add(filterCondition1); }