DynamicQueryEngine Class |
Namespace: SD.LLBLGen.Pro.DQE.SqlServer
The DynamicQueryEngine type exposes the following members.
Name | Description | |
---|---|---|
DynamicQueryEngine |
Creates a new DynamicQueryEngine instance.
|
Name | Description | |
---|---|---|
CompatibilityLevel |
The per-instance compatibility level used by this DQE instance. Default is the one set globally, which is by default SqlServer2005 (for 2005+).
Compatibility level influences the query generated for paging, sequence name (@@IDENTITY/SCOPE_IDENTITY()), and usage of newsequenceid() in inserts.
It also influences the ado.net provider to use. This way you can switch between SqlServer server client 'SqlClient' and SqlServer CE Desktop.
| |
Creator |
Gets / sets creator
(Inherited from DynamicQueryEngineBase.) | |
DefaultCompatibilityLevel |
The default compatibility level used by the DQE. Default is SqlServer2005 (for 2005+). To utilize SqlServer 2000 specific features, set this property
to SqlServer2000, either through a setting in the .config file of your application or by setting this parameter once in your application.
Compatibility level influences the query generated for paging, sequence name (@@IDENTITY/SCOPE_IDENTITY()), and usage of newsequenceid() in inserts.
It also influences the ado.net provider to use. This way you can switch between SqlServer server client 'SqlClient' and SqlServer CE Desktop.
| |
DistinctFilteringPreferenceToUse |
Gets or sets the distinct filtering preference to use. The default value is the value of the global variable
DynamicQueryEngineBase.DistinctFilteringPreferenceDefault.
(Inherited from DynamicQueryEngineBase.) | |
FactoryToUse |
Gets the DbProviderFactory to use for this DQE.
(Inherited from DynamicQueryEngineBase.) | |
FunctionMappings |
Gets the function mappings for the particular DQE. These function mappings are static and therefore not changeable.
(Overrides DynamicQueryEngineBaseFunctionMappings.) | |
PerCallCatalogNameOverwrites |
Gets / sets perCallCatalogNameOverwrites name pairs
(Inherited from DynamicQueryEngineBase.) | |
PerCallSchemaNameOverwrites |
Gets / sets perCallSchemaNameOverwrites name pairs
(Inherited from DynamicQueryEngineBase.) | |
SupportsPackedQueries |
Gets whether the database of this DQE supports packed queries, which are queries with multiple SQL statements packed together in a single DbCommand. By default this
property returns false.
(Overrides DynamicQueryEngineBaseSupportsPackedQueries.) |
Name | Description | |
---|---|---|
AddSingleTargetElementToFromClause |
Adds a single target element to from clause. This is used when there's no join to add, but instead a single target. Takes care of hint emitting if required.
(Inherited from DynamicQueryEngineBase.) | |
AppendFieldExpressionAsValueForInsert |
Appends the field's expression as value to the specified valueFragments list for the specified insert query. It also appends the parameters to the
query as parameters (not anonymized yet)
(Inherited from DynamicQueryEngineBase.) | |
AppendFieldToValueFragmentsForInsert |
Appends the field (or its expresssion) to the value fragments of the query specified for insert.
(Inherited from DynamicQueryEngineBase.) | |
AppendFromClause |
Appends a FROM clause with the contents of the elements specified to the destination and adds the parameters (if any) to the query to append to.
(Inherited from DynamicQueryEngineBase.) | |
AppendGroupByClause |
Appends a GROUP BY clause with the contents of the filter if it's not null / empty, to the fragments object specified. Parameters are added
to the query specified
(Inherited from DynamicQueryEngineBase.) | |
AppendOrderByClause |
Appends an GROUP BY clause with the contents of the filter if it's not null / empty, to the fragments object specified. Parameters are added
to the query specified
(Inherited from DynamicQueryEngineBase.) | |
AppendQueryHints |
Appends the hints specified a single prefix hintstring suffix clause to the fragments specified.
(Inherited from DynamicQueryEngineBase.) | |
AppendResultsetFieldsToQuery |
Appends all resultset fields to the query specified using the parameters specified and outputs values detected along the way during the process for further query construction.
(Inherited from DynamicQueryEngineBase.) | |
AppendUnionedQueries |
Appends, if specified, the unioned queries to the fragments specified, wrapping nested queries in () if necessary. Parameters are appneded to query.
(Inherited from DynamicQueryEngineBase.) | |
AppendUpdateSetClauses(IListIEntityFieldCore, IListIFieldPersistenceInfo, QueryFragments, IList) |
Appends set clauses for an update query using the input specified to the destination list specified
(Inherited from DynamicQueryEngineBase.) | |
AppendUpdateSetClauses(IListIEntityFieldCore, IListIFieldPersistenceInfo, QueryFragments, IList, Boolean) |
Appends set clauses for an update query using the input specified to the destination list specified
(Inherited from DynamicQueryEngineBase.) | |
AppendWhereClause |
Appends a WHERE clause with the contents of the filter if it's not null / empty, to the fragments object specified. Parameters are added
to the query specified
(Inherited from DynamicQueryEngineBase.) | |
CheckIfFieldNeedsInsertAction |
Checks the if field needs insert action.
(Inherited from DynamicQueryEngineBase.) | |
ConstructFieldsToUpdateList |
Constructs the list of fields to update plus its corresponding fieldpersistenceinfo list.
(Inherited from DynamicQueryEngineBase.) | |
CreateActionQueryFromSQL |
Creates the action query from the sql query specified using the parameter values specified.
(Inherited from DynamicQueryEngineBase.) | |
CreateCommand |
Creates the command.
(Inherited from DynamicQueryEngineBase.) | |
CreateCommand(DbConnection) |
Creates a new DbCommand object and initializes it
(Overrides DynamicQueryEngineBaseCreateCommand(DbConnection).) | |
CreateCommand(String) |
Creates a new DbCommand object and initializes it
(Inherited from DynamicQueryEngineBase.) | |
CreateCommand(String, DbConnection) |
Creates a new DbCommand object and initializes it
(Inherited from DynamicQueryEngineBase.) | |
CreateDbSpecificCreator |
Creates a new IDbSpecificCreator and initializes it
(Overrides DynamicQueryEngineBaseCreateDbSpecificCreator.) | |
CreateDeleteDQ(IFieldPersistenceInfo, DbConnection, ListIPredicate) |
Creates a new Delete Query object which is ready to use.
(Inherited from DynamicQueryEngineBase.) | |
CreateDeleteDQ(IFieldPersistenceInfo, DbConnection, ListIPredicate, IPredicate, IRelationCollection) |
Creates a new Delete Query object which is ready to use.
(Inherited from DynamicQueryEngineBase.) | |
CreateInsertDQ(IEntityFields, DbConnection) |
Creates a new Insert Query object which is ready to use.
(Inherited from DynamicQueryEngineBase.) | |
CreateInsertDQ(IEntityFieldCore, IFieldPersistenceInfo, DbConnection) |
Creates a new Insert Query object which is ready to use.
(Inherited from DynamicQueryEngineBase.) | |
CreatePagingSelectDQ |
Creates a new Select Query which is ready to use, based on the query parameters specified.
(Overrides DynamicQueryEngineBaseCreatePagingSelectDQ(QueryParameters, DbConnection).) | |
CreateRealQueryAndParameters |
Creates the real sql query to execute from the query in string form and the parameters specified.
It updates 'query' with the constructed string and real DbParameter instances.
(Inherited from DynamicQueryEngineBase.) | |
CreateRetrievalQueryFromSQL |
Creates the retrieval query from the SQL query specified using the parameter values specified and is configured with the aspects specified.
(Inherited from DynamicQueryEngineBase.) | |
CreateRowCountDQ |
Creates a select query which will be executed as a scalar, and which will return a single value, the number of rows in the query
formed by the elements passed in.
(Inherited from DynamicQueryEngineBase.) | |
CreateSelectDQ |
Creates a new Select Query which is ready to use, based on the specified select list and the specified set of relations.
If selectFilter is set to null, all rows are selected.
(Inherited from DynamicQueryEngineBase.) | |
CreateSelectDQImpl |
Creates a new Select Query which is ready to use, based on the specified elements.
(Overrides DynamicQueryEngineBaseCreateSelectDQImpl(QueryParameters, DbConnection).) | |
CreateSingleTargetDeleteDQ(IFieldPersistenceInfo, IActionQuery, IPredicate) |
Creates a new Delete Query object which is ready to use.
(Overrides DynamicQueryEngineBaseCreateSingleTargetDeleteDQ(IFieldPersistenceInfo, IActionQuery, IPredicate).) | |
CreateSingleTargetDeleteDQ(IFieldPersistenceInfo, IActionQuery, IPredicate, IRelationCollection) |
Creates a new Delete Query object which is ready to use.
(Overrides DynamicQueryEngineBaseCreateSingleTargetDeleteDQ(IFieldPersistenceInfo, IActionQuery, IPredicate, IRelationCollection).) | |
CreateSingleTargetDeleteDQUsingCorrelatedSubQuery |
Creates a new Delete Query object which is ready to use.
(Inherited from DynamicQueryEngineBase.) | |
CreateSingleTargetDeleteDQUsingKeywordClause |
Creates a new Delete Query object which is ready to use. Uses keyword clause (using keyword FROM/USING etc.)) for filtering
(Inherited from DynamicQueryEngineBase.) | |
CreateSingleTargetInsertDQ |
Creates a new Insert Query object which is ready to use.
(Overrides DynamicQueryEngineBaseCreateSingleTargetInsertDQ(IEntityFieldCore, IFieldPersistenceInfo, IActionQuery, DictionaryIEntityFieldCore, DbParameter).) | |
CreateSingleTargetUpdateDQ(IEntityFieldCore, IFieldPersistenceInfo, IActionQuery, IPredicate) |
Creates a new Update Query object which is ready to use. Only 'changed' EntityFieldCore fields are included in the update query.
Primary Key fields are never updated.
(Overrides DynamicQueryEngineBaseCreateSingleTargetUpdateDQ(IEntityFieldCore, IFieldPersistenceInfo, IActionQuery, IPredicate).) | |
CreateSingleTargetUpdateDQ(IEntityFieldCore, IFieldPersistenceInfo, IActionQuery, IPredicate, IRelationCollection) |
Creates a new Update Query object which is ready to use. Only 'changed' EntityFieldCore are included in the update query.
Primary Key fields are never updated.
(Overrides DynamicQueryEngineBaseCreateSingleTargetUpdateDQ(IEntityFieldCore, IFieldPersistenceInfo, IActionQuery, IPredicate, IRelationCollection).) | |
CreateSingleTargetUpdateDQUsingCorrelatedSubQuery |
Creates a new Update Query object which is ready to use. Only 'changed' EntityFieldCore are included in the update query.
Primary Key fields are never updated. Uses a correlated subquery for filtering
(Inherited from DynamicQueryEngineBase.) | |
CreateSingleTargetUpdateDQUsingFromClause |
Creates a new Update Query object which is ready to use. Only 'changed' EntityFieldCore are included in the update query.
Primary Key fields are never updated. Uses a FROM clause for filtering
(Inherited from DynamicQueryEngineBase.) | |
CreateSubqueryConnectionClausesDelete |
Produces a set of WHERE Clauses to use in the DELETE queries which have filters spanning multiple entities.
It produces one clause if it finds the deleteTable on the PK side and then stops and it produces n clauses if it finds deleteTable
on the FK side of n relations in relationsToWalk.
If the deleteTable is on the PK side, it produces a clause: deleteTableAlias.PKField1 = deleteTable.PKField1 AND... (for each field in the PK 1 clause)
If the deleteTable is on the FK side, it produces deleteTableAlias.Field1 = relatedEntityTable.Field1 AND ... clauses for each relation the table of the
persistence info is in.
(Inherited from DynamicQueryEngineBase.) | |
CreateSubqueryConnectionClausesUpdate |
Produces a set of WHERE Clauses to use in the UPDATE queries which have filters spanning multiple entities.
It produces one clause if it finds the updateTable on the PK side and then stops and it produces n clauses if it finds updateTable
on the FK side of n relations in relationsToWalk.
If the updateTable is on the PK side, it produces a clause: updatedTableAlias.PKField1 = updateTable.PKField1 AND... (for each field in the PK 1 clause)
If the updateTable is on the FK side, it produces updatedTableAlias.Field1 = relatedEntityTable.Field1 AND ... clauses for each relation the table of the
persistence info is in.
(Inherited from DynamicQueryEngineBase.) | |
CreateTvfCallQuery |
Creates a retrieval query for the tvfcall specified.
(Inherited from DynamicQueryEngineBase.) | |
CreateTvfFunctionNameFragmentList |
Creates the TVF function name fragment list. By default it will create 'FunctionName(parameterList)'. Override this method if
the DQE requires a different strategy to call a TVF, e.g. wrapping it.
(Inherited from DynamicQueryEngineBase.) | |
CreateUpdateDQ(IEntityFields, DbConnection, ListIPredicate) |
Creates a new Update Query object which is ready to use. Only 'changed' EntityFields are included in the update query.
Primary Key fields are never updated.
(Inherited from DynamicQueryEngineBase.) | |
CreateUpdateDQ(IEntityFieldCore, IFieldPersistenceInfo, DbConnection, ListIPredicate) |
Creates a new Update Query object which is ready to use. Only 'changed' EntityFieldCore fields are included in the update query.
(Inherited from DynamicQueryEngineBase.) | |
CreateUpdateDQ(IEntityFields, DbConnection, ListIPredicate, IPredicate, IRelationCollection) |
Creates a new Update Query object which is ready to use. Only 'changed' EntityFieldCore are included in the update query.
Primary Key fields are never updated.
(Inherited from DynamicQueryEngineBase.) | |
CreateUpdateDQ(IEntityFieldCore, IFieldPersistenceInfo, DbConnection, ListIPredicate, IPredicate, IRelationCollection) |
Creates a new Update Query object which is ready to use. Only 'changed' EntityFieldCore are included in the update query.
Primary Key fields are never updated.
(Inherited from DynamicQueryEngineBase.) | |
DetermineIfDuplicatesWillOccur |
Determines if duplicates will occur.
(Inherited from DynamicQueryEngineBase.) | |
DetermineIfFieldAliasIsRequired |
Determines if field alias is required.
(Inherited from DynamicQueryEngineBase.) | |
DetermineObjectAliasToUseForSelectListField |
Determines the object alias to use for select list field.
(Inherited from DynamicQueryEngineBase.) | |
DetermineTargetAlias |
Determines the target alias to use for a single target FROM clause.
(Inherited from DynamicQueryEngineBase.) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetCorrectFieldTypeBasedOnTypeSpecs |
Gets the correct field type, based on the type and lenght specified in the specified persistenceInfo
(Overrides DynamicQueryEngineBaseGetCorrectFieldTypeBasedOnTypeSpecs(IFieldPersistenceInfo).) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetNewCatalogName |
Gets the new name for the catalog, given the current name. If the current name is not found in the list of catalog name overwrites,
the current name is returned. This routine works on the catalog names specified in the config file.
(Overrides DynamicQueryEngineBaseGetNewCatalogName(String).) | |
GetNewPerCallSequenceName |
Gets the new name of the sequence passed in. Overwrites catalog and schema name, if overwrites are defined, per call and global.
(Overrides DynamicQueryEngineBaseGetNewPerCallSequenceName(String).) | |
GetNewPerCallStoredProcedureName |
Gets the new name of the stored procedure passed in. Overwrites schema and catalog name with a new name if these names
have been defined for overwriting. This routine works on the PerCallCatalogNameOverwrites and PerCallSchemaNameOverwrites names specified on this instance
(Overrides DynamicQueryEngineBaseGetNewPerCallStoredProcedureName(String).) | |
GetNewSchemaName |
Gets the new name for the schema, given the current name. If the current name is not found in the list of schema name overwrites,
the current name is returned. This routine works on the schema names specified in the config file.
(Overrides DynamicQueryEngineBaseGetNewSchemaName(String).) | |
GetNewSequenceName |
Gets the new name of the sequence passed in. Default implementation overwrites schema name with a new name if the name
has been defined for overwriting.
(Inherited from DynamicQueryEngineBase.) | |
GetNewStoredProcedureName |
Gets the new name of the stored procedure passed in. Overwrites schema and catalog name with a new name if these names
have been defined for overwriting. This routine works on the catalog and schema names specified in the config file.
(Overrides DynamicQueryEngineBaseGetNewStoredProcedureName(String).) | |
GetNullInProjectionFragment |
Gets the fragment to use in a projection for a literal NULL. By default this is 'NULL', but some databases need extra processing around NULL. Do to so, override this method.
(Inherited from DynamicQueryEngineBase.) | |
GetTvfFunctionNameToUse |
Gets the table valued function name to use. By default it creates an object name from the elements specified like a table name.
(Inherited from DynamicQueryEngineBase.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
HandleDistinctEmit |
Handles the emit of 'DISTINCT' into the query text and returns true if distinct was emitted or false if not.
(Inherited from DynamicQueryEngineBase.) | |
MakeParametersAnonymous(DbCommand) |
Makes the parameters anonymous in the passed in query. An anonymous parameter is '?', not '@foo'. It walks all parameters and replaces the
names of these parameters with "?" in the query text
(Inherited from DynamicQueryEngineBase.) | |
MakeParametersAnonymous(String, IList) |
Makes the parameters anonymous in the passed in query. An anonymous parameter is '?', not '@foo'. It walks all parameters and replaces the
names of these parameters with "?" in the query text
(Inherited from DynamicQueryEngineBase.) | |
ManglePageSelectDQ2000 |
Mangles the page select d q.
| |
ManglePageSelectDQ2005 |
Creates a CTE using paging query for SqlServer 2005 or higher.
| |
ManglePageSelectDQ2012(IRetrievalQuery, Int32, Int32) |
Creates a query using OFFSET and FETCH NEXT. For SQL Server 2012 and later.
| |
ManglePageSelectDQ2012(IRetrievalQuery, Int32, Int32, Boolean) |
Creates a query using OFFSET and FETCH NEXT. For SQL Server 2012 and later.
| |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ReAssembleFragments |
Reassembles the fragments specified, with separting '.'. If a fragment is empty, it's skipped
(Inherited from DynamicQueryEngineBase.) | |
ReAssembleStoredProcedureNameFragments |
Re-assembles the stored procedure name from the fragments specified
(Inherited from DynamicQueryEngineBase.) | |
ResetCreator |
Resets the creator object with a new one. Only used by DAO objects which keep a Dynamic Query Engine object alive.
(Inherited from DynamicQueryEngineBase.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
UpdateAliasInUpdateTablePredicates |
Updates the SourceAlias in the predicates in updateFilter to the alias updatedTableAlias if the predicate targets the entity name specified.
(Inherited from DynamicQueryEngineBase.) | |
WrapCommandInPagingQuery |
Wraps the command in the query specified in a paging query and adds necessary parameters to the command.
(Overrides DynamicQueryEngineBaseWrapCommandInPagingQuery(IRetrievalQuery, Int32, Int32).) | |
WrapQueryInBeginEndIfNecessary |
Wraps the passed in query if necessary. By default it returns the toWrap string without doing any processing.
(Inherited from DynamicQueryEngineBase.) |
Name | Description | |
---|---|---|
ArithAbortOn |
Flag to signal the DQE to generate SET ARITHABORT ON statements prior to INSERT, DELETE and UPDATE Queries.
Keep this flag to false in normal usage, but set it to true if you need to write into a table which is part of an indexed view.
It will not affect normal inserts/updates that much, leaving it on is not harmful. Please consult SqlServer's Books online for
more details on SET ARITHABORT ON. After each statement the setting is turned off if it has been turned on prior to that statement.
| |
UseNoLockHintOnSelects |
Flag to signal the DQE to tell the SqlServerSpecificCreator to create WITH NOLOCK hints on table references in select queries for FROM clauses.
WITH NOLOCK is not recommended though in high volume databases with a lot of rows, it can be a lot of blocking can occur because SqlServer forces
readers to block writers and vice versa. Please consult the SqlServer's Book online for more information about this hint and also the downsides
for using it. The setting is global and for all select queries. Default is false and it should only be set to true in those situations in which
no other option is available.
|