Table of Contents

Class BaseQueryGenerator

Namespace
DevExpress.Xpo.Generators
Assembly
DevExpress.Xpo.v24.1.dll
public abstract class BaseQueryGenerator : IClientCriteriaVisitor<CriteriaOperator>, ICriteriaVisitor<CriteriaOperator>
Inheritance
BaseQueryGenerator
Implements
IClientCriteriaVisitor<CriteriaOperator>
ICriteriaVisitor<CriteriaOperator>
Derived
Inherited Members

Constructors

BaseQueryGenerator(XPClassInfo, BatchWideDataHolder)

protected BaseQueryGenerator(XPClassInfo objectInfo, BatchWideDataHolder batchWideData)

Parameters

objectInfo XPClassInfo
batchWideData BatchWideDataHolder

BaseQueryGenerator(XPClassInfo, BatchWideDataHolder, CollectionCriteriaPatcher)

protected BaseQueryGenerator(XPClassInfo objectInfo, BatchWideDataHolder batchWideData, CollectionCriteriaPatcher collectionCriteriaPatcher)

Parameters

objectInfo XPClassInfo
batchWideData BatchWideDataHolder
collectionCriteriaPatcher CollectionCriteriaPatcher

Fields

BatchWideData

protected readonly BatchWideDataHolder BatchWideData

Field Value

BatchWideDataHolder

currentJoinType

protected JoinType currentJoinType

Field Value

JoinType

currentLeftJoinEnforcer

protected GroupOperatorType currentLeftJoinEnforcer

Field Value

GroupOperatorType

Properties

ClassInfo

public XPClassInfo ClassInfo { get; set; }

Property Value

XPClassInfo

ClassInfoStack

public Stack<XPClassInfo> ClassInfoStack { get; }

Property Value

Stack<XPClassInfo>

Dictionary

protected XPDictionary Dictionary { get; }

Property Value

XPDictionary

IsGrouped

protected virtual bool IsGrouped { get; }

Property Value

bool

NodeStack

public Stack<JoinNode> NodeStack { get; }

Property Value

Stack<JoinNode>

NodeStackHashSet

public HashSet<string> NodeStackHashSet { get; }

Property Value

HashSet<string>

Root

protected BaseStatement Root { get; }

Property Value

BaseStatement

Methods

BuildAssociationTree(CriteriaOperator)

protected void BuildAssociationTree(CriteriaOperator criteria)

Parameters

criteria CriteriaOperator

ConvertViaDefaultValueConverter(ref object)

public bool ConvertViaDefaultValueConverter(ref object operandValue)

Parameters

operandValue object

Returns

bool

CreateBinary(BinaryOperatorType, CriteriaOperator, CriteriaOperator)

protected CriteriaOperator CreateBinary(BinaryOperatorType type, CriteriaOperator left, CriteriaOperator right)

Parameters

type BinaryOperatorType
left CriteriaOperator
right CriteriaOperator

Returns

CriteriaOperator

CreateOperand(XPMemberInfo, string)

protected QueryOperand CreateOperand(XPMemberInfo member, string nodeAlias)

Parameters

member XPMemberInfo
nodeAlias string

Returns

QueryOperand

CreateOperand(string, string)

protected QueryOperand CreateOperand(string mappingField, string nodeAlias)

Parameters

mappingField string
nodeAlias string

Returns

QueryOperand

CreateRootStatement(DBTable, string)

protected abstract BaseStatement CreateRootStatement(DBTable table, string alias)

Parameters

table DBTable
alias string

Returns

BaseStatement

ExecuteWithPropertyNameDiving(string, Func<string, CriteriaOperator>, bool)

protected CriteriaOperator ExecuteWithPropertyNameDiving(string propertyName, Func<string, CriteriaOperator> worker, bool throwOnEmptyStack = true)

Parameters

propertyName string
worker Func<string, CriteriaOperator>
throwOnEmptyStack bool

Returns

CriteriaOperator

GenerateSql(CriteriaOperator)

protected BaseStatement GenerateSql(CriteriaOperator criteria)

Parameters

criteria CriteriaOperator

Returns

BaseStatement

GetConstParameter(object)

[Obsolete("Use GetConstParameter(object value, DBColumnType dbType, string dbTypeName, int size) instead.")]
protected OperandValue GetConstParameter(object value)

Parameters

value object

Returns

OperandValue

GetConstParameter(object, DBColumnType, string, int)

protected OperandValue GetConstParameter(object value, DBColumnType dbType, string dbTypeName, int size)

Parameters

value object
dbType DBColumnType
dbTypeName string
size int

Returns

OperandValue

GetMembers(JoinNode, XPMemberInfo)

protected BaseQueryGenerator.PropertyAlias GetMembers(JoinNode node, XPMemberInfo member)

Parameters

node JoinNode
member XPMemberInfo

Returns

BaseQueryGenerator.PropertyAlias

GetMembers(XPMemberInfo, out string)

protected List<XPMemberInfo> GetMembers(XPMemberInfo member, out string prefix)

Parameters

member XPMemberInfo
prefix string

Returns

List<XPMemberInfo>

GetNextNodeAlias()

protected virtual string GetNextNodeAlias()

Returns

string

GetParameter(CriteriaOperator, PropertyAlias, int)

protected CriteriaOperator GetParameter(CriteriaOperator param, BaseQueryGenerator.PropertyAlias alias, int index)

Parameters

param CriteriaOperator
alias BaseQueryGenerator.PropertyAlias
index int

Returns

CriteriaOperator

GetPropertyNode(OperandProperty, JoinType)

protected virtual BaseQueryGenerator.PropertyAlias GetPropertyNode(OperandProperty property, JoinType type)

Parameters

property OperandProperty
type JoinType

Returns

BaseQueryGenerator.PropertyAlias

GetPropertyNode(MemberInfoCollection, JoinType)

protected BaseQueryGenerator.PropertyAlias GetPropertyNode(MemberInfoCollection propertyPath, JoinType type)

Parameters

propertyPath MemberInfoCollection
type JoinType

Returns

BaseQueryGenerator.PropertyAlias

GetQueryOperandFromAlias(PropertyAlias, PropertyAlias, int)

protected CriteriaOperator GetQueryOperandFromAlias(BaseQueryGenerator.PropertyAlias aliasFromParam, BaseQueryGenerator.PropertyAlias alias, int index)

Parameters

aliasFromParam BaseQueryGenerator.PropertyAlias
alias BaseQueryGenerator.PropertyAlias
index int

Returns

CriteriaOperator

GetSubJoinCriteria(SubSelectQueryGenerator)

protected virtual CriteriaOperator GetSubJoinCriteria(SubSelectQueryGenerator gena)

Parameters

gena SubSelectQueryGenerator

Returns

CriteriaOperator

GetSubMembers(XPMemberInfo, string)

protected List<XPMemberInfo> GetSubMembers(XPMemberInfo member, string prefix)

Parameters

member XPMemberInfo
prefix string

Returns

List<XPMemberInfo>

InitData()

protected virtual void InitData()

InternalGenerateSql(CriteriaOperator)

protected abstract void InternalGenerateSql(CriteriaOperator criteria)

Parameters

criteria CriteriaOperator

PatchCriteria(CriteriaOperator)

protected CriteriaOperator PatchCriteria(CriteriaOperator originalCriteria)

Parameters

originalCriteria CriteriaOperator

Returns

CriteriaOperator

PatchCriteria(CriteriaOperator, XPClassInfo)

protected CriteriaOperator PatchCriteria(CriteriaOperator originalCriteria, XPClassInfo classInfo)

Parameters

originalCriteria CriteriaOperator
classInfo XPClassInfo

Returns

CriteriaOperator

Process(CriteriaOperator)

protected CriteriaOperator Process(CriteriaOperator operand)

Parameters

operand CriteriaOperator

Returns

CriteriaOperator

ProcessLogical(CriteriaOperator)

protected CriteriaOperator ProcessLogical(CriteriaOperator operand)

Parameters

operand CriteriaOperator

Returns

CriteriaOperator

ProcessLogicalInContext(XPClassInfo, JoinNode, CriteriaOperator)

protected CriteriaOperator ProcessLogicalInContext(XPClassInfo ci, JoinNode singleNode, CriteriaOperator criteria)

Parameters

ci XPClassInfo
singleNode JoinNode
criteria CriteriaOperator

Returns

CriteriaOperator

ProcessSingleAggregateOperand(OperandProperty, CriteriaOperator, CriteriaOperator)

public CriteriaOperator ProcessSingleAggregateOperand(OperandProperty collectionProperty, CriteriaOperator condition, CriteriaOperator aggregatedExpression)

Parameters

collectionProperty OperandProperty
condition CriteriaOperator
aggregatedExpression CriteriaOperator

Returns

CriteriaOperator

ProcessSingleJoinOperand(string, CriteriaOperator, CriteriaOperator)

public CriteriaOperator ProcessSingleJoinOperand(string joinTypeName, CriteriaOperator condition, CriteriaOperator aggregatedExpression)

Parameters

joinTypeName string
condition CriteriaOperator
aggregatedExpression CriteriaOperator

Returns

CriteriaOperator

TryAddNodeIntoProjection(JoinNode, JoinNode)

public void TryAddNodeIntoProjection(JoinNode prevnode, JoinNode node)

Parameters

prevnode JoinNode
node JoinNode