Click or drag to resize

DbSpecificCreatorBase Class

Base class for every DbSpecificCreator implementation
Inheritance Hierarchy
SystemObject
  SD.LLBLGen.Pro.ORMSupportClassesDbSpecificCreatorBase
    More...

Namespace:  SD.LLBLGen.Pro.ORMSupportClasses
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.11.0.0 (5.11.23.1114)
Syntax
[SerializableAttribute]
public abstract class DbSpecificCreatorBase : IDbSpecificCreator, 
	IDbSpecificHintCreator

The DbSpecificCreatorBase type exposes the following members.

Constructors
  NameDescription
Protected methodDbSpecificCreatorBase
Initializes a new instance of the DbSpecificCreatorBase class.
Protected methodDbSpecificCreatorBase(Boolean)
Creates a new DbSpecificCreatorBase instance.
Top
Properties
  NameDescription
Protected propertyAliasScopes
Gets the alias scopes.
Public propertyCreatingSubQuery
Gets a value indicating whether the creator initiated a subquery creation. The DQE can then decide to limit the SQL emitting as some databases limit features for subqueries.
Public propertyFactoryToUse
Gets the DbProviderFactory instance to use.
Protected propertyParameterPrefix
Gets the parameter prefix, if required. If no parameter prefix is required, this property will return the empty string (by default it returns the empty string).
Public propertyPerCallCatalogNameOverwrites
Gets / sets perCallCatalogNameOverwrites name pairs
Public propertyPerCallSchemaNameOverwrites
Gets / sets perCallSchemaNameOverwrites name pairs
Protected propertySetTimeoutOnCommandCreate
Gets a value indicating whether the timeout has to be set on command create.
Top
Methods
  NameDescription
Protected methodAddParameterToScopeTracker
Adds the parameter to scope tracker.
Public methodAppendEscapeClauseForLikePredicate
Appends the character specified to the string builder specified together with ESCAPE to use it as an escape. If a database doesn't support the ESCAPE clause, implement this method and simply return null. By default this method appends ESCAPE parameter, where parameter is a string parameter with the character specified.
Public methodAppendExpressionElementsToBuilder
Appends the left and right operands to the string builder specified using the operator specified. By default this will do (leftoperand operator rightoperand) however this method allows databases to perform the operator using e.g. function calls.
Public methodAppendJoinSideToJoinFragments
Appends the elements as a join side to the fragments passed in in the default format: ElementName temporalPredicate alias tableHint. If an element is specified as empty/null, the element is skipped and no trailing space is emitted.
Public methodAppendValidIdentifier
Routine which creates a valid identifier string for the plain identifier string passed in and appends the fragments to the queryfragments specified. For example, the identifier will be surrounded by "[]" on sqlserver. If the specified rawIdentifier needs wrapping with e.g. [], the [ and ] characters are added as separate fragments to toAppendTo so no string concatenation has to take place. Use this method over CreateValidAlias if possible.
Public methodClampNameToLengthLimit
Method which clamps the passed in string to F__hashcode of toClamp if the length of toClamp is too long and this creator's useRestrictedLengthOnAliasesOfFields is set to true in the ctor (which is the case in DB2 and Oracle)
Protected methodConstructCallToAggregateWithFieldAsParameter
Constructs a call to the aggregate function specified with the field name specified as parameter.
Public methodConvertComparisonOperator
Converts the passed in comparison operator to a string usable in a query.
Public methodConvertExpressionOperator
Converts the passed in expression operator (exop) to a string usable in a query
Public methodConvertExpressionToQueryFragment
Converts the expression to a query fragment and adds the parameters created during this process to the passed in parametercollection
Protected methodConvertFieldToRawName
Converts the name of the field to the plain base name to use further in the CreateFieldName routine. This routine makes sure expressions and function calls are taken into account. Used as the start call from CreateFieldName.
Public methodConvertParameterOutputValueToRealValueT
Converts the parameter output value (contained in the parameter specified) to a real value. This is necessary for example if the value of the parameter is a value of a type native to an ADO.NET provider, like OracleDecimal.
Public methodConvertSetOperator
Converts the passed in set operator to a string usable in a query
Public methodConvertSortOperator
Converts the passed in sort operator to a string usable in a query
Public methodCreateCommand
Creates a new command.
Public methodCreateCommand(DbConnection)
Creates a new command instance
Protected methodCreateDynamicQueryEngine
Creates a new dynamic query engine instance
Public methodCreateFieldName(IEntityFieldCore, IFieldPersistenceInfo, String, String, Boolean)
Creates the name for the field, and takes into account an aggregate function present and an expression present. If one or both are present, the field is replaced with (expression) or surrounded with (aggregate) the function (if applyAggregateFunction is true).
Public methodCreateFieldName(IFieldPersistenceInfo, String, String, String, String)
Creates a valid field name based on the passed in IFieldPersistenceInfo implementation. The fieldname is ready to use in queries and contains all pre/postfix characters required. This field name is not padded with an alias if that alias should be created. Effectively, this is the same as CreateFieldName(field persistence info, fieldname, false);
Public methodCreateFieldName(IFieldPersistenceInfo, String, String, Boolean, String, String)
Creats a valid field name based on the passed in IFieldPersistenceInfo implementation. The fieldname is ready to use in queries and contains all pre/postfix characters required.
Public methodCreateFieldNameSimple(IFieldPersistenceInfo, String)
Creates a valid field name based on the passed in IFieldPersistenceInfo implementation. The fieldname is ready to use in queries and contains all pre/postfix characters required. This field name is not padded with an alias if that alias should be created. Effectively, this is the same as CreateFieldNameSimple(field persistence info, fieldname, false);. The fieldname is 'simple' in that it doesn't contain any catalog, schema or table references.
Public methodCreateFieldNameSimple(IFieldPersistenceInfo, String, Boolean)
Creats a valid field name based on the passed in IFieldPersistenceInfo implementation. The fieldname is ready to use in queries and contains all pre/postfix characters required. The fieldname is 'simple' in that it doesn't contain any catalog, schema or table references.
Public methodCreateHintStatement Obsolete.
Creates the hint statement for the hint passed in.
Public methodCreateLikeParameter
Creates a valid Parameter for the pattern in a LIKE statement. This is a special case, because it shouldn't rely on the type of the field the LIKE statement is used with but should be the unicode varchar type.
Public methodCreateNewAliasScope
Creates a new alias scope and makes it active.
Public methodCreateObjectName(IFieldPersistenceInfo)
Creates a valid object name (f.e. a name for a table or view) based on the passed in IFieldPersistenceInfo implementation. The fieldname is ready to use in queries and contains all pre/postfix characters required.
Public methodCreateObjectName(String, String, String)
Creates a valid object name (e.g. a name for a table or view) based on the fragments specified. The name is ready to use and contains all alias wrappings required.
Public methodCreateParameter(ParameterDirection, Object)
Creates a parameter based on the direction passed in and the value passed in.
Public methodCreateParameter(ParameterDirection, Object, String)
Creates a parameter based on the direction passed in and the value passed in.
Public methodCreateParameter(IEntityFieldCore, IFieldPersistenceInfo, ParameterDirection)
Creates a valid Parameter based on the passed in IEntityFieldCore implementation and the passed in IFieldPersistenceInfo instance
Public methodCreateParameter(IEntityFieldCore, IFieldPersistenceInfo, ParameterDirection, Object)
Creates a valid Parameter based on the passed in IEntityFieldCore implementation and the passed in IFieldPersistenceInfo instance
Public methodCreateParameter(String, Int32, ParameterDirection, Boolean, Byte, Byte, Object)
Creates a new, filled parameter.
Protected methodCreateParameterInstance(String)
Creates a new parameter instance.
Protected methodCreateParameterInstance(Object, String)
Creates a new parameter instance. It sets the value but doesn't set the type so the parameter type depends on the value.
Protected methodCreateParameterInstance(String, Object)
Creates a new parameter instance (with direction: input)
Protected methodCreateParameterInstance(String, ParameterDirection, Object)
Creates a new parameter instance.
Protected methodCreateParameterName
Creates a name usable for a Parameter, based on "p" and a unique marker, prefixed with the parameter prefix for this DQE available in ParameterPrefix.
Public methodCreatePlainSQLParameterName(Int32)
Creates the name of a parameter based on the values specified, using the pattern: prefix + "p" + parameterNo. For plain sql queries.
Public methodCreatePlainSQLParameterName(String)
Creates the name of a parameter based on the values specified, using the pattern: prefix + nameWithoutPrefix. For plain sql queries.
Public methodCreateQuery
Creates a new IRetrievalQuery instance from the query specification specified.
Public methodCreateSubQuery
Creates a new Select Query which is ready to use as a subquery, based on the parameters specified
Public methodCreateTemporalTablePredicate
Creates the temporal table predicate fragment for the predicateType specified
Public methodCreateTvfCallQuery
Creates a retrieval query from the tvfcall specified. The query will be a 'SELECT ... FROM functioncall' query.
Public methodCreateValidAlias
Routine which creates a valid alias string for the plain alias passed in. For example, the alias will be surrounded by "[]" on sqlserver.
Public methodDestroyCurrentAliasScope
Destroys the current alias scope and makes the previous one active, if any.
Public methodDetermineDbTypeNameForValue
Determines the db type name (ADO.NET provider specific typename) for value.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFindRealAlias(String, String, String)
Finds the real alias for the entity + objectalias combination. A real alias is necessary as an entity mapped onto multiple tables (through inheritance) is aliased with a single object alias but each target has to have a different real alias. Checks all scopes.
Public methodFindRealAlias(String, String, String, Boolean)
Finds the real alias for the entity + objectalias combination. A real alias is necessary as an entity mapped onto multiple tables (through inheritance) is aliased with a single object alias but each target has to have a different real alias.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetNewPerCallCatalogName(String)
Gets the new catalog name from the per-call hashtable name overwrites set into this object. If no per call name pairs are defined or the name passed in isn't found, the same name passed in is returned. Wraps the returned value in identifier wrapping chars (e.g. []) if needed. If this is unneeded, call the overload which accepts a flag for this.
Public methodGetNewPerCallCatalogName(String, Boolean)
Gets the new catalog name from the per-call hashtable name overwrites set into this object. If no per call name pairs are defined or the name passed in isn't found, the same name passed in is returned
Public methodGetNewPerCallSchemaName(String)
Gets the new schema name from the per-call hashtable name overwrites set into this object. If no per call name pairs are defined or the name passed in isn't found, the same name passed in is returned. Wraps the returned value in identifier wrapping chars (e.g. []) if needed. If this is unneeded, call the overload which accepts a flag for this.
Public methodGetNewPerCallSchemaName(String, Boolean)
Gets the new schema name from the per-call hashtable name overwrites set into this object. If no per call name pairs are defined or the name passed in isn't found, the same name passed in is returned
Protected methodGetRealValue(Object, TypeConverter, Type)
Gets the real value, by converting the passed in value, if necessary
Protected methodGetRealValue(Object, TypeConverter, Type, Boolean)
Gets the real value, by converting the passed in value, if necessary
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetUnionOperatorString
Converts the specified operator to a string
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodProduceFromClauseDirectiveFragments
Produces the from clause directive fragments from the specified fromClauseElementDirectives.
Protected methodSetCreatorInDQE
Sets this instance as the creator in the DQE. Used in subquery creations, to pass on the creator to a DQE.
Protected methodSetParameterSize
Sets the size property in the parameter. This is done in this method as some ADO.NET providers have restrictions on which parameters should have the size property set.
Protected methodSetParameterType
Sets the ADO.NET provider specific Enum type of the parameter, using the string presentation specified.
Public methodStripObjectNameChars
Strips the object name chars from the name passed in. For example [name] will become name
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodToUpperFunctionName
Returns the SQL functionname to make a string uppercase.
Top
See Also
Inheritance Hierarchy