Click or drag to resize

IDbSpecificCreator Interface

Interface for DatabaseSpecificCreator objects, which use the Strategy pattern to supply IPredicate implementations with a way to create parameter objects, field names, including prefix/postfix characters, and conversion routines, which suit the target database. Generic

Namespace:  SD.LLBLGen.Pro.ORMSupportClasses
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.10.0.0 (5.10.0)
Syntax
public interface IDbSpecificCreator

The IDbSpecificCreator type exposes the following members.

Properties
  NameDescription
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.
Public propertyPerCallCatalogNameOverwrites
Gets / sets perCallCatalogNameOverwrites name pairs
Public propertyPerCallSchemaNameOverwrites
Gets / sets perCallSchemaNameOverwrites name pairs
Top
Methods
  NameDescription
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)
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
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 instance
Public methodCreateCommand(DbConnection)
Creates a new command 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 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 (e.g. 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.
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 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 methodGetNewPerCallCatalogName
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
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
Public methodGetUnionOperatorString
Converts the specified operator to a string
Public methodStripObjectNameChars
Strips the object name chars from the name passed in. For example [name] will become name
Public methodToUpperFunctionName
Returns the SQL functionname to make a string uppercase.
Top
See Also