public static LinkRequestTable MakeLinkRequest(TableLink metaLink, Table sourceTable, Column sourceColumn, long sourceRow, Database.Operation.ExpressionParsingContext expressionParsingContext) { if (metaLink == null) { return(null); } using (ScopeDebugContext.Func(() => { return("MakeLinkRequest from table '" + sourceTable.GetName() + "' row " + sourceRow); })) { var lr = new LinkRequestTable(); lr.LinkToOpen = metaLink; lr.SourceTable = sourceTable; lr.SourceView = sourceTable as View.ViewTable; lr.SourceColumn = sourceColumn; lr.SourceRow = sourceRow; if (lr.LinkToOpen.Parameters != null) { foreach (var p in lr.LinkToOpen.Parameters) { var opt = new Operation.Expression.ParseIdentifierOption(sourceTable.Schema as View.ViewSchema, sourceTable, true, true, typeof(string), expressionParsingContext); var metaExpression = new Operation.Expression.MetaExpression(p.Value, true); var exp = Operation.Expression.ParseIdentifier(metaExpression, opt); var exp2 = Operation.ColumnCreator.CreateTypedExpressionFixedRow(exp, sourceRow); lr.Parameters.Add(p.Key, exp2); } } return(lr); } }
public Where.Builder AddWhere(string column, Operation.Operator op, Operation.Expression.MetaExpression value) { Where.Builder w = new Where.Builder(column, op, value); where.Add(w); return(w); }
public Builder(string column, Operation.Operator op, Operation.Expression.MetaExpression value) { comparison = new Operation.MetaColumnComparison(column, op, value); }
public Builder(string name, Operation.Expression.MetaExpression value) { this.name = name; this.value = value; }