Show / Hide Table of Contents

Class ArgumentField

A FieldInfo facade over a composite SQL expression (a CONCAT, a CASE, an ArgumentFunction, or anything else built from Arguments).

Inheritance
object
QueryElement
Argument
FieldInfo
ArgumentField
Implements
ICloneable
IEquatable<FieldInfo>
Inherited Members
FieldInfo.ToString()
FieldInfo.IsSameField(FieldInfo)
FieldInfo.Equals(object)
FieldInfo.GetHashCode()
FieldInfo.Parent
FieldInfo.Name
FieldInfo.DbName
FieldInfo.Definition
FieldInfo.IsPrimaryKey
FieldInfo.Size
FieldInfo.HasNoDefinition
Argument.ToArgumentArray<T>(T[])
Argument.ToArgumentArray<T>(T[], bool)
Argument.Alias
Argument.DataType
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetType()
Namespace: SuperOffice.Data.SQL
Assembly: SoDataBase.dll
Syntax
public sealed class ArgumentField : FieldInfo, ICloneable, IEquatable<FieldInfo>
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

Constructors

ArgumentField(TableInfo, Argument)

A FieldInfo facade over a composite SQL expression (a CONCAT, a CASE, an ArgumentFunction, or anything else built from Arguments).

Declaration
public ArgumentField(TableInfo parent, Argument wrappedArgument)
Parameters
Type Name Description
TableInfo parent
Argument wrappedArgument
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

ArgumentField(TableInfo, Argument, string)

A FieldInfo facade over a composite SQL expression (a CONCAT, a CASE, an ArgumentFunction, or anything else built from Arguments).

Declaration
public ArgumentField(TableInfo parent, Argument wrappedArgument, string alias)
Parameters
Type Name Description
TableInfo parent
Argument wrappedArgument
string alias
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

Properties

WrappedArgument

A FieldInfo facade over a composite SQL expression (a CONCAT, a CASE, an ArgumentFunction, or anything else built from Arguments).

Declaration
public Argument WrappedArgument { get; }
Property Value
Type Description
Argument
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

Methods

Between(Argument, Argument)

returns a new instance of the Between operator, based on the arguments provided.

Declaration
public override Between Between(Argument min, Argument max)
Parameters
Type Name Description
Argument min

Minimum value

Argument max

Maximum value

Returns
Type Description
Between

a new instance of the Between operator, based on the argument provided.

Overrides
Argument.Between(Argument, Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

Clone()

Memberwise Clone of this object

Declaration
public override object Clone()
Returns
Type Description
object

Copy of the fieldinfo that points to the same parent table.

Overrides
FieldInfo.Clone()
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

Equal(Argument)

returns a new instance of the Equal operator, based on the argument provided.

Declaration
public override Equal Equal(Argument argument)
Parameters
Type Name Description
Argument argument

The argument.

Returns
Type Description
Equal

a new instance of the Equal operator, based on the argument provided

Overrides
Argument.Equal(Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

GetMainField()

Information about a database field.

Declaration
public override FieldInfo GetMainField()
Returns
Type Description
FieldInfo

Information about the database field

Overrides
FieldInfo.GetMainField()
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

GetReferencedFields()

Enumerate every FieldInfo referenced inside this argument, recursively.

Declaration
public override IEnumerable<FieldInfo> GetReferencedFields()
Returns
Type Description
IEnumerable<FieldInfo>
Overrides
FieldInfo.GetReferencedFields()
Remarks

Used by Select.GetTableInfos to anchor joins for compound arguments (CASE, CONCAT, math, aggregations, function calls) that wrap fields from multiple tables. Unlike GetMainField(), which returns at most one representative field, this enumerates them all so every referenced table is discovered.

GreaterThan(Argument)

returns a new instance of the GreaterThan operator, based on the argument provided.

Declaration
public override GreaterThan GreaterThan(Argument argument)
Parameters
Type Name Description
Argument argument

The argument.

Returns
Type Description
GreaterThan

a new instance of the GreaterThan operator, based on the argument provided

Overrides
Argument.GreaterThan(Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

GreaterThanOrEqual(Argument)

returns a new instance of the GreaterThanOrEqual operator, based on the argument provided.

Declaration
public override GreaterThanOrEqual GreaterThanOrEqual(Argument argument)
Parameters
Type Name Description
Argument argument

The argument.

Returns
Type Description
GreaterThanOrEqual

a new instance of the GreaterThanOrEqual operator, based on the argument provided

Overrides
Argument.GreaterThanOrEqual(Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

HasAll(params Argument[])

returns a new instance of the HasAll(params Argument[]) operator, based on the argument array provided.

Declaration
public override HasAll HasAll(params Argument[] arg)
Parameters
Type Name Description
Argument[] arg

The argument array

Returns
Type Description
HasAll

a new instance of the Between operator, based on the argument array provided.

Overrides
Argument.HasAll(params Argument[])
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

HasAny(params Argument[])

returns a new instance of the HasAny(params Argument[]) operator, based on the argument array provided.

Declaration
public override HasAny HasAny(params Argument[] arg)
Parameters
Type Name Description
Argument[] arg

The argument array

Returns
Type Description
HasAny

a new instance of the Between operator, based on the argument array provided.

Overrides
Argument.HasAny(params Argument[])
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

HasFlag(Argument)

returns a new instance of the HasFlag operator, based on the argument provided.

Declaration
public override HasFlag HasFlag(Argument arg)
Parameters
Type Name Description
Argument arg

The argument

Returns
Type Description
HasFlag

a new instance of the HasFlag operator, based on the argument provided.

Overrides
Argument.HasFlag(Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

HasNoFlag(Argument)

returns a new instance of the HasNoFlag operator, based on the argument provided.

Declaration
public override HasNoFlag HasNoFlag(Argument arg)
Parameters
Type Name Description
Argument arg

The argument

Returns
Type Description
HasNoFlag

a new instance of the HasNoFlag operator, based on the argument provided.

Overrides
Argument.HasNoFlag(Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

In(params Argument[])

returns a new instance of the In operator, based on the argument array provided.

Declaration
public override In In(params Argument[] arg)
Parameters
Type Name Description
Argument[] arg

The argument array

Returns
Type Description
In

a new instance of the Between operator, based on the argument array provided.

Overrides
Argument.In(params Argument[])
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

IsNotNull()

returns a new instance of the IsNotNull operator, that determines whether this computed field is not null.

Declaration
public override IsNotNull IsNotNull()
Returns
Type Description
IsNotNull

a new instance of the IsNotNull operator.

Overrides
Argument.IsNotNull()
Remarks

See IsNull() for why this passes this rather than the wrapped argument.

IsNull()

returns a new instance of the IsNull operator, that determines whether this computed field is null.

Declaration
public override IsNull IsNull()
Returns
Type Description
IsNull

a new instance of the IsNull operator.

Overrides
Argument.IsNull()
Remarks

Unlike the comparison operators, this passes this (the wrapper) rather than the _wrappedArgument: NullOperators only accepts a FieldInfo as its left operand, and the wrapped argument (e.g. a Concat) is not one. SQL is still correct because ToSql(ArgumentField) expands to the wrapped expression, yielding (<expression>) IS NULL.

LessThan(Argument)

returns a new instance of the LessThan operator, based on the argument provided.

Declaration
public override LessThan LessThan(Argument argument)
Parameters
Type Name Description
Argument argument

The argument.

Returns
Type Description
LessThan

a new instance of the LessThan operator, based on the argument provided

Overrides
Argument.LessThan(Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

LessThanOrEqual(Argument)

returns a new instance of the LessThan operator, based on the argument provided.

Declaration
public override LessThanOrEqual LessThanOrEqual(Argument argument)
Parameters
Type Name Description
Argument argument

The argument.

Returns
Type Description
LessThanOrEqual

a new instance of the LessThanOrEqual operator, based on the argument provided

Overrides
Argument.LessThanOrEqual(Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

Like(Argument)

returns a new instance of the Like operator, based on the argument provided.

Declaration
public override Like Like(Argument argument)
Parameters
Type Name Description
Argument argument

The argument.

Returns
Type Description
Like

a new instance of the Like operator, based on the argument provided

Overrides
Argument.Like(Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

Like(string)

returns a new instance of the Like operator, based on the argument provided.

Declaration
public override Like Like(string value)
Parameters
Type Name Description
string value
Returns
Type Description
Like

a new instance of the Like operator, based on the argument provided

Overrides
Argument.Like(string)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

MissingAll(params Argument[])

returns a new instance of the MissingAll(params Argument[]) operator, based on the argument array provided.

Declaration
public override MissingAll MissingAll(params Argument[] arg)
Parameters
Type Name Description
Argument[] arg

The argument array

Returns
Type Description
MissingAll

a new instance of the Between operator, based on the argument array provided.

Overrides
Argument.MissingAll(params Argument[])
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

MissingAny(params Argument[])

returns a new instance of the MissingAny(params Argument[]) operator, based on the argument array provided.

Declaration
public override MissingAny MissingAny(params Argument[] arg)
Parameters
Type Name Description
Argument[] arg

The argument array

Returns
Type Description
MissingAny

a new instance of the Between operator, based on the argument array provided.

Overrides
Argument.MissingAny(params Argument[])
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

NotBetween(Argument, Argument)

returns a new instance of the NotBetween operator, based on the arguments provided.

Declaration
public override NotBetween NotBetween(Argument min, Argument max)
Parameters
Type Name Description
Argument min

Minimum value

Argument max

Maximum value

Returns
Type Description
NotBetween

a new instance of the NotBetween operator, based on the argument provided.

Overrides
Argument.NotBetween(Argument, Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

NotIn(params Argument[])

returns a new instance of the NotIn operator, based on the argument array provided.

Declaration
public override NotIn NotIn(params Argument[] arg)
Parameters
Type Name Description
Argument[] arg

The argument array

Returns
Type Description
NotIn

a new instance of the NotIn operator, based on the argument array provided.

Overrides
Argument.NotIn(params Argument[])
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

NotLike(Argument)

returns a new instance of the NotLike operator, based on the argument provided.

Declaration
public override NotLike NotLike(Argument argument)
Parameters
Type Name Description
Argument argument

string value

Returns
Type Description
NotLike

a new instance of the NotLike operator, based on the argument provided

Overrides
Argument.NotLike(Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

UnEqual(Argument)

returns a new instance of the UnEqual operator, based on the argument provided.

Declaration
public override UnEqual UnEqual(Argument argument)
Parameters
Type Name Description
Argument argument

The argument.

Returns
Type Description
UnEqual

a new instance of the UnEqual operator, based on the argument provided

Overrides
Argument.UnEqual(Argument)
Remarks

Lets a derived value participate in the column/restriction machinery (return fields, archive list bindings, RestrictionOperations, dialect rendering) as if it were a regular field on Parent, while keeping the underlying expression accessible through WrappedArgument. The wrapper carries the SELECT alias and inherits the wrapped argument's DataType; it has no dictionary Definition (HasNoDefinition is set), so callers that need the dictionary-level type must read it via the SoField on the underlying field.

Operator methods (Equal(Argument), Like(Argument), Between(Argument, Argument), etc.) build restrictions against the wrapped expression rather than the wrapper, so the SQL applies the predicate to the composite value and not to the synthetic alias column.

Implements

ICloneable
IEquatable<T>

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top