SD.LLBLGen.Pro.ORMSupportClasses Base class for DAA classes which are generated and which serves as an in-between type between those generated classes and the actual implementation in DataAccessAdapterCore. This class contains overrides of the actual action methods in DataAccessAdapterCore so they can be executed with a strategy. CTor The persistence info provider. Executes the specified plain SQL query using this adapter. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. Type of the return elements, one for each row The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open Type of the return elements, one for each row The open reader to project the active resultset of the query object executed which produced the reader. Pass the executed query object to make sure resultset caching is possible. List of instances of T, one for each row in the resultset of reader Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will occur if the passed in executedQuery is setup to cache its resultset. Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The name of the entity to retrieve persistence information. For example "CustomerEntity". This name can be retrieved from an existing entity's LLBLGenProEntityName property. filter information to filter out the entities to delete the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy.
This overload doesn't support Authorization or Auditing. It's recommended, if you want to use authorization and/or auditing on this method, use the overload of DeleteEntitiesDirectly which accepts a type.
Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The type of the entity to retrieve persistence information. filter information to filter out the entities to delete the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy.
This overload performs authorization. Use this overload instead of the one which accepts a name instead of a type instance if you want to have authorization support at runtime.
Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. The entity instance to delete from the persistent storage Predicate expression, meant for concurrency checks in a delete query true if the delete was succesful, otherwise false. Deletes all dirty objects inside the collection passed from the persistent storage. It will do this inside a transaction if a transaction is not yet available. Entities which are physically deleted from the persistent storage are marked with the state 'Deleted' but are not removed from the collection. EntityCollection with one or more dirty entities which have to be persisted the amount of physically deleted entities Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object). The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. true if the Fetch was succesful, false otherwise Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized Fetches one or more entities which match the filter information in the parameters into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. It will apply paging and it will from there use a prefetch path fetch using the read page. It's important that pageSize is smaller than the set 'ParameterisedPrefetchPathThreshold'. If pagesize is larger than the limits set for the 'ParameterisedPrefetchPathThreshold' value, the query is likely to be slower than expected, though will work. If pageNumber / pageSize are set to values which disable paging, a normal prefetch path fetch will be performed. The parameters. Fetches the entity using unique constraint. The entity to fetch. The unique constraint filter. The prefetch path. The context to use. The excluded included fields. Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The new entity fetched, or a previous entity fetched if that entity was in the context specified Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. EntityCollection object containing one or more root objects which will contain the entities to fetch (and their paths) defined in the prefetch path. filter information used to retrieve the root entities. The maximum amount of entities to return limit used to retrieve the root entities. SortClause expression which was applied to the query executed to retrieve the root entities the PrefetchPath which defines the graph of objects to fetch. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() The datatable object to fill with the data for the fields in fieldCollectionToFetch The parameters. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the query information stored in parameters into the DataTable object passed in. Use this routine to fill a TypedView object. The data table to fill. The parameters. Fetches the typed view, using the query specified. The typed view to fill. The query to use. Used with stored procedure calling IRetrievalQuery instances to fill a typed view mapped onto a resultset. Be sure to call Dispose() on the passed in query, as it's not disposed in this method. Executes the expression defined with the field in the fields collection specified, using the various elements defined. The expression is executed as a scalar query and a single value is returned. IEntityFields2 instance with a single field with an expression defined and eventually aggregates filter to use The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. The relations part of the filter. the value which is the result of the expression defined on the specified field Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields2 instance with the fields returned by the query to get the rowcount for filter to use by the query to get the rowcount for The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. Predicate expression, meant for concurrency checks in an Update query. Will be ignored if the entity is new. This predicate is used instead of a predicate produced by a set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. EntityCollection with one or more dirty entities which have to be persisted Refetches a saved entity from the database, so the entity will not be 'out of sync' When true, it will save all dirty objects referenced (directly or indirectly) by the entities inside collectionToSave also. the amount of persisted entities Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. Entity object which contains the new values for the entities of the same type and which match the filter in filterBucket. Only fields which are changed are updated. filter information to filter out the entities to update. the number of physically updated entities. Use this number only to test if the update succeeded (so value is > 0). Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The parameters. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. The excludedIncludedFields object as it is used when fetching the passed in collection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterizedThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of Executes the specified plain SQL query using this adapter. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery The cancellation token. The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Async variant of Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The cancellation token. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. The excludedIncludedFields object as it is used when fetching the passed in collection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The cancellation token. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterizedThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Fetches one or more entities which match the filter information in the parameters into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. It will apply paging and it will from there use a prefetch path fetch using the read page. It's important that pageSize is smaller than the set 'ParameterisedPrefetchPathThreshold. If pagesize is larger than the limits set for the 'ParameterisedPrefetchPathThreshold' value, the query is likely to be slower than expected, though will work. If pageNumber / pageSize are set to values which disable paging, a normal prefetch path fetch will be performed. The parameters. The cancellation token. Async variant Async variant of . Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() The datatable object to fill with the data for the fields in fieldCollectionToFetch The parameters. The cancellation token. Async variant of Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. The fields in projection, which are used to determine the type converters to use. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is The cancellation token. Async variant of . Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The parameters. The cancellation token. Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The query to execute. The cancellation token. List of instances of T, one for each row in the resultset of queryToExecute Async variant of . Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The name of the entity to retrieve persistence information. For example "CustomerEntity". This name can be retrieved from an existing entity's LLBLGenProEntityName property. filter information to filter out the entities to delete The cancellation token. the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy.
This overload doesn't support Authorization or Auditing. It's recommended, if you want to use authorization and/or auditing on this method, use the overload of DeleteEntitiesDirectly which accepts a type.
Async variant of . Deletes all entities of the type passed in from the persistent storage if they match the filter supplied in filterBucket. The type of the entity to retrieve persistence information. filter information to filter out the entities to delete The cancellation token. the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy.
This overload performs authorization. Use this overload instead of the one which accepts a name instead of a type instance if you want to have authorization support at runtime.
Async variant of . Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. Entity object which contains the new values for the entities of the same type and which match the filter in filterBucket. Only fields which are changed are updated. filter information to filter out the entities to update. The cancellation token. the number of physically updated entities. Use this number only to test if the update succeeded (so value is > 0). Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. Predicate expression, meant for concurrency checks in an Update query. Will be ignored if the entity is new. This predicate is used instead of a predicate produced by a set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. The cancellation token. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. EntityCollection with one or more dirty entities which have to be persisted Refetches a saved entity from the database, so the entity will not be 'out of sync' When true, it will save all dirty objects referenced (directly or indirectly) by the entities inside collectionToSave also. The cancellation token. the amount of persisted entities Async variant of . Deletes all dirty objects inside the collection passed from the persistent storage. It will do this inside a transaction if a transaction is not yet available. Entities which are physically deleted from the persistent storage are marked with the state 'Deleted' but are not removed from the collection. EntityCollection with one or more dirty entities which have to be persisted The cancellation token. the amount of physically deleted entities Async variant of . Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. The entity instance to delete from the persistent storage Predicate expression, meant for concurrency checks in a delete query The cancellation token. true if the delete was succesful, otherwise false. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. The fields in projection, which are used to determine the type converters to use. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is The core call of an action stored procedure call. Executes the command specified and opens the connection if required. The command. the value returned by the ExecuteNonQuery call The core call of a retrieval stored procedure call. Performs a fill operation on the adapter for the dataset specified The data set to fill. The adapter. The core call of a retrieval stored procedure call. Performs a fill operation on the adapter for the datatable specified The data table to fill. The adapter. Creates the recovery strategy object to use. By default it returns null, which means no strategy is used. This method is only called if the property ActiveRecoveryStrategy is set to null. When a valid RecoveryStrategy instance is returned, it's stored in the ActiveRecoveryStrategy property and this method isn't called again until that property is set to null. Do not share recovery strategy instances among threads nor among DataAccessAdapter instances. the recovery strategy object to use for this adapter, or null (default) if no strategy has to be used. Obtains the active recovery strategy to use. Will use the strategy set in ActiveRecoveryStrategy. If the property is null, the method CreateRecoveryStrategyToUse is called and the value returned is stored in the ActiveRecoveryStrategy property. The active recovery strategy to use for a query, or null if UseRecoveryStrategy is set to false or there's no active recovery strategy set. Executes the specified action with the active recovery strategy on this adapter. If no recovery strategy is specified it will execute the action directly To execute. No action specified to execute Executes the specified func with the active recovery strategy on this adapter and will return the result. If no recovery strategy is specified it will execute the func directly the type of the return value To execute. the result of the execution action of toExecute No action specified to execute Executes the specified action with the active recovery strategy on this adapter. If no recovery strategy is specified it will execute the action directly. Async variant To execute. The cancellation token. No action specified to execute Executes the specified func with the active recovery strategy on this adapter and will return the result. If no recovery strategy is specified it will execute the func directly. Async variant the type of the return value To execute. The cancellation token. the result of the execution action of toExecute No action specified to execute Base class for DAA classes which are generated. Enum which is used to signal the element removal routine what to do while removing hte elements. This is a performance issue, now the loop has to be run just once No action Call ITransactionalElement.TransactionCommit() Call ITransactionalElement.TransactionRollback() Raised when Commit was successful. Raised when Rollback was successful. CTor The persistence info provider. Calls the specified action stored procedure in the database. If a transaction is in progress, it will participate in that transaction. Stored procedure to call array of parameters to pass the number of rows affected. Calls the specified retrieval stored procedure in the database. Fills the specified datatable. Will participate in the transaction if a transaction is in progress. Stored procedure to call array of parameters to specify Datatable to fill by the stored procedure true if succeeded, false otherwise Calls the specified retrieval stored procedure in the database. Fills the specified DataSet. Will participate in the transaction if a transaction is in progress. Stored procedure to call array of parameters to specify DataSet to fill by the stored procedure true if succeeded, false otherwise Gets a scalar value, calculated with the aggregate and expression specified. the field specified is the field the expression and aggregate are applied on. Field to which to apply the aggregate function and expression Aggregate function to apply. the scalar value requested Gets a scalar value, calculated with the aggregate and expression specified. the field specified is the field the expression and aggregate are applied on. Field to which to apply the aggregate function and expression The expression to execute. Can be null Aggregate function to apply. the scalar value requested Gets a scalar value, calculated with the aggregate and expression specified. the field specified is the field the expression and aggregate are applied on. Field to which to apply the aggregate function and expression The expression to execute. Can be null Aggregate function to apply. The filter to apply to retrieve the scalar the scalar value requested Gets a scalar value, calculated with the aggregate and expression specified. the field specified is the field the expression and aggregate are applied on. Field to which to apply the aggregate function and expression The expression to execute. Can be null Aggregate function to apply. The filter to apply to retrieve the scalar The groupby clause to apply to retrieve the scalar the scalar value requested Gets a scalar value, calculated with the aggregate and expression specified. the field specified is the field the expression and aggregate are applied on. Field to which to apply the aggregate function and expression The expression to execute. Can be null Aggregate function to apply. The filter to apply to retrieve the scalar The groupby clause to apply to retrieve the scalar The relations part of the filter. the scalar value requested Executes the expression defined with the field in the fields collection specified, using the various elements defined. The expression is executed as a scalar query and a single value is returned. IEntityFields2 instance with a single field with an expression defined and eventually aggregates filter to use The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. the value which is the result of the expression defined on the specified field Executes the expression defined with the field in the fields collection specified, using the various elements defined. The expression is executed as a scalar query and a single value is returned. IEntityFields2 instance with a single field with an expression defined and eventually aggregates filter to use The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. The relations part of the filter. the value which is the result of the expression defined on the specified field Gets the estimated number of objects returned by a query for objects to store in the entity collection passed in, using the filter and groupby clause specified. The number is estimated as duplicate objects can be present in the plain query results, but will be filtered out when the query result is transformed into objects. EntityCollection instance which will be fetched by the query to get the rowcount for filter to use by the query to get the rowcount for the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Gets the estimated number of objects returned by a query for objects to store in the entity collection passed in, using the filter and groupby clause specified. The number is estimated as duplicate objects can be present in the plain query results, but will be filtered out when the query result is transformed into objects. EntityCollection instance which will be fetched by the query to get the rowcount for filter to use by the query to get the rowcount for The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields2 instance with the fields returned by the query to get the rowcount for filter to use by the query to get the rowcount for the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields2 instance with the fields returned by the query to get the rowcount for filter to use by the query to get the rowcount for The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields2 instance with the fields returned by the query to get the rowcount for filter to use by the query to get the rowcount for The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of .` Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. the cancellationToken The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. the cancellationToken The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Executes the specified plain SQL query using this adapter. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Executes the passed in query as a scalar query and returns the value returned from this scalar execution. a scalar query, which is a SELECT query which returns a single value the scalar value returned from the query. Async variant of . Executes the passed in query as a scalar query and returns the value returned from this scalar execution. a scalar query, which is a SELECT query which returns a single value the cancellation token the scalar value returned from the query. Executes the passed in action query and, if not null, runs it inside the passed in transaction. ActionQuery to execute. execution result, which is the amount of rows affected (if applicable) Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 row. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute The IEntityFields2 object to store the fetched data in The IFieldPersistenceInfo objects for the fieldsToFill fields Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 or more rows. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute the factory object which can produce the entities this method has to fill. Collection to fill with the retrieved rows. The persistence information for the fields of the entity created by entityFactory Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query Executes the passed in retrieval query and returns the results as a datatable using the passed in data-adapter. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute The dataadapter to use to fill the datatable. Fields persistence info objects for the fields used for the query. Required for type conversion on values. DataTable with the rows requested Executes the passed in retrieval query and returns the results in thedatatable specified using the passed in data-adapter. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute The dataadapter to use to fill the datatable. DataTable to fill Fields persistence info objects for the fields used for the query. Required for type conversion on values. true if succeeded, false otherwise Wires an active transaction to the command object of the passed in query. If no transaction is in progress, nothing is wired. Query to wire up with the passed in transaction Starts a new transaction. All database activity after this call will be ran in this transaction and all objects will participate in this transaction until its committed or rolled back. If there is a transaction in progress, an exception is thrown. Will create and open a new connection if a transaction is not open and/or available. The isolation level to use for this transaction The name for this transaction If a transaction is already in progress. If this DataAccessAdapter is in a System.Transactions.Transaction, no real ado.net transaction will be started, as a transaction is already in progress. In that situation, this method will just open the connection if required. Commits the transaction in action. It will end all database activity, since commiting a transaction is finalizing it. After calling Commit or Rollback, the ITransaction implementing class will reset itself. Will close the connection. If in a COM+ transaction: it will flag the context to commit. It will NOT set the done bit. Will close the active connection unless KeepConnectionOpen has been set to true Rolls back the transaction in action. It will end all database activity, since commiting a transaction is finalizing it. After calling Commit or Rollback, the ITransaction implementing class will reset itself. If in a COM+ transaction: it will flag the context to abort. It will NOT set the done bit. Will close the active connection unless KeepConnectionOpen has been set to true Opens the active connection object. If the connection is already open, nothing is done. If no connection object is present, a new one is created Closes the active connection. If no connection is available or the connection is closed, nothing is done. If there is a transaction in progress, it's rolled back. Saves the passed in entity to the persistent storage. Will not refetch the entity after this save. The entity will stay out-of-sync. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. Predicate expression, meant for concurrency checks in an Update query. Will be ignored if the entity is new. This predicate is used instead of a predicate produced by a set ConcurrencyPredicateFactory. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. Predicate expression, meant for concurrency checks in an Update query. Will be ignored if the entity is new. This predicate is used instead of a predicate produced by a set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Persists the queue passed in. The queue contains ActionQueueElements and is in the right order, just save it from front to back Queue to persist. if true, the actions to perform are insert actions, otherwise update actions the total amount of entities saved or -1 if the persist of the queue failed It assumes a transaction, if needed, is already created and opened, as well as a connection. All exceptions are bubbled upwards Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The fields to use to build the query. The filter. The reader behavior to set. The max number of items to return. Specify 0 to return all elements If set to true, allow duplicates in the resultset, otherwise try to emit DISTINCT (if possible). Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The fields to use to build the query. The filter. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise try to emit DISTINCT (if possible). Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The fields to use to build the query. The filter. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise try to emit DISTINCT (if possible). The page number. Size of the page. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The fields to use to build the query. The filter. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. The group by clause. If set to true, allow duplicates in the resultset, otherwise try to emit DISTINCT (if possible). The page number. Size of the page. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The reader behavior to set. The parameters. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Executes the passed in retrievalquery and returns an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The query to execute. The reader behavior to set. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open. It can be, if the query is set to cache its resultset, that the reader returned is actually a reader over the cached resultset. If you ordered the query to be cached, be sure to pass queryToExecute to the FetchProjection method to cache the resultset. Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The fields to use to build the query. The filter. The max number of items to return. Specify 0 to return all elements If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The fields to use to build the query. The filter. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The fields to use to build the query. The filter. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The fields to use to build the query. The filter. The max number of items to return. Specify 0 to return all elements The sort clauses. The group by clause. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The parameters. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The reader which points to the first row of a resultset Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. The resultset won't be cached in the resultset cache. To cache the resultset, use the overload which accepts the IRetrievalQuery executed Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The reader which points to the first row of a resultset the query object executed which produced the reader. Pass the executed query object to make sure resultset caching is possible. Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will occur if the passed in executedQuery is setup to cache its resultset. Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object) The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object) The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. The context to add the entity to if the fetch was succesful. Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object) The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object) The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object). The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the object specified using the filter specified. Use the entity's uniqueconstraint filter construction methods to construct the required uniqueConstraintFilter for the unique constraint you want to use. The entity object in which the fetched entity data will be stored. The filter which should filter on fields with a unique constraint. true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the object specified using the filter specified. Use the entity's uniqueconstraint filter construction methods to construct the required uniqueConstraintFilter for the unique constraint you want to use. The entity object in which the fetched entity data will be stored. The filter which should filter on fields with a unique constraint. The context to add the entity to if the fetch was succesful. true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the object specified using the filter specified. Use the entity's uniqueconstraint filter construction methods to construct the required uniqueConstraintFilter for the unique constraint you want to use. The entity object in which the fetched entity data will be stored. The filter which should filter on fields with a unique constraint. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the object specified using the filter specified. Use the entity's uniqueconstraint filter construction methods to construct the required uniqueConstraintFilter for the unique constraint you want to use. The entity object in which the fetched entity data will be stored. The filter which should filter on fields with a unique constraint. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the object specified using the filter specified. Use the entity's uniqueconstraint filter construction methods to construct the required uniqueConstraintFilter for the unique constraint you want to use. The entity object in which the fetched entity data will be stored. The filter which should filter on fields with a unique constraint. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. true if the Fetch was succesful, false otherwise Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the specified generic type. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The new entity fetched. The type of entity to fetch TEntity can't be a type which is an abstract entity. If you want to fetch an instance of an abstract entity (e.g. polymorphic fetch) please use the overload which accepts an entity factory instead Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the specified generic type. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The context to add the entity to if the fetch was succesful. The new entity fetched, or a previous entity fetched if that entity was in the context specified The type of entity to fetch TEntity can't be a type which is an abstract entity. If you want to fetch an instance of an abstract entity (e.g. polymorphic fetch) please use the overload which accepts an entity factory instead Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the specified generic type. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The new entity fetched. The type of entity to fetch TEntity can't be a type which is an abstract entity. If you want to fetch an instance of an abstract entity (e.g. polymorphic fetch) please use the overload which accepts an entity factory instead Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the specified generic type. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The new entity fetched, or a previous entity fetched if that entity was in the context specified The type of entity to fetch TEntity can't be a type which is an abstract entity. If you want to fetch an instance of an abstract entity (e.g. polymorphic fetch) please use the overload which accepts an entity factory instead Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the specified generic type. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The new entity fetched, or a previous entity fetched if that entity was in the context specified The type of entity to fetch TEntity can't be a type which is an abstract entity. If you want to fetch an instance of an abstract entity (e.g. polymorphic fetch) please use the overload which accepts an entity factory instead Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The new entity fetched. Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The context to add the entity to if the fetch was succesful. The new entity fetched, or a previous entity fetched if that entity was in the context specified Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The new entity fetched. Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The new entity fetched, or a previous entity fetched if that entity was in the context specified Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The new entity fetched, or a previous entity fetched if that entity was in the context specified Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. If the passed in entity has a concurrency predicate factory object, the returned predicate expression is used to restrict the delete process. The entity instance to delete from the persistent storage true if the delete was succesful, otherwise false. Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. The entity instance to delete from the persistent storage Predicate expression, meant for concurrency checks in a delete query true if the delete was succesful, otherwise false. Will throw an ORMConcurrencyException if the delete fails. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. This overload returns all found entities and doesn't apply sorting EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. This overload returns all found entities and doesn't apply sorting EntityCollection object containing an entity factory which has to be filled The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. This overload returns all found entities and doesn't apply sorting EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. This overload doesn't apply sorting EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. It will apply paging and it will from there use a prefetch path fetch using the read page. It's important that pageSize is smaller than the set . If pagesize is larger than the limits set for the value, the query is likely to be slower than expected, though will work. If pageNumber / pageSize are set to values which disable paging, a normal prefetch path fetch will be performed. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. Prefetch path to use. the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. It will apply paging and it will from there use a prefetch path fetch using the read page. It's important that pageSize is smaller than the set . If pagesize is larger than the limits set for the value, the query is likely to be slower than expected, though will work. If pageNumber / pageSize are set to values which disable paging, a normal prefetch path fetch will be performed. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. Prefetch path to use. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied If the passed in collectionToFill doesn't contain an entity factory. Special thanks to Marcus Mac Innes (http://www.styledesign.biz) for the paging optimization code. Fetches one or more entities which match the filter information in the parameters into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. It will apply paging and it will from there use a prefetch path fetch using the read page. It's important that pageSize is smaller than the set . If pagesize is larger than the limits set for the value, the query is likely to be slower than expected, though will work. If pageNumber / pageSize are set to values which disable paging, a normal prefetch path fetch will be performed. The parameters. If the passed in collectionToFill doesn't contain an entity factory. Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. Will not refetch saved entities and will not recursively save the entities. EntityCollection with one or more dirty entities which have to be persisted the amount of persisted entities Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. EntityCollection with one or more dirty entities which have to be persisted Refetches a saved entity from the database, so the entity will not be 'out of sync' When true, it will save all dirty objects referenced (directly or indirectly) by the entities inside collectionToSave also. the amount of persisted entities Deletes all dirty objects inside the collection passed from the persistent storage. It will do this inside a transaction if a transaction is not yet available. Entities which are physically deleted from the persistent storage are marked with the state 'Deleted' but are not removed from the collection. EntityCollection with one or more dirty entities which have to be persisted the amount of physically deleted entities Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The name of the entity to retrieve persistence information. For example "CustomerEntity". This name can be retrieved from an existing entity's LLBLGenProEntityName property. filter information to filter out the entities to delete the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy.
This overload doesn't support Authorization or Auditing. It's recommended, if you want to use authorization and/or auditing on this method, use the overload of DeleteEntitiesDirectly which accepts a type.
Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The type of the entity to retrieve persistence information. filter information to filter out the entities to delete the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy.
This overload performs authorization. Use this overload instead of the one which accepts a name instead of a type instance if you want to have authorization support at runtime.
Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. Entity object which contains the new values for the entities of the same type and which match the filter in filterBucket. Only fields which are changed are updated. filter information to filter out the entities to update. the number of physically updated entities. Use this number only to test if the update succeeded (so value is > 0). Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. The excludedIncludedFields object as it is used when fetching the passed in entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. The excludedIncludedFields object as it is used when fetching the passed in collection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterizedThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in the passed in typed list. For TypedView filling, use the method FetchTypedView() Typed list to fill. Grabs the fields list and relations set from the typed list passed in. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in the passed in typed list. For TypedView filling, use the method FetchTypedView() Typed list to fill. An additional filter to use to filter the fetch of the typed list. If you need a more sophisticated filter approach, please use the overload which accepts an IRelationalPredicateBucket and add your filter to the bucket you receive when calling typedListToFill.GetRelationInfo(). Grabs the fields list and relations set from the typed list passed in. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in the passed in typed list. For TypedView filling, use the method FetchTypedView() Typed list to fill. An additional filter to use to filter the fetch of the typed list. If you need a more sophisticated filter approach, please use the overload which accepts an IRelationalPredicateBucket and add your filter to the bucket you receive when calling typedListToFill.GetRelationInfo(). The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Grabs the fields list and relations set from the typed list passed in. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in the passed in typed list. For TypedView filling, use the method FetchTypedView() Typed list to fill. An additional filter to use to filter the fetch of the typed list. If you need a more sophisticated filter approach, please use the overload which accepts an IRelationalPredicateBucket and add your filter to the bucket you receive when calling typedListToFill.GetRelationInfo(). The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied Grabs the fields list and relations set from the typed list passed in. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. Doesn't apply any sorting, doesn't limit the resultset on the amount of rows to return, does allow duplicates. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. Doesn't apply any sorting, doesn't limit the resultset on the amount of rows to return. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. Doesn't apply any sorting. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. Use the typed list's method GetFieldsInfo() to retrieve this IEntityField2 information The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. Use the typed list's method GetFieldsInfo() to retrieve this IEntityField2 information The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. GroupByCollection with fields to group by on Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. Use the typed list's method GetFieldsInfo() to retrieve this IEntityField2 information The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. GroupByCollection with fields to group by on the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() The datatable object to fill with the data for the fields in fieldCollectionToFetch The parameters. parameters Fetches the typed view, using the query specified. The typed view to fill. The query to use. Used with stored procedure calling IRetrievalQuery instances to fill a typed view mapped onto a resultset. Be sure to call Dispose() on the passed in query, as it's not disposed in this method. Fetches the Typed View passed in from the persistent storage Doesn't apply any sorting, doesn't limit the amount of rows returned by the query, doesn't apply any filtering, allows duplicate rows. Use this routine to fill a TypedView object. Typed view to fill. Fetches the Typed View passed in from the persistent storage Doesn't apply any sorting, doesn't limit the amount of rows returned by the query, doesn't apply any filtering. Use this routine to fill a TypedView object. Typed view to fill. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the Typed View passed in from the persistent storage Doesn't apply any sorting, doesn't limit the amount of rows returned by the query. Use this routine to fill a TypedView object. Typed view to fill. filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the Typed View passed in from the persistent storage Doesn't apply any sorting. Use this routine to fill a TypedView object. Typed view to fill. filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the Typed View passed in from the persistent storage Typed view to fill. filter information (relations and predicate expressions) for retrieving the data. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. To fill a DataTable with entity rows, use this method as well, by passing the Fields collection of an entity of the same type as the one you want to fetch as fieldCollectionToFetch. Fetches the Typed View passed in from the persistent storage Typed view to fill. filter information (relations and predicate expressions) for retrieving the data. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. GroupByCollection with fields to group by on To fill a DataTable with entity rows, use this method as well, by passing the Fields collection of an entity of the same type as the one you want to fetch as fieldCollectionToFetch. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage into the DataTable object passed in. Doesn't apply any sorting, doesn't limit the amount of rows returned by the query, doesn't apply any filtering, allows duplicate rows. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. The datatable object to fill with the data for the fields in fieldCollectionToFetch Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage into the DataTable object passed in. Doesn't apply any sorting, doesn't limit the amount of rows returned by the query, doesn't apply any filtering. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. The datatable object to fill with the data for the fields in fieldCollectionToFetch When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the filter information stored in filterBucket into the DataTable object passed in. Doesn't apply any sorting, doesn't limit the amount of rows returned by the query. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the filter information stored in filterBucket into the DataTable object passed in. Doesn't apply any sorting Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. Use the Typed View's method GetFieldsInfo() to get this IEntityField2 field collection The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. To fill a DataTable with entity rows, use this method as well, by passing the Fields collection of an entity of the same type as the one you want to fetch as fieldCollectionToFetch. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. Use the Typed View's method GetFieldsInfo() to get this IEntityField2 field collection The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. GroupByCollection with fields to group by on To fill a DataTable with entity rows, use this method as well, by passing the Fields collection of an entity of the same type as the one you want to fetch as fieldCollectionToFetch. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. Use the Typed View's method GetFieldsInfo() to get this IEntityField2 field collection The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. GroupByCollection with fields to group by on the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied To fill a DataTable with entity rows, you could use this method as well, by passing the Fields collection of an entity of the same type as the one you want to fetch as fieldCollectionToFetch. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the query information stored in parameters into the DataTable object passed in. Use this routine to fill a TypedView object. The data table to fill. The parameters. parameters Creates a savepoint with the name savePointName in the current transaction. You can roll back to this savepoint using . name of savepoint. Must be unique in an active transaction If no transaction is in progress. if savePointName is empty or null if the .NET database provider doesn't support transaction saving or when COM+ is used. Rolls back the transaction in action to the savepoint with the name savepointName. No internal objects are being reset when this method is called, so call this Rollback overload only to roll back to a savepoint. To roll back a complete transaction, call Rollback() without specifying a savepoint name. Create a savepoint by calling SaveTransaction(savePointName) If no transaction is in progress. if savePointName is empty or null if the .NET database provider doesn't support transaction rolling back a transaction to a named point or when COM+ is used. name of the savepoint to roll back to. Creates a new predicate expression which filters on the primary key fields and the set values for the given primary key fields. If no primary key fields are specified, null is returned. ArrayList with IEntityField2 instances which form the primary key for which the filter has to be constructed filled in predicate expression or null if no primary key fields are specified. Call this method passing IEntity2.Fields.PrimaryKeyFields Creates for each entity which PK field(s) are in the passed in arraylist a new predicate expression which filters on the primary key fields of that entity and the set values for the given primary key fields. If no primary key fields are specified, null is returned. ArrayList with IEntityField2 instances which form the primary key for which the filter has to be constructed ArrayList with for each entity a filled in predicate expression or null if no primary key fields are specified. PK filters are stored in the same order as entities appear in the pkfields, which is the same order in which entities are located in the hierarchy (from root to leaf) Call this method passing IEntity2.Fields.PrimaryKeyFields Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open Type of the return elements, one for each row The open reader to project the active resultset of List of instances of T, one for each row in the resultset of reader Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will not occur. To use resultset caching, use the overload which accepts an IRetrievalQuery Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open Type of the return elements, one for each row The open reader to project the active resultset of the query object executed which produced the reader. Pass the executed query object to make sure resultset caching is possible. List of instances of T, one for each row in the resultset of reader Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will occur if the passed in executedQuery is setup to cache its resultset. Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. Type of the return elements, one for each row The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Async variant of Calls the specified action stored procedure in the database. If a transaction is in progress, it will participate in that transaction. Stored procedure to call array of parameters to pass The cancellation token. the number of rows affected. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. The excludedIncludedFields object as it is used when fetching the passed in entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. The excludedIncludedFields object as it is used when fetching the passed in entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The cancellation token. The field data is set like a normal field value set, so authorization is applied to it. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. The excludedIncludedFields object as it is used when fetching the passed in collection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The entity factory of the passed in entities collection is null. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterizedThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. The excludedIncludedFields object as it is used when fetching the passed in collection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The cancellation token. The entity factory of the passed in entities collection is null. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterizedThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Fetches one or more entities which match the filter information in the parameters into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. It will apply paging and it will from there use a prefetch path fetch using the read page. It's important that pageSize is smaller than the set . If pagesize is larger than the limits set for the value, the query is likely to be slower than expected, though will work. If pageNumber / pageSize are set to values which disable paging, a normal prefetch path fetch will be performed. The parameters. The cancellation token. parameters If the passed in collectionToFill doesn't contain an entity factory. Async variant Async variant of . Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() The datatable object to fill with the data for the fields in fieldCollectionToFetch The parameters. The cancellation token. parameters Async variant of . Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The reader behavior to set. The parameters. The cancellation token. Open, ready to use IDataReader parameters Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Async variant of . Executes the passed in retrievalquery and returns an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The query to execute. The reader behavior to set. The cancellation token. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open. It can be, if the query is set to cache its resultset, that the reader returned is actually a reader over the cached resultset. If you ordered the query to be cached, be sure to pass queryToExecute to the FetchProjection method to cache the resultset. Async variant of Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. The cancellation token. Async variant of . Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The parameters. The cancellation token. parameters Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The query to execute. The cancellation token. List of instances of T, one for each row in the resultset of queryToExecute Async variant of . Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The name of the entity to retrieve persistence information. For example "CustomerEntity". This name can be retrieved from an existing entity's LLBLGenProEntityName property. filter information to filter out the entities to delete the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy.
This overload doesn't support Authorization or Auditing. It's recommended, if you want to use authorization and/or auditing on this method, use the overload of DeleteEntitiesDirectly which accepts a type.
Async variant of . Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The name of the entity to retrieve persistence information. For example "CustomerEntity". This name can be retrieved from an existing entity's LLBLGenProEntityName property. filter information to filter out the entities to delete The cancellation token. the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy.
This overload doesn't support Authorization or Auditing. It's recommended, if you want to use authorization and/or auditing on this method, use the overload of DeleteEntitiesDirectly which accepts a type.
Async variant of . Deletes all entities of the type passed in from the persistent storage if they match the filter supplied in filterBucket. The type of the entity to retrieve persistence information. filter information to filter out the entities to delete the amount of physically deleted entities typeOfEntity;typeOfEntity can't be null Not supported for entities which are in a TargetPerEntity hierarchy.
This overload performs authorization. Use this overload instead of the one which accepts a name instead of a type instance if you want to have authorization support at runtime.
Async variant of . Deletes all entities of the type passed in from the persistent storage if they match the filter supplied in filterBucket. The type of the entity to retrieve persistence information. filter information to filter out the entities to delete The cancellation token. the amount of physically deleted entities typeOfEntity;typeOfEntity can't be null Not supported for entities which are in a TargetPerEntity hierarchy.
This overload performs authorization. Use this overload instead of the one which accepts a name instead of a type instance if you want to have authorization support at runtime.
Async variant of . Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. Entity object which contains the new values for the entities of the same type and which match the filter in filterBucket. Only fields which are changed are updated. filter information to filter out the entities to update. the number of physically updated entities. Use this number only to test if the update succeeded (so value is > 0). Async variant of . Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. Entity object which contains the new values for the entities of the same type and which match the filter in filterBucket. Only fields which are changed are updated. filter information to filter out the entities to update. The cancellation token. the number of physically updated entities. Use this number only to test if the update succeeded (so value is > 0). Async variant of . Saves the passed in entity to the persistent storage. Will not refetch the entity after this save. The entity will stay out-of-sync. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. Will not refetch the entity after this save. The entity will stay out-of-sync. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save The cancellation token. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. The cancellation token. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. The cancellation token. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. Predicate expression, meant for concurrency checks in an Update query. Will be ignored if the entity is new. This predicate is used instead of a predicate produced by a set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. The cancellation token. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. Will not refetch saved entities and will not recursively save the entities. EntityCollection with one or more dirty entities which have to be persisted the amount of persisted entities Async variant of . Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. Will not refetch saved entities and will not recursively save the entities. EntityCollection with one or more dirty entities which have to be persisted The cancellation token. the amount of persisted entities Async variant of . Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. EntityCollection with one or more dirty entities which have to be persisted Refetches a saved entity from the database, so the entity will not be 'out of sync' When true, it will save all dirty objects referenced (directly or indirectly) by the entities inside collectionToSave also. the amount of persisted entities Async variant of . Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. EntityCollection with one or more dirty entities which have to be persisted Refetches a saved entity from the database, so the entity will not be 'out of sync' When true, it will save all dirty objects referenced (directly or indirectly) by the entities inside collectionToSave also. The cancellation token. the amount of persisted entities Async variant of . Deletes all dirty objects inside the collection passed from the persistent storage. It will do this inside a transaction if a transaction is not yet available. Entities which are physically deleted from the persistent storage are marked with the state 'Deleted' but are not removed from the collection. EntityCollection with one or more dirty entities which have to be persisted the amount of physically deleted entities Async variant of . Deletes all dirty objects inside the collection passed from the persistent storage. It will do this inside a transaction if a transaction is not yet available. Entities which are physically deleted from the persistent storage are marked with the state 'Deleted' but are not removed from the collection. EntityCollection with one or more dirty entities which have to be persisted The cancellation token. the amount of physically deleted entities Async variant of . Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. If the passed in entity has a concurrency predicate factory object, the returned predicate expression is used to restrict the delete process. The entity instance to delete from the persistent storage true if the delete was succesful, otherwise false. Async variant of . Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. If the passed in entity has a concurrency predicate factory object, the returned predicate expression is used to restrict the delete process. The entity instance to delete from the persistent storage The cancellation token. true if the delete was succesful, otherwise false. Async variant of . Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. The entity instance to delete from the persistent storage Predicate expression, meant for concurrency checks in a delete query true if the delete was succesful, otherwise false. Will throw an ORMConcurrencyException if the delete fails. Async variant of . Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. The entity instance to delete from the persistent storage Predicate expression, meant for concurrency checks in a delete query The cancellation token. true if the delete was succesful, otherwise false. Will throw an ORMConcurrencyException if the delete fails. Async variant of Executes the specified plain SQL query using this adapter. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Async variant of Executes the specified plain SQL query using this adapter. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery The cancellation token. The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Async variant of Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. The cancellation token. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The cancellation token. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the passed in action query and, if not null, runs it inside the passed in transaction. ActionQuery to execute. The cancellation token. execution result, which is the amount of rows affected (if applicable) Async variant of . Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 or more rows. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute the factory object which can produce the entities this method has to fill. Collection to fill with the retrieved rows. The persistence information for the fields of the entity created by entityFactory Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query The cancellation token. Async variant of . Executes the passed in retrieval query and returns the results in thedatatable specified using the passed in data-adapter. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute The dataadapter to use to fill the datatable. DataTable to fill Fields persistence info objects for the fields used for the query. Required for type conversion on values. The cancellation token. true if succeeded, false otherwise Async variant of . Starts a new transaction. All database activity after this call will be ran in this transaction and all objects will participate in this transaction until its committed or rolled back. If there is a transaction in progress, an exception is thrown. Will create and open a new connection if a transaction is not open and/or available. The isolation level to use for this transaction The name for this transaction If a transaction is already in progress. If this DataAccessAdapter is in a System.Transactions.Transaction, no real ado.net transaction will be started, as a transaction is already in progress. In that situation, this method will just open the connection if required. Async variant of . Starts a new transaction. All database activity after this call will be ran in this transaction and all objects will participate in this transaction until its committed or rolled back. If there is a transaction in progress, an exception is thrown. Will create and open a new connection if a transaction is not open and/or available. The isolation level to use for this transaction The name for this transaction The cancellation token. If a transaction is already in progress. If this DataAccessAdapter is in a System.Transactions.Transaction, no real ado.net transaction will be started, as a transaction is already in progress. In that situation, this method will just open the connection if required. Async variant of . Opens the active connection object. If the connection is already open, nothing is done. If no connection object is present, a new one is created DataAccessAdapterBase;This DataAccessAdapter instance has already been disposed, you can't use it for further persistence activity Async variant of . Opens the active connection object. If the connection is already open, nothing is done. If no connection object is present, a new one is created The cancellation token. DataAccessAdapterBase;This DataAccessAdapter instance has already been disposed, you can't use it for further persistence activity Persists the queue passed in. The queue contains ActionQueueElements and is in the right order, just save it from front to back Queue to persist. if true, the actions to perform are insert actions, otherwise update actions The cancellation token. the total amount of entities saved or -1 if the persist of the queue failed It assumes a transaction, if needed, is already created and opened, as well as a connection. All exceptions are bubbled upwards Async variant of Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. The fields in projection, which are used to determine the type converters to use. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is The cancellation token. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. if set to true [perform value projections on plain row]. if set to true [post process database null values]. The type converters to use for the query. The key is the index in the result row, the value is the type converter to run on that value. These type converters have to run prior to the projectors will run. The cancellation token. Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the specified destination set. The destination to which instances of T will be added. The query to execute. The cancellation token. If true, the projection code used will perform implicit type conversions using a slower pipeline. If false, it will use optimized projection logic which assumes the value at ordinal n is of the expected type. Merges the entities fetched in currentElement.RetrievalCollection with the rootEntities for a many to many relation Current element. The parameters. Root entities. The cancellation token. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. The fields in projection, which are used to determine the type converters to use. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. The type converters to use for the query. The key is the index in the result row, the value is the type converter to run on that value. These type converters have to run prior to the projectors will run. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is if set to true it will perform a DBNull to null conversion on the row passed to the projector. Only specify this to true if the projector deals with object arrays to the outside. In all other cases make the projectors already convert the DBNull values. The type converters to use for the query. The key is the index in the result row, the value is the type converter to run on that value. These type converters have to run prior to the projectors will run. Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the specified destination set. The destination to which instances of T will be added. The query to execute. If true, the projection code used will perform implicit type conversions using a slower pipeline. If false, it will use optimized projection logic which assumes the value at ordinal n is of the expected type. Creates the stored procedure call command for the stored proc specified. The stored procedure to call. array of parameters to pass ready to use DbCommand Creates the correct stored procedure name, i.e. with catalog / schema name replaced properly. The stored procedure to call. Creates a new connection object using the current connection string value Will close and dispose an active connection. Returns the active connection object. If no connection object is present, a new one will be created. The active connection object Retrieves the persistence info for the field passed in. FieldInfo which fieldpersistence info has to be retrieved the requested persistence information Retrieves the persistence info objects for the fields of the entity passed in. Entity object which fields the persistence information should be retrieved for the requested persistence information Retrieves the persistence info objects for the fields of the entity passed in. Entity name for entity type which fields the persistence information should be retrieved for the requested persistence information Gets the DB provider factory instance. ready to use Db provider factory instance Gets the db specific creator instance for the database this object targets. ready to use creator Performs the execute single row retrieval query action. This method simply calls Execute on the queryToExecute passed in. The query to execute. The commandbehavior to pass to Execute. live datareader created by the execute method Use this method to pass a different command behavior to queryToExecute.Execute(), which is necessary for ASE sybase for example, as the Sybase ASE provider has a critical issue in some versions where SingleRow doesn't work but SingleResult will Creates a new physical connection object. Connectionstring to use for the new connection object DbConnection implementing connection object. Creates a new physical transaction object over the created connection. The connection is assumed to be open. a physical transaction object, like an instance of SqlTransaction. Creates a new .NET DataAdapter for the database system this DataAccessAdapter object is targeting. New .NET DataAdapter object Creates a new Dynamic Query engine object Post-processes a new dynamic query engine object, which is passed in. To process. the dqe passed in, post-processed and ready to be used. Sets the per instance compatibility level on the dqe instance specified. The dqe. Method which is called from the default clause of the InsertPersistenceInfoObjects(predicateexpression) routine, which is useful for people who implement their own Predicate objects. The current predicate object to fill the persistence info of. Called right before the actual scalar query is executed RetrievalQuery object which will be executed Called right before the actual Save action is executed. the ActionQuery object which will be executed the entity which will be saved by saveQuery Called right after the actual Save action was executed. the ActionQuery object which will be executed the entity which is saved by saveQuery Called at the start of the SaveEntityCollection() method the entity collection to save Called at the end of the SaveEntityCollection() method the entity collection which was saved Called right before the actual delete action is executed the ActionQuery object which will be executed the entity which will be deleted by deleteQuery Called right before the actual delete action is executed the ActionQuery object which will be executed the entity which was deleted by deleteQuery Called at the start of the DeleteEntityCollection method the entity collection to delete Called at the end of the DeleteEntityCollection method the entity collection which was delete Called right before the actual delete query is executed The ActionQuery to execute Called right before the actual delete query is executed The ActionQuery to execute Called right before the actual fetch is executed. the RetrievalQuery which will be executed the IEntityFields2 object which will be filled by selectQuery Called right after the actual fetch is executed. the RetrievalQuery which was executed the IEntityFields2 object which was filled by selectQuery Called right before the actual fetch is executed the RetrievalQuery which will be executed the entity collection to fill Called right after the actual fetch is executed the RetrievalQuery which was executed the entity collection which was filled Called right before the actual fetch is executed the RetrievalQuery object to execute the fieldslist used to construct the query the datatable object to fill Called right after the actual fetch is executed the RetrievalQuery object which was executed the fieldslist used to construct the query the datatable object which was filled Called right before the actual fetch is executed the RetrievalQuery object to execute the fieldslist used to construct the query the datatable object to fill Called right after the actual fetch is executed the RetrievalQuery object which was executed the fieldslist used to construct the query the datatable object which was filled Called right before the actual update query is executed The ActionQuery to execute Called right after the actual update query is executed The ActionQuery to execute Called from PersistQueue, the internal queue processing routine, before the entity is validated and before the entity is used to create a query and actually saved. The entity passed in as entitySaved is already added to the transaction. Entity to be saved. if true, the entity is in the insertqueue, otherwise the update queue. If not overriden calls the entity's OnBeforeEntitySave method. Called right before the Commit() method starts its logic. Called right after the Commit() method has performed its logic and the commit was succesful. Called right before the Rollback() method starts its logic. Called right after the Rollback() method has performed its logic and the rollback was succesful. Inserts the persistence info objects on all objects referenced by the passed in field. The field. Inserts in the elements inside the specified windowspecification the persistence info. Inserts in the elements inside the windowpartition specified the persistence info. Inserts in each predicate expression element the persistence info object for the field used. If there is already a fieldpersistenceinfo element for a given field, it is skipped. IPredicateExpression object which has predicate elements whose persistence info objects have to be set to a value. Inserts in each entityrelation object the persistence info objects for the fields referenced. IRelationCollection object which has entityrelation objects whose fields' persistence info objects have to be set to a value. Inserts the persistence info objects into objects of the passed in tvfcall. The TVF call. Inserts the persistence info objects into the objects of the passed in derived table. The derived table. Inserts in each SortClause object the persistence info object for the field referenced. ISortExpression object which has SortClause objects whose fields persistence info object has to be set to a value. Inserts the persistence info objects into the function call object passed in, for every field object present as parameter in the function call. The function call. Inserts the persistence info objects into the scalar query expression object passed in. The scalar query. Inserts for each entityfield in the collection the persistence info object IGroupByCollection object which has IEntityField(2) objects whose persistence info object has to be set to a value. Inserts for each entityfield in the expression the persistence info object IExpression object which has IEntityField(2) objects whose persistence info object has to be set to a value. The core call of an action stored procedure call. Executes the command specified and opens the connection if required. The command. the value returned by the ExecuteNonQuery call The core call of a retrieval stored procedure call. Performs a fill operation on the adapter for the dataset specified The data set to fill. The adapter. The core call of a retrieval stored procedure call. Performs a fill operation on the adapter for the datatable specified The data table to fill. The adapter. Produces the func to create an action query from a set of action queries to be used for a packed query in a batch. By default this returns null so the default string compacter is used. Creates a new insert DQ for the entity passed in. the entity to create the Insert query for persistence objects for the entity a fully usable IActionQuery object Creates a new Update DQ for the entity passed in. the entity to create the Update query for persistence objects for the entity List, with for each entity (from root to leaf) the PK filter for that entity. a fully usable IActionQuery object Creates a new Update DQ for the entity passed in. the entity to with new values to use for the SET clauses persistence objects for the fields in entityWithNewValues List, with for each entity (from root to leaf) the PK filter for that entity. The additional filter to use in the update query, used for concurrency purposes Relations to walk to fulfill the filter a fully usable IActionQuery object Creates a new Select DQ for the fields passed in using the parameters specified. The parameters. ready to use query to use. Creates a new RowCount DQ for the query build with the elements passed in The parameters. ready to use query to use. Creates a new Delete Query object which is ready to use. Array of IFieldPersistenceInfo objects to use to build the delete query List, with for each entity (from root to leaf) the PK filter for that entity. IActionQuery instance which is ready to be used. Generic version When persistenceInfo is null Creates a new Delete Query object which is ready to use. Array of IFieldPersistenceInfo objects to use to build the delete query Arraylist, with for each entity (from root to leaf) the PK filter for that entity. Extra predicate for concurrency purposes. list of EntityRelation objects, which will be used to formulate a second FROM clause with INNER JOINs. IActionQuery instance which is ready to be used. Generic version When persistenceInfo is null or when deleteFilter is null or when relationsToWalk is null Retrieves the persistence info for the fields passed in. Fields for which the persistence info has to be determined the requested persistence information Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. The parameters. The cancellation token. BUG in call chain: QueryParameters passed in isn't a clone, while it's ordered to be altered. No entity factory specified in the passed in IEntityCollection2 object. Cannot continue;collectionToFill If the passed in collectionToFill doesn't contain an entity factory. Internal version. This version alters the filter inside parameters if the entity to fetch is in a hierarchy: it adds hierarchy relations to the filter passed. Calling methods should first clone the filter passed in before calling this method Async variant Prepares the query for execution. The query to execute. if set to true it will set the connection regardless if it is set The cancellation token. Async variant Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. The parameters. No entity factory specified in the passed in IEntityCollection2 object. Cannot continue;collectionToFill If the passed in collectionToFill doesn't contain an entity factory. Internal version. This version alters the filter inside parameters if the entity to fetch is in a hierarchy: it adds hierarchy relations to the filter passed. Calling methods should first clone the filter passed in before calling this method Prepares the parameters specified for collection fetch. The parameters. No entity factory specified in the passed in IEntityCollection2 object. Cannot continue;collectionToFill Creates the action query from the SQL string and parameter values specified The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. ready to use IActionQuery object Creates the retrieval query from the SQL string and parameter values specified, using the fetch aspects to configure the query and to add paging directives if necessary. The fetch aspects. Can be null, in which case the defaults are used The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. Creates a retrieval query from elements. The parameters. The select query. Preprocesses the query elements which are to be used for constructing a query. The parameters. Is adjusted by this method Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The context to add the entity to if the fetch was succesful. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The new entity fetched, or a previous entity fetched if that entity was in the context specified Internal version. This version alters filterBucket if the entity to fetch is in a hierarchy: it adds hierarchy relations to the filter passed. Calling methods should first clone the filter passed in before calling this method Adds the passed in entity as a participant of this transaction. If KeepTrackOfTransactionParticipants is set to false, this method is a no-op. The participant which actions have to be included in this transaction Interprets the passed in filterbucket and returns information determined after interpreting the data inside the IRelationPredicateBucket object. The Relations and predicate expression are initialized with field persistence info objects The IRelationPredicateBucket object with the filter information to interepret Ref parameter which will be true if there are relation objects specified inside filterBucket Ref parameter which will be the predicate expression to pass to query construction code Fetches an entity from the persistent storage into the passed in Entity2 object using the filter specified. The entity object in which the fetched entity data will be stored. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The filter to use. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. true if the Fetch was succesful, false otherwise Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized Fetches an entity from the persistent storage using the filter specified. The EntityFields2 object to store the entity data in the field persistence infos for the fields passed in.. The filter to use to retrieve one entity. If the filter matches more than 1 entity, the first entity read will be used. true if fetch succeeded, false otherwise Removes all participating elements from this transaction and sends them a commit or rollback signal, based on the passed in boolean Commit. This action will make the participating objects to take care of their own connections again. Action to perform on each removed element. Resets the transaction object. All participants will be notified. Fetches one row from the open data-reader and places that row into the passed in object rowDestination. rowDestination should match the format of the rows read by DataSource. Will only read the current row. The open datareader used to fetch the data The IEntityFields2 implementing object where the data should be stored. The IFieldPersistenceInfo objects for the rowDestination fields Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. EntityCollection object containing one or more root objects which will contain the entities to fetch (and their paths) defined in the prefetch path. filter information used to retrieve the root entities. The maximum amount of entities to return limit used to retrieve the root entities. SortClause expression which was applied to the query executed to retrieve the root entities the PrefetchPath which defines the graph of objects to fetch. Merges the entities fetched in currentElement.RetrievalCollection with the rootEntities for a many to many relation Current element. The parameters. Root entities. Routine which is meant to handle value read errors when GetValues is called on the passed in reader. This routine is only called when the GetValues() method on the passed in reader throws an exception. Implementors of this routine thus have to call different methods to retrieve the values for the current row. The data has to be read into the toFill array. The open datareader, positioned at the current active row array to fill with the current row's values The exception thrown by GetValues(toFill) true if the values are succesfully read, false otherwise. By default this routine returns false. If false is returned, ex is bubbled upwards by the caller. Reads the value of the setting with the key SchemaNameUsageSetting from the *.config file and stores that value as the active setting for schemaNameUsageSetting for this instance, IF specified. If specified, a key with the name SchemaNameToUse is expected as well. Schema name overwrites to fill. Reads the value of the setting with the key CatalogNameUsageSetting from the *.config file and stores that value as the active setting for catalogNameUsageSetting for this instance, IF specified. If specified, a key with the name CatalogNameToUse is expected as well. The catalog name overwrites. Performs the second phase of the initialization. Done from derived classes. The connection string. if set to [keep connection open]. The catalog name usage setting. The schema name usage setting. The catalog name to use. The schema name to use. The catalog name overwrites. The schema name overwrites. Assures the connection is present. Queues the auditor for audit entity flush at commit time. If no transaction is going on, it will flush the entities now in a separate transaction The auditor. Notifies the auditors that the transaction was committed. This means they should clean up any audit entities they contain. Gathers the audit entities to save and then saves them in 1 go. Disposes the postponed dispose candidates. Postponed dispose candidates are queries which couldn't be disposed when it was required and are disposed later on: when the connection is closed or when this adapter is disposed. Creates the active connection and sets it in the query passed in if required. The query to execute. if set to true it will set the connection regardless if it is set Closes the connection if possible (i.e. when keepConnectionOpen is false and isTransactionInProgress is false Prepares the query for execution. The query to execute. if set to true it will set the connection regardless if it is set Creates the conneciton and wires it to transaction and query. The query to execute. if set to true [force connection set]. Prepares the restriction filter relations. The entity. The restriction. The type of hierarchy. The pk filters. The relations. Adds the queue elements to transaction. The queue. Creates the query for entity to save. if set to true [insert actions]. The entity to save. The update restriction. The type of hierarchy. The persistence info objects. Fetches the additional prefetch path for the entity fetched. The prefetch path. The context to use. The fetched entity. The filter to use. Gets the field persistence infos for the entity passed in. The entity with new values. The type of hierarchy. Inits the class. The persistence info provider. Raises the TransactionRolledback event. Raises the TransactionCommitted event Performs the start transaction post open tasks. Performs the start transaction pre open tasks. The isolation level to use for this transaction The name for this transaction Performs the post entity save actions. if set to true [insert actions]. The element. The entity to save. if set to true the query execution was successful and rows were affected. actions succeeded successfully, otherwise false During a save action an entity's update action failed. The entity which failed is enclosed. Constructs the save query (insert or update) for the entity specified. It performs validation whether insert/update is allowed. Only if everything is OK and there's actually something to persist a query is created, otherwise this method returns null. if set to true [insert actions]. The element. The entity to save. the query to execute, or null if there's no query to execute due to the entity not being dirty or because authorizers denied the action or the persistenceaction isn't in the entity's actioncombination defined on its mapping. Creates the query for update entities directly. The entity with new values. The filter bucket. Augmented by this function with hierarchy relations and persistenceinfo. Pass in a clone if this isn't desired. Performs the post update entities directly actions. The entity with new values. The filter bucket. The result. if set to true [transaction started locally]. Performs the post delete entities directly actions. The filter bucket. To return. The dummy. if set to true [transaction started locally]. Creates the query for delete entities directly. Name of the entity. The filter bucket. Performs the post delete entity actions. The entity to delete as entity base2. The delete restriction to use. if set to true [transaction started locally]. if set to true [delete succeeded]. The delete action of an entity failed, probably due to the set delete restriction. The entity which failed is enclosed. Creates the query for delete entity. The entity to delete. The delete restriction to use. The pk filters. the query to use, or null if no query has to be executed, or the query action isn't allowed. Unwraps the active transaction (if present) and returns the real transaction. Performs the pre save entity actions. The entity to save. if set to true [refetch after save]. The update restriction. if set to true [recurse]. The insert queue. The update queue. if set to true [save keep connection open]. if set to true [transaction started in this scope]. if set to true [start transaction locally]. true if execution should proceed, false if there's nothing to do Gets the active DynamicQueryEngine, in case of batching, or a new one which is then cached for the duration of the batch. If no batching is happening, a new DynamicQueryEngine is returned. Preprocessing method for the parameters for a TypedView fetch in a datatable. Commits the controlled ado.net transaction Rolls back the controlled ado.net transaction Async variant of . Fetches the excluded field batch defined by the parameters specified. The returned reader is used by the batch fetcher to merge the resultset it represents into the entities hold by the caller. The result fields. The filter. Size of the batch. The cancellation token. Creates the correct stored procedure name, i.e. with catalog / schema name replaced properly. The stored procedure to call. the stored procedure name to use in a procedure call with schemas etc. properly replaced. Fetches the excluded field batch defined by the parameters specified. The returned reader is used by the batch fetcher to merge the resultset it represents into the entities hold by the caller. The result fields. The filter. Size of the batch. Will notify all transaction participating entities that the transaction they're in, has been committed. Will notify all transaction participating entities that the transaction they're in, has been rolled back. Implements the IDispose' method Dispose. Implements the Dispose functionality. If a transaction is in progress, it will rollback that transaction. Flag which signals this routine if a dispose action should take place (true) or not (false) Gets / sets the size of the batch command when performing multiple entity insert / update statements. If set to a value of 0, every entity insert / update statement will be executed using its own DbCommand. If set to a value of 2 or higher, insert / update statements are packed together into a single DbCommand, the number of packed statements is equal or lower than the value of BatchSize. Packed statements are queries with multiple SQL statements packed together in a single DbCommand. It's not recommended to set this property to a very high value, as databases process packed SQL statements slower than single commands and as parameter names are unique across the complete SQL string, re-using execution plans is not always possible. Set BatchSize to a value of 30 or lower for most operations; it's primarily used to mitigate network latency: the higher the network latency the higher BatchSize can become, to the point where processing the packed SQL string by the database is slower than the combined network latency of all single SQL statements. Not all databases support packing multiple SQL statements into a single DbCommand. Please consult the LLBLGen Pro Runtime Framework user manual for a list of databases which support this feature. If the database used with this DataAccessAdapter doesn't support batching, setting this property has no effect, it will always be reset to 0, and all SQL statements are executed in their own DbCommand When set to a value of -1 or lower Gets or sets the parameterised prefetch path threshold. This threshold is used to determine when the prefetch path logic should switch to a subquery or when it should use a WHERE field IN (value1, value2, ... valueN) construct, based on the # of elements in the parent collection. If that # of elements exceeds this threshold, a subquery is constructed, otherwise field IN (value1, value2, ...) construct is used. The default value is 50. On average, this is faster than using a subquery which returns 50 elements. Use this to tune prefetch path fetch logic for your particular needs.

This threshold is also used to determine if paging is possible. A page size bigger than this threshold will disable the paging functionality when using paging + prefetch paths.
Testing showed that values larger than 300 will be slower than a subquery.

Special thanks to Marcus Mac Innes (http://www.styledesign.biz) for this optimization code.
Gets IsTransactionInProgress. True when there is a transaction in progress. Gets / sets the isolation level a transaction should use. Setting this during a transaction in progress has no effect on the current running transaction. Gets the name of the transaction. Setting this during a transaction in progress has no effect on the current running transaction. Gets / sets the connection string to use for the connection with the database. Gets / sets KeepConnectionOpen, a flag used to keep open connections after a database action has finished. The physical transaction object used over the current ActiveConnection. Gets / sets the timeout value to use with the command object(s) created by the adapter. Default is 30 seconds Set this prior to calling a method which executes database logic. Setting it to 0 won't have any effect: the commandtimeout is then not set. Set it to a value larger than 0. Gets a value indicating whether a System.Transactions transaction is going on. If not, false is returned. true if [in system transaction]; otherwise, false. Gets the function mappings for the DQE related to this DataAccessAdapter. These function mappings are static and therefore not changeable. Configurates this data access adapter object how to threat catalog names in persistence information. For backwards compatibility. The name to use if catalogNameUsageSetting is set to ForceName. Ignored otherwise. For backwards compatibility. The from-to name value pairs and setting for the overwriting of catalog names. The from-to name value pairs and setting for the overwriting of schema names. Gets or sets the active recovery strategy to use with supported actions on this DataAccessAdapter. If null (default), no recovery strategy is used and all exceptions are fatal. The flag (default true) is used to signal the adapter that entities participating in a transaction controlled by this adapter are tracked during the transaction and which values are rolled back after a rollback of the transaction itself. Only set this flag to false if the entities participating in a transaction are not kept in memory during or after the transaction's life time. Gets/sets the flag whether an active recovery strategy should be used. This property is true by default. If false, a query will executed outside the active recovery strategy set on this adapter. General Entity Base class, which is used to inherit the Entity classes from. Used in the Adapter template set. This entity does not have any persistence info on board. CTor Private CTor for deserialization Detaches this entity from all referencing entities and resets all references in this entity to other entities, including many-to-many relationships. It can't reset references in other entities to this entity instance if this entity instance has no reference to said other entities, which means those references will still be present after calling this method. This method starts with this entity and dereferences itself from entities known by this entity. Calls the create entity factory. IEntityFactory2 instance created by the protected method CreateEntityFactory Performs the after save actions. if set to true the save was an insert, otherwise an update. Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Enumerable with 0 or more IEntityCore objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Enumerable with 0 or more IEntityCore objects, referenced by this entity Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the DataAccessAdapter to perform recursive saves. Only 1:n related collections are returned. Enumerable with 0 or more IEntityCollectionCore objects, referenced by this entity Creates a new entity factory instance related to this entity. new IEntityFactoryCore implementing factory Removes this instance from the parent collection (if present), to which it was added through databinding Creates the factory. Returns a new EntityCollection instance of the generated type for the specific entity type T The entity type the collection is for Creates a new RelationPredicateBucket with the predicates to filter on the related entities represented by the navigator specified. Creates entity fields object for this entity. Used in constructor to setup this entity in a polymorphic scenario. Calls the SetRelatedEntity method on the related entity specified during fast serialization. Used in 1:1 properties of generated entities in the deserialization branch of the setter. The related entity. The navigator name related entity. Sets the single related entity navigator to the value (toSet) specified. This isn't done directly, but indirecly by the opposite entity To set. The navigator name in this. ISerializable member. Does custom serialization so event handlers do not get serialized. See ISerializable See ISerializable Deserializes the member data of this instance. Method which gets the member data for navigator members for binary serialization Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the DataAccessAdapter to perform recursive saves. Only 1:n related collections are returned. Collection with 0 or more IEntityCollection2 objects, referenced by this entity Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Collection with 0 or more IEntity2 objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Collection with 0 or more IEntity2 objects, referenced by this entity Calls the generic method CreateEntityCollectionForType, by creating a generic method call using the type specified. Caches the method info for future reference. Creates a field compare value predicate for the field pair specified. Used with the creation of relation info objects in the generated code. if true, use the pk field of the pair specified as the field to compare. if false, use the fk field of the pair for compare if true the pk field's index is used to obtain the value from this entity's fields, otherwise the fk field's index Gets the serialization flags. Bitvector with flags which control what's serialized. Checks if the relation mapped by the property with the name specified is a one way / single sided relation. If the passed in name is null, it will return true if the entity has any single-sided relation Name of the property which is mapped onto the relation to check, or null to check if the entity has any relation which is single sided true if the relation is single sided / one way (so the opposite relation isn't present), false otherwise Method which restores owned data - i.e. considered private to this entity and not shared with any external object The SerializationReader containing the serialized data The serialization flags (previously read) Method which stores owned data - i.e. considered private to this entity and not shared with any external object SerializationWriter The serialization flags (previously constructed) Adds the member collections to the collections queue (base first) The collections queue. Gets the member collections queue from the queue (base first) The collections queue. Determines whether the entity has populated member collections true if the entity has populated member collections. Creates the member entity collections queue. The collections queue. The required queue. Gets the member entity collections internal. Gets the created member entity collections internal. The required flags. Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Collection with 0 or more IEntity2 objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Collection with 0 or more IEntity2 objects, referenced by this entity Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the DataAccessAdapter to perform recursive saves. Only 1:n related collections are returned. Collection with 0 or more IEntityCollection2 objects, referenced by this entity Returns a new ready to use factory for the type of this instance. a new ready to use factory for the type of this instance. List of IEntityField2 references which form the primary key. Reads/Affects .Fields.PrimaryKeyFields Produces the actual XML for this entity, recursively. Because it recurses through referenced entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity. The writer to write the output to. Dictionary with ObjectIDs of all the objects already processed. If this entity's ObjectID is in the Dictionary's key list, a ProcessedObjectReference tag is emitted and the routine simply returns. The aspect flags to control the format of the XML produced if set to true, the start element produced is the absolute root element of the xml to produce. if set to true it will emit the entity type value in the root element as attribute. Performs the actual conversion from Xml to entity data. The reader to read the xml from. ObjectID's of all entities instantiated Arraylist with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Performs the actual conversion from Xml to entity data. current node which points to an entity node. ObjectID's of all entities instantiated Arraylist with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Gets / sets parentCollection. databinding related. EntityCollection implementation which is used for backwards compatibility and for design time databinding. This EntityCollectionNonGeneric is an EntityCollectionBase2(Of EntityBase2) Initializes a new instance of the class. En CTor The entity factory object to use when this collection has to construct new objects. This is the case when the collection is bound to a grid-like control for example. Protected CTor for deserialization Implementation of the entity collection base class. CTor En CTor The entity factory object to use when this collection has to construct new objects. This is the case when the collection is bound to a grid-like control for example. CTor initial contents for this collection Private CTor for deserialization Will add a new entity to the list, will set its parent collection property so CancelEdit will remove it from the list again, and will set its flag that it is added by databinding. Do not call this method from your own code. This is a databinding ONLY method. If this collection is set to ReadOnly Sets the entity information of the entity object containing this collection. Call this method only from entity classes which contain EntityCollection members, like 'Customer' which contains 'Orders' entity collection. The entity containing this entity collection as a member variable The field the related entity has mapped onto the relation which delivers the entities contained in this collection ISerializable member. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection. Per entity type found, a new datatable is created inside destination or if one with the name of the entity is already present, that one is used. It will simply project every data element. The destination dataset in which the projection result is stored. Each DataTable has the name of the entity contained, e.g. "CustomerEntity". DataRelations are created between the data if applicable. Data in destination's datatables (if present) is removed before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection, using the collectionProjections data passed in. Per entity type found, a new datatable is created inside destination or if one with the name of the entity is already present, that one is used. The projection data per entity type The destination dataset in which the projection result is stored. Each DataTable has the name of the entity contained, e.g. "CustomerEntity". DataRelations are created between the data if applicable. Data in destination's datatables (if present) is removed before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection. Per entity type found, an entry is stored inside the destination dictionary. It will simply project every data element. The destination dictionary in which the projection result is stored. destination is cleared before a projection is performed. Creates a hierarchical projection of all the data in this view and for each type in the complete graph found starting with each entity in this view, using the viewProjections data passed in. Per entity type found, an entry is stored inside the destination dictionary. The projection data per entity type The destination dictionary in which the projection result is stored. destination is cleared before a projection is performed. Builds the collection projectors for this collection. The collection projections. Type of the entities per. Creates the hierarchical projection for the entities per type passed in into the destination specified. The collection projections. The destination. Type of the entities per. Creates the hierarchical projection for the entities per type passed in into the destination specified. The collection projections. The destination. Type of the entities per. Creates a new EntityView2 object of the right type on this collection with no filter nor sorter applied. new EntityView2 on this collection Creates a new EntityView2 object of the right type on this collection with the passed in filter applied The filter. new EntityView2 on this collection Creates a new EntityView2 object of the right type on this collection with the passed in filter and sorter applied to it. The filter. The sorter. new EntityView2 on this collection Creates a new EntityView2 object of the right type on this collection with the passed in filter and sorter applied to it and the dataChangeAction set to the passed in value. The filter. The sorter. The data change action to take if data in the related collection changes. new EntityView2 on this collection Sorts the collection. Field to sort on the sort direction The comparer to use. If null, it will use the default comparer. For backwards compatibility. Converts this entity collection to XML, recursively. Uses "EntityCollection" for the rootnode name The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. name of root element to use when building a complete XML representation of this entity collection. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML, recursively. Uses "EntityCollection" for the rootnode name The aspect flags to control the format of the XML produced The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity collection. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. Uses "EntityCollection" for the rootnode name the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML. name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML. Uses "EntityCollection" for the rootnode name The aspect flags to control the format of the XML produced the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML The writer to write the output to. The aspect flags to control the format of the XML produced Converts this entity collection to XML The writer to write the output to. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity collection. Will fill the entity collection and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCollection2.WriteXml() and the Xml has to be compatible with the structure of this entity collection. string with Xml data which should be read into this entity collection and its members. This string has to be in the correct format and should be loadable into a new XmlDocument without problems Will fill the entity collection and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCollection2.WriteXml() and the Xml has to be compatible with the structure of this entity collection. XmlNode with Xml data which should be read into this entity collection and its members. Node's root element is the root element of the entity collection's Xml data Will fill the entity collection and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCollection2.WriteXml() and the Xml has to be compatible with the structure of this entity collection. XmlNode with Xml data which should be read into this entity collection and its members. Node's root element is the root element of the entity collection's Xml data The format. Constructs an object graph with this object as the root from the xml contained by the passed in XmlReader object. Reader with xml used to produce an object graph Constructs an object graph with this object as the root from the xml contained by the passed in XmlReader object. The reader. The format the xml of the reader is in. Produces the actual XML for this entity collection, recursively. Because it recurses through contained entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity collection. The writer to write the output to. Hashtable with ObjectIDs of all the objects already processed. If an entity's ObjectID is in the hashtable's key list, a ProcessedObjectReference tag is emitted and the entity will not recurse further. The aspect flags to control the format of the XML produced if set to true, the XML will contain the factory name, otherwise it won't. Used in Compact25 format if set to true, the start element produced is the absolute root element of the xml to produce. Gets the entity collection description. This string is used in verbose trace messages. It will produce "EntityCollectionBase2", if the passed in switch flag is false, to prevent performance loss due to reflection activity for trace results which will never be seen. switch flag. If this flag is false, "EntityCollectionBase2" will be returned Performs the actual conversion from Xml to entity collection data. The reader to read xml from. ObjectID's of all entities instantiated list with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Assumes Compact25 formatted xml is present in the reader. Performs the actual conversion from Xml to entity collection data. current node which points to an entity collection node. ObjectID's of all entities instantiated list with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Assumes Verbose or Compact formatted xml is present in the reader Removes the passed in entity from the collection without notifying the entity to remove that it has been removed from this collection. To remove. Raises the list changed event, with the parameters passed in. The index. The type of change. Gets or sets a value indicating whether [surpress list changed events]. true if [surpress list changed events]; otherwise, false. Resets the CachedPkHashes. Gets / sets the DeserializationInProgress flag. Gets the entity collection description. This string is used in verbose trace messages. switch flag. Creates a dummy instance using the entity factory stored in an inherited collection. This dummy instance is then used to produce property descriptors. Dummy instance of entity contained in this collection, using the set factory. Produces the actual XML for this entity collection, recursively. Because it recurses through contained entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity collection. The writer to write the output to. Hashtable with ObjectIDs of all the objects already processed. If an entity's ObjectID is in the hashtable's key list, a ProcessedObjectReference tag is emitted and the entity will not recurse further. The aspect flags to control the format of the XML produced if set to true, the XML will contain the factory name, otherwise it won't. Used in Compact25 format if set to true, the start element produced is the absolute root element of the xml to produce. Produces the actual XML for this entity collection, recursively. Because it recurses through contained entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object Hashtable with ObjectIDs of all the objects already processed. If an entity's ObjectID is in the hashtable's key list, a ProcessedObjectReference tag is emitted and the entity will not recurse further. The aspect flags to control the format of the XML produced The XmlNode representing this complete entitycollection object, including containing data. Performs the actual conversion from Xml to entity collection data. current node which points to an entity collection node. ObjectID's of all entities instantiated list with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Performs the actual conversion from Xml to entity collection data. The reader to read xml from. ObjectID's of all entities instantiated list with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Assumes Compact25 formatted xml is present in the reader. Inserts an IEntityCore on position Index Index where to insert the Object Entity Entity2 to insert Performs the set related entity action on the passed in entity. This action is delegated to an inheritor. The entity to perform the setrelated entity action on. Performs the unset related entity action on the passed in entity. This action is delegated to an inheritor. The entity to perform the unsetrelated entity action on. Gets the entity description for the entity passed in. The entity. if true, the method will produce TEntity.GetEntityDescription, otherwise it's a no-op Creates the default entity view instance. By default it creates a new EntityView2(Of TEntity) instance, passing in this collection. new entity view on this collection, to be used as the default entity view, returned by DefaultView Determines the entity factory based on TEntity's value. the entity factory to set Inits the class The EntityFactory2 to use when creating entity objects when a bound control is adding a new entity. Inits the class. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection, using the collectionProjections data passed in. Per entity type found, a new datatable is created inside destination. The projection data per entity type The destination dataset in which the projection result is stored. Each DataTable has the name of the entity contained, e.g. "CustomerEntity". DataRelations are created between the data if applicable. destination is cleared before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection, using the collectionProjections data passed in. Per entity type found, an entry is stored inside the destination dictionary. The projection data per entity type The destination dictionary in which the projection result is stored. destination is cleared before a projection is performed. Adds an IEntity2 object to the list. Entity2 to add Index in list Adds the range of objects passed in. Objects have to be IEntity2 implementing objects Collection to add Inserts an IEntity2 on position Index Index where to insert the Object Entity Entity2 to insert Remove given IEntity2 instance from the list. Entity2 object to remove from list. Returns true if the list contains the given IEntity2 Object Entity2 object to check. true if Entity2 exists in list. Returns index in the list of given IEntity2 object. Entity2 Object to check index in list. copy the complete list of IEntity2 objects to an array of IEntity objects. Array of IEntity2 Objects wherein the contents of the list will be copied. Start index to copy from Creates a new EntityView2 object of the right type on this collection with no filter nor sorter applied. new EntityView2 on this collection Creates a new EntityView2 object of the right type on this collection with the passed in filter applied The filter. new EntityView2 on this collection Creates a new EntityView2 object of the right type on this collection with the passed in filter and sorter applied to it. The filter. The sorter. new EntityView2 on this collection Creates a new EntityView2 object of the right type on this collection with the passed in filter and sorter applied to it and the dataChangeAction set to the passed in value. The filter. The sorter. The data change action to take if data in the related collection changes. new EntityView2 on this collection Returns a readonly collection of entities which are flagged as dirty. This collection is determined on the fly, you can use this collection to remove dirty entities from this entity collection. Gets or sets the at the specified index. Gets the default view for this entitycollection. The returned value is a new instance every time this property is read. It's a new entity view without a filter or a sorter. The default view. Gets / sets the initial capacity of the entity collection. Gets a value indicating whether the collection is a collection of objects. true if the collection is a collection of objects; otherwise, false. Returns an that can be bound to a data source from an object that does not implement an itself. An that can be bound to a data source from the object. Constructs the XML output from the object graph which has this object as the root. Writer to which the xml is written to Uses XmlFormatAspect.Compact25 | XmlFormatAspect.MLTextInCDataBlocks | XmlFormatAspect.DatesInXmlDataType. Produce the schema, always return null, as the XmlSerializer object otherwise can't handle our code. Constructs an object graph with this object as the root from the xml contained by the passed in XmlReader object. Reader with xml used to produce an object graph Uses XmlFormatAspect.Compact25 | XmlFormatAspect.MLTextInCDataBlocks | XmlFormatAspect.DatesInXmlDataType. Xml data should have been produced with WriteXml(writer) or a similar routine which is able to produce similar formatted XML Gets the serialization flags. If set to true, serialization flags are parsed If set to true, entity menber collections are included as well. Bitvector with the serialization flags Method which restores owned data - i.e. considered private to this collection and not shared with any external object SerializationWriter The serialization flags (previously constructed) Method which restores owned data - i.e. considered private to this entity and not shared with any external object The SerializationReader containing the serialized data The serialization flags (previously read) Ares the entity types common. Gets the serialization flags. If set to true, serialization flags are parsed If set to true, entity menber collections are included as well. Bitvector with the serialization flags Adds the specified entity. The entity. Inits the class Gets or sets the containing entity mapped field Lets the implementing class store internal data directly into a SerializationWriter. The SerializationWriter to use Optional context to use as a hint as to what to store (BitVector32 is useful) Lets the implementing class retrieve internal data directly from a SerializationReader. The SerializationReader to use Optional context to use as a hint as to what to retrieve (BitVector32 is useful) The EntityFactory2 to use when creating entity objects when bound to a grid and AddNew is enabled. Returns true if this collection contains dirty objects. If this collection contains dirty objects, an already filled collection should not be refreshed until a save is performed. This property is calculated in real time and can be time consuming when the collection contains a lot of objects. Use this property only in cases when the value of this property is used to do a refetch or not. Gets the default view for this entitycollection. The returned value is the same instance every time this property is read. It's an entity view without a filter or a sorter. The default view. Gets or sets the entity collection which should be used as removed entities tracker. If this property is set to an IEntityCollection2 instance, all entities which are removed from this collection are marked for deletion and placed in this removed entities tracker collection. This collection can then later on be used to delete these entities from the database in one go. Gets the entity which contains this collection (e.g. Customer, if this collection is the Customer's Orders collection), or null if this collection isn't part of any entity. Gets or sets the removal tracker internal. Gets or sets the entity factory to use Generic class which is used for the columns in the EntityFields collection, which forms the data store of any Entity class generated by LLBLGen Pro. Initializes a new instance of the class, for deserialization purposes. For deserialization purposes CTor The field info. CTor The field info. The containing entity fields core. Initializes a new instance of the class. Name The object alias. .NET Type of the data. Use this CTor for fields mapped onto a derived table with the alias objectAlias Initializes a new instance of the class. Name The object alias. .NET Type of the data. The maximum length of the field or 0 if not relevant The precision to use or 0 if not relevant. The scale to use or 0 if not relevant. Use this CTor for fields mapped onto a derived table with the alias objectAlias Initializes a new instance of the class. The name of the field. Has to be specified The expression to apply. Initializes a new instance of the class. The name of the field. Has to be specified The expression to apply. .NET Type of the data. Initializes a new instance of the class. The name of the field. Has to be specified The expression to apply. The aggregate function to apply. Initializes a new instance of the class. The name of the field. Has to be specified The expression to apply. The aggregate function to apply. .NET Type of the data. Initializes a new instance of the class. The name. The expression to apply. The aggregate function to apply. Type of the data. The object alias. The maximum length of the field or 0 if not relevant The precision to use or 0 if not relevant. The scale to use or 0 if not relevant. Writes the XML of this Field object to the writer specified The writer. The aspects. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Overrides the GetHashCode() method. It will return the hashcode of the value of the field as the hashcode. hashcode of the value of the field. byte[] typed fields will have all the bytes in their array added together with per byte it's multiplied with the index+1 Creates a deep copy of this IEntityField2 object A deep copy of this object Sets the entity field's ObjectAlias property to the specified value value to set The entity field object the method was called on, for command chaining Sets the field alias. The field alias. The entity field object the method was called on, for command chaining Sets the EntityField's AggregateFunctionToApply property Function to apply. The entity field object the method was called on, for command chaining Sets the Entity Field's ExpressionToToApply property Expression to to apply. The entity field object the method was called on, for command chaining Sets the entity field's OverClauseToApply property the over clause to apply to the field the entity field object the method was called on, for command chaining Operator overload for the '==' operator to produce a FieldCompareExpressionPredicate to represent leftOperand == rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '!=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand != rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate which is negated Operator overload for the '>' operator to produce a FieldCompareExpressionPredicate to represent leftOperand > rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '>=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand >= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<' operator to produce a FieldCompareExpressionPredicate to represent leftOperand < rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand <= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '==' operator to produce a FieldCompareExpressionPredicate to represent leftOperand == rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '!=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand != rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate which is negated Operator overload for the '>' operator to produce a FieldCompareExpressionPredicate to represent leftOperand > rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '>=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand >= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<' operator to produce a FieldCompareExpressionPredicate to represent leftOperand < rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand <= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '==' operator to produce a FieldCompareRangePredicate. Field to compare the values to compare with. A FieldCompareRangePredicate Operator overload for the '!=' operator to produce a FieldCompareRangePredicate. Field to compare the values to compare with. A FieldCompareRangePredicate which is negated Operator overload for the '==' operator to produce a FieldCompareValue/Null predicate. Field to compare the value to compare with. If value is null, a FieldCompareNullPredicate will be created instead. A FieldCompareNullPredicate or FieldCompareValuePredicate with the operator ComparisonOperator.Equal Operator overload for the '!=' operator to produce a FieldCompareValue/Null predicate. Field to compare the value to compare with. If value is null, a FieldCompareNullPredicate will be created instead. A FieldCompareNullPredicate or FieldCompareValuePredicate with the operator ComparisonOperator.NotEqual Operator overload for the '>' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.GreaterThan Operator overload for the '>=' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.GreaterEqual Operator overload for the '<' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.LesserThan Operator overload for the '<=' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.LessEqual Operator overload for the '==' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.Equal Operator overload for the '!=' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.NotEqual Operator overload for the '>' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.GreaterThan Operator overload for the '>=' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.GreaterEqual Operator overload for the '<' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.LesserThan Operator overload for the '<=' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.LessEqual Operator overload for the '%' operator to produce a FieldLikePredicate. Field to compare Pattern. A FieldLikePredicate Operator overload for the '+' operator to produce an Expression which represents field + value Left operand. Value. Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents field + expression Left operand. Right operand. Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents field + field2 Left operand. Right operand Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents field + property Left operand. Right operand Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents value + field Value. Right operand. Expression object which represents value + field Operator overload for the '+' operator to produce an Expression which represents expression + field Left operand. Right operand. Operator overload for the '*' operator to produce an Expression which represents field * value Left operand. Value. Expression object which represents field * value Operator overload for the '*' operator to produce an Expression which represents field * expression Left operand. Right operand Expression object which represents field * expression Operator overload for the '*' operator to produce an Expression which represents field * field2 Left operand. Right operand Expression object which represents field * field2 Operator overload for the '*' operator to produce an Expression which represents field * property Left operand. Right operand Expression object which represents field * field2 Operator overload for the '*' operator to produce an Expression which represents value * field Value. Right operand. Expression object which represents value * field Operator overload for the '*' operator to produce an Expression which represents expression * field Left operand. Right operand. Operator overload for the '-' operator to produce an Expression which represents field - value Left operand. Value. Expression object which represents field - value Operator overload for the '-' operator to produce an Expression which represents field - expression Left operand. Right operand Expression object which represents field - expression Operator overload for the '-' operator to produce an Expression which represents field - field2 Left operand. Right operand Expression object which represents field - field2 Operator overload for the '-' operator to produce an Expression which represents field - property Left operand. Right operand Expression object which represents field - field2 Operator overload for the '-' operator to produce an Expression which represents value - field Value. Right operand. Expression object which represents value - field Operator overload for the '-' operator to produce an Expression which represents expression - field Left operand. Right operand. Operator overload for the '/' operator to produce an Expression which represents field / value Left operand. Value. Expression object which represents field / value Operator overload for the '/' operator to produce an Expression which represents field / expression Left operand. Right operand Expression object which represents field / expression Operator overload for the '/' operator to produce an Expression which represents field / field2 Left operand. Right operand Expression object which represents field / field2 Operator overload for the '/' operator to produce an Expression which represents field / property Left operand. Right operand Expression object which represents field / field2 Operator overload for the '/' operator to produce an Expression which represents value / field Value. Right operand. Expression object which represents value / field Operator overload for the '/' operator to produce an Expression which represents expression / field Left operand. Right operand. Operator overload for the '|' operator to concatenate sortoperators to a field Field. Operator to use. new SortClause object Gets or sets the type converter to use. This is only set if this field is a derived table targeting field and the target (indirectly) has a type converter set. Gets or sets the actual .NET type for the type converter to use. This is only set if this field is a derived table targeting field and the target (indirectly) has a type converter set. Class which forms the EntityFields2 type. An EntityFields2 type is a collection of IEntityField2 objects which forms the total amount of fields for a given entity. Adapter specific Initializes a new instance of the class. Used for entity objects. The static data. The inheritance provider. CTor The initial amount of fields in this EntityFields collection CTor The initial amount of fields in this EntityFields collection Inheritance info provider to use. The entity field indexes. Initializes a new instance of the class. The source fields. The inheritance provider to use. The entity field indexes. Used by entity factories to create hierarchy fields objects, for query construction Clones this instance and its contents using a deep copy. an exact, deep copy of this EntityFields2 object and its contents. Creates a shallow copy of this instance, which means that a new EntityFields2 object is created but all membervariables are kept the same. Shallow copy of this instance Clones this object to a new EntityFields2 object where all fields are changed and the object itself is marked dirty. Creates the field instance impl. The field info. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Adapter specific variant of the EntityMaterializer Initializes a new instance of the class. Retrieval query to execute the factory object which can produce the entities this method has to fill. Collection to fill with the retrieved rows. The persistence information for the fields of the entity created by entityFactory Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query Handles the call on get fetch new authorization failure result hint. To call on. Handles the call on can load entity. To call on. Handles the call validate entity after load. To call on. Handles the call on audit load of entity. To call on. toCallOn EntityView2 provides 'view' capabilities for an entity collection. This class supports filtering and sorting in-memory, using type safe objects. Binding an entity collection to a grid or other complex databinding control will actually make the control bind to an instance of this class. Adapter specific CTor entity collection which is the data-container for the data viewed through this view. CTor entity collection which is the data-container for the data viewed through this view. The sorter to apply CTor entity collection which is the data-container for the data viewed through this view. The filter to apply CTor entity collection which is the data-container for the data viewed through this view. The filter to apply The sorter to apply CTor entity collection which is the data-container for the data viewed through this view. The filter to apply The sorter to apply The data change action to take if data in the related collection changes. CTor entity collection which is the data-container for the data viewed through this view. The filter to apply CTor entity collection which is the data-container for the data viewed through this view. The filter to apply The sorter to apply CTor entity collection which is the data-container for the data viewed through this view. The filter lambda to apply The sorter to apply The data change action to take if data in the related collection changes. Copies all entities in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. New collection with all entities in this view Copies all entities starting at startIndex in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. The start index for the interval to copy to the entity collection New collection with all entities in this view Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the projector does with the data is up to the projector. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the projector does with the data is up to the projector. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the projector does with the data is up to the projector. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Creates a dummy instance for the related entity collection of this view. This is done using the entityfactory of that entitycollection. Gets the property descriptor for the first sortclause. The applied sorter on this view.. Gets the at the specified index in the view Gets the related collection set for this view. The related collection. Copies all entities in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. New collection with all entities in this view Copies all entities starting at startIndex in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. The start index for the interval to copy to the entity collection New collection with all entities in this view Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. if set to false, it will perform distinct filtering on all values in the projection result. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Determines whether this entity view contains the entity passed in. This method returns false if the entity is outside the filter, but in the related entity collection, as it's then not contained in the entity view. The entity to check True if the entity is present, otherwise false. Determines the index of the entity passed in in the entity view in filtered and sorted state. The entity to get the index of. Index of the entity in this entityview Gets the related collection set for this view. The related collection. Base class for typedlist classes in SelfServicing. Adapter specific Initializes a new instance of the TypedListBase2 class. CTor name for the datatable Protected constructor for deserialization. Gets an array of all row objects of type T. Array with row objects of type T Gets an array of all row objects of type T that match the filter criteria in order of primary key (or lacking one, order of addition.) The criteria to use to filter the rows. Array with row objects of type T Gets an array of all row objects of type T that match the filter criteria, in the specified sort order The filter expression. A string specifying the column and sort direction. Array with row objects of type T Gets an array of all row objects of type T that match the filter criteria, in the specified sort order that match the specified state The filter expression. A string specifying the column and sort direction. One of the values. Array with row objects of type T Return the type of the typed datarow returns the requested type Method which is called at the end of the generated BuildResultset method and which can be used to add additional fields to the fields object for the typed list, or to manipulate the field objects added to the typed list. The fields. Be sure to call fields.Expand(n) first, where n is the number of fields you want to add. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns the amount of rows in this typed list. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Indexer of this strong typed list Simple attribute which signals the xml serialization/deserialization logic for adapter to call out to custom routines (PerformCustomXmlSerialization and PerformCustomXmlDeserialization) for serialization and deserialization of the property data. Adapter specific, Compact25 specific Attribute definition to define dependency injection information on a class which instances are injected into other objects (targets). A usage of this attribute can be for example a validator class which is injected at runtime into an entity object to be its validator object to use. Initializes a new instance of the class. Type of the target into which to inject an instance of the type annotated with this attribute. Can be an interface, in which case all types which implement the interface and thus with the specified propertyName will get the instance type injected (if applicable) Name of the property to set with the instance of the type annotated with this attribute. Gets / sets the targetNamespaceFilter string which contains semi-colon (;) separated names, or fragments of names of namespaces to limit implementations of TargetType to, when TargetType is an interface. If any fragment specified is found as the start of the type’s namespace name, that type is a valid target. Optional. If no targetnamespacefilter is specified, all types are targeted. Gets / sets the propertyinfo object for the property to go. Gets / sets targetKind. Targetkind defines which types get the instance injected: only the specified type (absolute) or also all subtypes (hierarchy, default). If this property is set to a value and TargetType is an interface, TargetKind will be reset to Absolute. Gets / sets contextType. ContextType is the specification of what kind of instance is injected: a shared instance (Singleton) or a new instance each time an injection has to be made (NewInstancePerTarget, default). Gets / sets targetType, into which to inject an instance of the type annotated with this attribute. Can be an interface, in which case all types which implement the interface and thus with the specified propertyName will get the instance type injected (if applicable) Gets / sets propertyName, which is the name of the property to set with the instance of the type annotated with this attribute. Simple attribute which is used to mark a property in an entity collection that it has to be included in Compact XML. Compact XML is used when the entity collection is send to/from a webservice. Attribute to use on properties which return an entity collection in the Adapter template set. This attribute will tell the property descriptor construction code to construct a list of properties of the type set as the value of the attribute. CTor The type of the objects contained in the collection returned by the property this attribute is applied to. Gets typeContainedInCollection The controller which is the central place where caches live. Use this class to register a cache for a given connection string. Thread safe If set to true the controller will throw an InvalidOperationException when a caching attempt is made for a cache which isn't registered. If false (default), the caching attempt for a cache which doesn't exist will result in a no-op. Set to true during testing/debug to see whether you're trying to cache data in non-existing caches. If set to true (default) the caching system works as expected. If set to false, no resultsets are cached. Set to false when caching is undesired (e.g. during debugging). Global setting. Registers the cache specified under the connection string specified. The connection string to register the cache under. Can be empty string, which will mean the cache is used for all connections. If such a cache is registered, adding another cache will result in an exception. If null, the empty string is assumed The cache to register. toRegister You can't register a cache under a non-empty connection string as a cache for the empty string has already been registered Gets the registered cache. The connection string the cache is registered under. Can be empty string. If null, the empty string is assumed the cache registered under the connectionstring specified, or null if not found Gets the cached resultset for the key - empty-string combination. The key. Gets the cached resultset for the key - connectionstring combination. If no cache is registered for the connection string, the empty string is retried The key. The connection string the cache is registered under. Can be empty string. If null, the empty string is assumed Gets the cached resultsets for the tag - emptyh string combination. The tag which resultsets are returned. Gets the cached resultsets for the tag - connectionstring combination. If no cache is registered for the connection string, the empty string is retried The tag which resultsets are returned. The connection string the cache is registered under. Can be empty string. If null, the empty string is assumed Purges the resultsets cached with the tag specified from the cache registered under the empty string. The tag. Purges the resultsets cached with the tag specified from the cache registered under the connectionstring specified. The tag. The connection string the cache is registered under. Can be empty string. If null, the empty string is assumed Caches the resultset specified under the key specified in the cache related to the connection string for the duration specified. The key. The connection string the cache is registered under. Can be empty string. If null, the empty string is assumed The duration. To cache. key if ThrowExceptionWhenCacheNotAvailable is set to true (default false) and no cache is found related to the specified connection string nor to the empty string If no cache is registered related to the connectionstring, this method is a no-op if ThrowExceptionWhenCacheNotAvailable is set to false (default), no caching takes place. Doesn't overwrite an existing resultset for key. Caches the resultset specified under the key specified in the cache related to the connection string for the duration specified. The key. The connection string the cache is registered under. Can be empty string. If null, the empty string is assumed The duration. To cache. if set to true it will replace an existing cached set with the one specified. key if ThrowExceptionWhenCacheNotAvailable is set to true (default false) and no cache is found related to the specified connection string nor to the empty string If no cache is registered related to the connectionstring, this method is a no-op, no caching takes place Caches the resultset specified under the key specified in the cache related to the connection string for the duration specified. The key. The connection string the cache is registered under. Can be empty string. If null, the empty string is assumed The duration. To cache. if set to true it will replace an existing cached set with the one specified. The tag under which the resultset is cached. key if ThrowExceptionWhenCacheNotAvailable is set to true (default false) and no cache is found related to the specified connection string nor to the empty string If no cache is registered related to the connectionstring, this method is a no-op, no caching takes place Class which represents a cached resultset. A cached resultset is a list of object arrays and a number indicating the number of columns in the resultset. The object arrays are objects read from a datareader and can be used with a wrapping reader as if it's read from the DB. All values, including byte arrays are considered value types and are shared among all objects which are receiving the values. Initializes a new instance of the class. The column names. The type per ordinal. The schema table. Column names is null / empty Caches the row specified in this object. Tests the number of elements in toCache. it should match the number specified in the ctor. To cache. Gets the number of columns. Gets the cached rows. Gets the column names. Gets the .NET type per ordinal list, where the ordinal is the index in the returned list. Can be null, in which case no type info is available. Gets the schema table. DataReader which is used to traverse a cached resultset. This reader won't clone byte[] values, so byte manipulation in a row which is received from this reader will affect all objects which contain the particular value. Initializes a new instance of the class. To traverse. The command behavior to mimic. The command executed. toTraverse Closes the object. Gets the value of the specified column as a Boolean. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a byte. The zero-based column ordinal. The value of the specified column. Reads a stream of bytes from the specified column, starting at location indicated by , into the buffer, starting at the location indicated by . The zero-based column ordinal. The index within the row from which to begin the read operation. The buffer into which to copy the data. The index with the buffer to which the data will be copied. The maximum number of characters to read. The actual number of bytes read. Gets the value of the specified column as a single character. The zero-based column ordinal. The value of the specified column. Reads a stream of characters from the specified column, starting at location indicated by , into the buffer, starting at the location indicated by . The zero-based column ordinal. The index within the row from which to begin the read operation. The buffer into which to copy the data. The index with the buffer to which the data will be copied. The maximum number of characters to read. The actual number of characters read. Gets name of the data type of the specified column. The zero-based column ordinal. A string representing the name of the data type. Gets the value of the specified column as a object. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a object. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a double-precision floating point number. The zero-based column ordinal. The value of the specified column. Returns an that can be used to iterate through the rows in the data reader. An that can be used to iterate through the rows in the data reader. Gets the data type of the specified column. The zero-based column ordinal. The data type of the specified column. Gets the value of the specified column as a single-precision floating point number. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a globally-unique identifier (GUID). The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a 16-bit signed integer. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a 32-bit signed integer. The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as a 64-bit signed integer. The zero-based column ordinal. The value of the specified column. Gets the name of the column, given the zero-based column ordinal. The zero-based column ordinal. The name of the specified column. Gets the column ordinal given the name of the column. The name of the column. The zero-based column ordinal. Returns a that describes the column metadata of the . A that describes the column metadata. Gets the value of the specified column as an instance of . The zero-based column ordinal. The value of the specified column. Gets the value of the specified column as an instance of . The zero-based column ordinal. The value of the specified column. Gets all attribute columns in the collection for the current row. An array of into which to copy the attribute columns. The number of instances of in the array. Gets a value that indicates whether the column contains nonexistent or missing values. The zero-based column ordinal. true if the specified column is equivalent to ; otherwise false. Advances the reader to the next result when reading the results of a batch of statements. true if there are more result sets; otherwise false. Advances the reader to the next record in a result set. true if there are more rows; otherwise false. Gets the value. The ordinal. Checks the row presence. This reader is closed. Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. Gets the value of the specified column as an instance of . The name. Gets the value of the specified column as an instance of . The ordinal. Gets a value that indicates whether this contains one or more rows. Gets a value indicating whether the is closed. Gets a value indicating the depth of nesting for the current row. Gets the number of columns in the current row. Wrapper object for objects which are placed in the resultsetcache. Initializes a new instance of the class. To cache. The duration. The tag. toCache Gets the cached item. Gets the expires on date/time, in UTC Gets a value indicating whether this has expired, which is the case when ExpiresOnUTC has passed in time. Gets the tag the cacheitem is cached under. Key object which is used to uniquely identify a query with its arguments. Initializes a new instance of the class. The query. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Returns a that represents this instance. A that represents this instance. Precalculates the hash code, as it's a costly operation, so we only have to do this once, as the key's values are read only anyway. Default implementation of the resultsetcache interface. Thread safe. Create one instance per connection string Initializes a new instance of the class. uses a purgeInterval of 10 seconds Initializes a new instance of the class. The purge interval, in seconds. Every purgeInterval seconds, all expired elements will be purged from the cache. Minimum value: 5 seconds Adds the specified toCache to this cache under the key specified for the duration specified The key. The resultset to cache The duration how long the resultset will stay in the cache. If an object is already present under 'key', Add is a no-op. Adds the specified toCache to this cache under the key specified for the duration specified The key. The resultset to cache The duration how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. key Adds the specified toCache to this cache under the key specified for the duration specified The key. The resultset to cache The duration how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. The tag under which the resultset has to be cached. key Gets the cached resultset under the key specified. The key. The cached resultset, if present, otherwise null key Gets the cached resultsets with the tag specified. The tag which resultsets have to be returned. the cached resultsets which have the specified tag assigned to them, otherwise empty list. Purges the resultset cached under the key specified from the cache, if present. The key. key Purges the resultsets cached with the tag specified from the cache, if present. The tag. Purges the expired elements from the cache. Handles the Elapsed event of the _purgeTimer control. Defines the trace switch names used by the ORMSupportClasses. The name of the trace switch 'ORMGeneral' The name of the trace switch 'ORMStateManagement' The name of the trace switch 'ORMPersistenceExecution' The name of the trace switch 'ORMQueryExecution' The name of the trace switch 'ORMPlainSQLQueryExecution' Operator to be used with instances to form union lists Unknown type this element has to be added to the main query using a UNION this element has to be added to the main query using a UNION ALL Simple enum which is used to define method infos for generic methods using types: this enum type isn't used anywhere, other than to define an enum type to store data under, including a nullable version. Type to define which action is about to be performed and which has to be verified against the defined actioncombination type of the entity. Type to define the action combination of a groupable model element - target mapping. Bound definition for the start of a frame for a window specification which results in an OVER() clause in a select query The start should be UNBOUNDED PRECEDING The start should be CURRENT ROW Bound definition for the end of a frame for a window specification which results in an OVER() clause in a select query The end should be UNBOUNDED FOLLOWING The end should be CURRENT ROW Type to define the from clause element directive kind The From clause element directive is a table/view hint The From clause element directive is a system time temporal table predicate The From clause element directive is a business time temporal table predicate Type to define the type of the hint specified with a query The hint is to be used as a target hint (so specified on the FROM clause) The hint is to be used as a query hint (so specified with or inside the query). The type of predicate to create by the dbspecific creator for a FromClauseElement directive The business time predicate The system time predicate Specifies the delay type to use with a transient error recovery strategy. Exponential delay: every new retry will be attempted after X^n seconds, where n is the attempt number (so X^1, X^2 etc.) and X is the delay parameter given. Linear delay: every new retry will be attempted after X seconds, where X is the delay parameter given. Random delay: every new retry will be attempted after a random number of Y seconds where Y falls in the interval: [1, X], where X is the delay parameter given. Custom delay: every new retry will be attempted after Y seconds, where Y is calculated by a custom method, which receives X, the delay parameter. Enum which defines the refetch strategy for saved entities a datascope instance has to take after commit. Do nothing, the entities are saved but not refetched nor marked as fetched. This is the default. Always refetch the saved entities Mark the entities saved as 'fetched', which doesn't perform a fetch operation after save. Enum which defines the cascade action type to use with data scopes Cascade the removal as delete: delete the related, depending entities. Default Cascade the removal as update: update the FK field(s) in depending entities. Enum which defines the navigator aspect type to specify which aspects to enable on default views of contained collections of entities contained in data scopes No aspect is enabled AllowNew is enabled AllowEdit is enabled AllowRemove is enabled Enum which defines the preference type for distinct filtering for select queries. Emit Distinct into the SQL query using the rules embedded in the code (default). Always use client-side Distinct filtering. This can be CPU intensive with large sets of duplicates, however on databases where DISTINCT is very time consuming, this setting can be an optimization. Use the v2.6 rules set for emitting distinct. Similar to 'System', but with one exception: if the relationships specified contain m:1 or 1:1 relationships, it will see the resultset as 'unique rows' and will use that into account when emitting Distinct and TOP for entity fetches. This option can give wrong results (no distinct emitted while it should emit distinct). In that case, use 'System' (recommended). Enum which defines the action to take when a scale overflow is detected in the build-in validation for precision/scale values. This validation takes place when an entity field is set to a value and the validation isn't bypassed. No action is taken, and the exception resulting from the scale overflow detection is thrown. Default. Chop off the digits which overflow the scale. Examples: scale is 2: 10.456 becomes 10.45. 10.450 becomes 10.45 SqlServer users should use this option if they want to mimic the SqlClient build-in truncation code. Round the fraction to a value which fits the scale and round values using Math.Round(value, scale) Enum which defines the strategy for the build-in validation logic for new values for entity fields. Build-in validation logic checks if the value to set matches the characteristics of the database field the entity field is mapped on, so when the entity is persisted there won't be any overflow exception. Default. Don't bypass the build-in validation logic and only call the validator if the build-in validation checks succeed. Always bypass the build-in validation logic, even if there's no validator set for the entity. Only bypass the build-in validation logic if the entity has a validator object set. Otherwise execute the build-in validation logic Enum which is used to identify the various info elements in a db specific exception info hashtable/dictionary. The HRESULT error code (if available). The set of error objects (e.g. SqlError, OracleError etc. objects) contained by the exception The error number as reported by the db engine. The server name or datasource the error occured on. A hint provided by the db engine how to solve the error. The error message. This message is also copied to the exception message. Link to help documentation about this error. Enum which is used for fast serialization. It stores information about a type or type/value. Enum which defines the serialization settings available. Adapter specific Uses the original LLBLGenPro serialization/deserialization code Uses the fast serialization code for compact, fast serialization. If you use this option, be sure that the deserialization has to take place using this same code. Enum which is used in Auditors, to signal that this single statement query action is about to be executed and that the framework would like to know if the auditor expects to have entities to save after the statement so a transaction should be started. An insert of a new entity is about to be started An update of an existing entity is about to be started A delete of an existing entity is about to be started A direct update of entities in the database with a single update statement is about to be started A direct delete of entities in the database with a single delete statement is about to be started Enum to specify the hint what to do when authorization fails on a newly fetched entity into a new object. Clear the data of the entity. The entity is added to the collection, if the fetch was a collection fetch. The entity is thrown out and not added to a collection, if the fetch was a collection fetch. This is the default. Enum defined for dependency injection information, to specify the targetkind The instance will be injected only in the type specified as targettype, all subtypes of targettype won't get the instance injected The instance will be injected in the type specified as targettype and all subtypes of targettype. This is the default. Enum defined to specify in which context the instance to inject lives in. every target gets a new instance of the instance type injected. This is the default. Every target gets the same instance of the instance type injected. The singleton instance is thread-specific, so different threads have different singletons Enum definition for LLBLGenProDataSource(2) controls to signal what sorting mode they have to use for selects. Use server-side sorting, which will use solely entity fields (default) Use client-side sorting, which will use all properties specified, also non-field properties. Enum to define the data cache to use for the LLBLGen Pro DataSource controls in an ASP.NET application Data is stored in the viewstate. Default. Data is stored in the Session object using a key which is unique for control instance - page combination. Data is stored in the ASPNet cache using a GUID based key. As the data cached is used in a post-back scenario when data has changed, the duration of the cached data is set to the value specified in the ASPNetCacheDuration property of the datasource control. Duration is always sliding, i.e. expires after ASPNetCacheDuration if the data hasn't been requested from the ASPNet cache. Data isn't cached, all other state is cached in the viewstate. Using this option will cause a refetch of the data if the bound control is editing the data. Only use this cache location option if the data is used in a read-only fashion. Do realize that if the datasource control is asked to refetch the data, it will always have to go to the database to fetch the data. Enum which specifies the type of object which contains the data in an LLBLGenProDataSource(2) control in an ASP.NET application The object containing the data is an entity collection (selfservicing style or adapter style). The object containing the data is a typed list The object containing the data is a typed view. Enum which specifies when the MemberPredicate should be considered 'true' The contained filter in the MemberPredicate has to return true for all elements in the specified member. The contained filter in the MemberPredicate has to return true for at least one element in the specified member. The specified member has no data. The specified filter of the MemberPredicate is ignored. This operator can for example be used to test if the specified member is set, e.g. filter on all OrderEntity instances which have Customer set to an instance. Enum for compatibility level in the SqlServer DQE Not supported anymore Produce SQL which is compatible with SqlServer 2000 and up Produce SQL which is compatible with SqlServer 2005 and up Not supported anymore Produce SQL which is compatible with SqlServer CE 3.5 and up. Recommended when using SqlServer CE 3.5. Produce SQL which is compatible with SqlServer CE 4.0. Recommended when using SqlServer CE 4.0 Produce SQL which is compatible with SqlServer 2012 and up (default) Enum for compatibility level in the Firebird DQE Compatibility is set to firebird 1.5, which means no aliases in subqueries. Compatibility is set to firebird 2.0 or higher (default), which means aliases in subqueries. Enum for compatibility level in the Oracle DQEs (ODP.NET and MS Oracle) Compatibility is set to a level which generates sql compatible with 9i, 10g and 11g. Default. Compatibility is set to a level which generates sql compatible with 12c and up. Enum to specify what to do when the data in the related collection of an entity view changes. A change in data can be: entity added or changed. If an entity is removed from the underlying collection, the entity is simply removed from the entity view, as the view doesn't contain any data by itself. A set filter or sorter isn't re-applied to the changed entity/ies, so the change won't affect the order of the entities in the view nor which rows are in the view. The set filter and the set sorter are re-applied to the entity which caused the change. This is the default and will make the entity view a true 'live' view on the related entity collection The set sorter is re-applied to the entities in the view. Enum to specify to the IConcurrencyPredicateFactory what kind of predicate to produce The predicate type requested is for a Save action The predicate type requested is for a Delete action Enum definition for defining the hierarchy type of the inheritance tree No hierarchy defined for this entity or the entity isn't the root entity. All entities map to the single target (table/view) Per entity a target (table/view) is defined, with just the fields of the derived entity, not the fields of the parent entity. Enum which is used to specify block types, to identity groups of actions under the same type, e.g. inserts or updates. All entity insert actions All entity update actions All entity delete actions. All delete actions performed directly on the database. All update actions performed directly on the database. Enum definition to tell the UnitOfWork that the passed in callback should be executed in the slot specified. Entities are executed in the order: Insert, Update, Delete. Execute the callback before the first entity is inserted. Execute the callback after the last entity has been inserted but before the first entity will be updated. Execute the callback after the last entity has been updated but before the first entity will be deleted. Execute the callback after the last entity has been deleted. Enum definition for the flags which can be passed to overloads of WriteXml(). These flags control the way the format of the output. No aspects have been specified, the defaults are used. Produces more compact XML. This xml doesn't contain type information attributes, nor non-data fields for objects. The default is verbose. Adapter: it's recommended that you use Compact25 instead of this format as it's more compact and faster to deserialize. Places all strings with a < and or > in CDATA blocks. The default is not to do this. Exports all DateTime values in the standard date/time format for XML: DateTime.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzzzzz");. The default is to export DateTime values in ticks. Adapter specific. More optimal XML than Compact, introduced in v2.5. Use this format to have the most compact XML output which still contains change tracking/state information for full round-tripping support for entities and entity graphs. If both Compact and Compact25 are specified, Compact25 is used. Webservice support code in Adapter uses Compact25. SqlServer specific enum definition for Adapter template set. Specifies for the active DataAccessAdapter object what to do with the catalog name in persistence information set into fields. Use default behaviour, which means that nothing is done to the catalog name specified in the persistence info. Force the name specified in the property DataAccessAdapter.CatalogNameToUse. Clears the catalog name specified in the persistence information. This means that the catalog name specified in the connection string is used by SqlServer where to locate specified tables etc.. Clearing of the catalog name makes the SqlServer DQE ignore the catalog name when generating names. Oracle specific enum definition for Adapter template set. Specifies for the active DataAccessAdapter object what to do with the schema name in persistence information set into fields. Use default behaviour, which means that nothing is done to the schema name specified in the persistence info. Force the name specified in the property DataAccessAdapter.SchemaNameToUse. Clears the Schema name specified in the persistence information. This means that the schema name specified in the persistence info is cleared. This results in the fact that database objects are not prefixed with a schema, and will only result in a succesful query if global synonym equivalents are available. Enum definition for the hint specified in the Add method of RelationCollection. No hint specified. Use INNER unless ObeyWeakRelations is set to true. Inner join between start and end entity of given relation Overrules the set ObeyWeakRelations flag for this relation. Hints a LEFT join between start and end entity in relation. Overrules the set ObeyWeakRelations flag for this relation. Hints a RIGHT join between start and end entity in relation. Overrules the set ObeyWeakRelations flag for this relation. Hints a CROSS join between start and end entity in relation. Overrules the set ObeyWeakRelations flag for this relation. Hits a FULL join between start and end entity in relation. Overrules the set ObeyWeakRelations flag for this relation. Full joins may not be supported by all databases. Enum definition for the type of a PredicateExpressionElement Element contains an Operator Element contains an IPredicate implementing object. The element is empty. Enum definition for the type of a predicate instance. This enum is stored in Predicate as an int and is used in DataAccessAdapterBase derived classes. Undefined type. A FieldBetweenPredicate instance A FieldCompareNullPredicate instance A FieldCompareValuePredicate instance A FieldLikePredicate instance A predicate expression object containing 0 or more predicate elements. A FieldCompareRangePredicate instance. A FieldFullTextSearchPredicate (SqlServer 2000 specific). Future enhancement. A FieldCompareExpression predicate. A FieldCompareSet predicate Enum definition for the type of relation an EntityRelation object represents. There is no definition for m:n relation because EntityRelation can't represent a m:n relation A 1:n relation A 1:1 relation A m:1 relation A m:n relation Enum definition for the operator used in the FieldCompareValue Predicate. == . The only operator useful for boolean (bit) Fields. <= < >= > <> or != No comparison specified. Used when there's nothing to compare with, the field is the value to use as predicate. Enum definition for the operators used with the FieldCompareSetPredicate class. IN (set) operator. On MySql, don't use In with Negate set to true, as that will lead to unexpected results due to MySql not being correct in this. Use NotEqualAll instead EXISTS(set) operator. == (set with 1 value) operator == ANY (set) operator == ALL (set) operator <= (set with 1 value) operator <= ANY (set) operator <= ALL (set) operator < (set with 1 value) operator < ANY (set) operator < ALL (set) operator >= (set with 1 value) operator >= ANY (set) operator >= ALL (set) operator > (set with 1 value) operator > ANY (set) operator > ALL (set) operator <> (set with 1 value) operator <> ANY (set) operator <> ALL (set) operator Enum definition for the Operators used in PredicateExpressions The AND operator. The OR operator. Enum definition for the sort operator, which can be specified with IEntityField instances to create order by clauses. Makes sorts Ascending Makes sorts Descending Enum definition for the state an Entity can be in. Entity is new. It can be empty or filled, but is not saved (yet) to the persistent storage. Entity is filled with its data from the persistent storage. It can be changed since the fetch. Entity is out of sync with its physical entity in the persistent storage. An Entity is marked OutOfSync when a succesful Save action is performed. An Entity will re-fetch itself when in the state OutOfSync when a property is read or Refetch() is called. The state will then be set to Fetched. Adapter specific. If an entity has the state Deleted, it is no longer available in the persistent storage. Enum definition for the various aggregate functions which can be applied to fields in a retrieval query. Useful in typed lists. Use these in combination with a groupbycollection. Not all functions are legal on all fields. Some functions will produce errors when used with fields of a given type, like a Sum function with a character field. This is the responsibility of the developer. Aggregate functions are never applied to *lob fields. Default, do not apply an aggregate function to the field. Calculates the amount of rows for the field. Results in COUNT(field) Calculates the amount of rows with distinct values for field. Results in COUNT(DISTINCT field). Access, MySql: not supported Calculates the amount of rows. Results in a COUNT(*) Calculates the amount of rows for the field. Results in COUNT(field) and returns an Int64. SQL Server 2005+ Calculates the amount of rows with distinct values for field. Results in COUNT(DISTINCT field) and returns an Int64. SQL Server 2005+ Access, MySql: not supported Calculates the amount of rows. Results in a COUNT(*) and returns an Int64. SQL Server 2005+ Calculates the average value for the field. Results in an AVG(field) works on numeric fields (decimal/int/float/byte/etc.) only Calculates the average value for the distinct values for field. Results in an AVG(DISTINCT field). Access, MySql: not supported works on numeric fields (decimal/int/float/byte/etc.) only Calculates the max value for field. Results in a MAX(field). works on numeric fields (decimal/int/float/byte/etc.) only Calculates the min value for field. Results in a MIN(field) works on numeric fields (decimal/int/float/byte/etc.) only Calculates the sum of all values of field. Results in a SUM(field) works on numeric fields (decimal/int/float/byte/etc.) only Calculates the sum of all distinct values of field. Results in a SUM(DISTINCT field). Access, MySql: not supported works on numeric fields (decimal/int/float/byte/etc.) only Calculates statistical standard deviation. Results in: SqlServer: STDEV(field)
Oracle, MySql: STDDEV(field)
Access: STDEV(field)
Firebird: not supported
Works on float fields only
Calculates statistical standard deviation over distinct values. Results in: SqlServer: not supported
Oracle: STDDEV(DISTINCT field)
Access, Firebird, MySql: not supported
Works on float fields only
Calculates statistical variance. Results in: SqlServer: VAR(field)
Oracle, MySql: VARIANCE(field)
Access: VAR(field)
Firebird: not supported.
Works on float fields only
Calculates statistical variance over distinct values. Results in: SqlServer: not supported
Oracle: VARIANCE(DISTINCT field)
Access, Firebird, MySql: not supported
Works on float fields only
Enum definition for the various aggregate functions supported by the for in-memory filters. Calculates the amount of elements matching the specified filter. Result is of type Int32 Calculates the amount of elements matching the specified filter, ignoring duplicates. Result is of type Int32. NULL/DBNull.Value is counted as a value. Calculates the average value for the values in the set. Result is of type Decimal. works on numeric fields (decimal/int/float/byte/etc.) only. Calculates the average value for the values in the set, excluding duplicates. Result is of type Decimal works on numeric fields (decimal/int/float/byte/etc.) only Calculates the max value for the values in the set. Result is of the type of the values in the set. works on numeric fields (decimal/int/float/byte/etc.) only Calculates the min value for the values in the set. Result is of the type of the values in the set. works on numeric fields (decimal/int/float/byte/etc.) only Calculates the sum of all values in the set. Result is of the type of the values in the set. works on numeric fields (decimal/int/float/byte/etc.) only Calculates the sum of all values in the set excluding duplicates. Result is of the type of the values in the set. works on numeric fields (decimal/int/float/byte/etc.) only Enum for defining the type of the expression element in an expression object The element contains a value The element contains a field The element contains an expression The element contains a function call. The element contains a Scalar query The element contains a Predicate. Enum definition for the ExpressionOperators (ExOp). Name is shortened to limit typing. None specified. Add arithmetic operator Sub(tract) arithmetic operator Mul(tiply) arithmetic operator Div(ision) arithmetic operator Mod(ulo) arithmetic operator Equal (==) logical operator GreaterEqual (>=) logical operator Greater (>) logical operator LessEqual (<=) logical operator Lesser (<) logical operator Not Equal (!=) logical operator And logical operator Or logical operator Bitwise and (&) operator Bitwise or (|) operator Bitwise exclusive or (Xor) (^) operator Operator to use with FieldFullTextSearchPredicate. SqlServer specific. Produces a CONTAINS() statement Produces a FREETEXT() statement Enum definition for RDBMS hints, like table lock hints and other hints. Hint for statements to apply to a table specification in a FROM clause. For example, in Sqlserver, if the setting is switched on, this hint will produce (NOLOCK) as a hint to use. Enum to define the types of parameters in a dbfunction call. Used internally to quickly call the right routine for parameter to text conversion Parameter is a field Parameter is a value. Parameter is an expression. Parameter is a sort expression Enum which is used when derived table targeting fields are checked if they're present in the derived table targeted. Field isn't found with name nor alias in the derived table, though it targets the derived table. Field is present with its name in the derived table. Field is present with its alias in the derived table. Constant holder for the version of this library. Because the library is signed, it has a general version, like 1.0.2003.2, but it also has an internal version, stored in this struct, which reflects the build date. Versions are always equal for the DQE's and the ORM support classes. Contains the build number of this version, which is build up like semver: major.minor.patch. Version reflects the general version of this library, for example 5.0 Abstract base class for auditors in the LLBLGen Pro system. Use this class to easily create auditors to perform auditing for you. If you plan to use binary serialization in your application, be sure to read the recommendations in the manual about serialization and auditor objects. Audits when an entity field's value is succesfully obtained from the passed in entity The entity a field's value was obtained. Index of the field which value was obtained. Be careful when using this auditing routine, because a lot of calls will be made to this routine when data is for example shown in a grid. Another thing to realize is that the audit information is stored inside the auditor which is inside an entity which might not be persisted/deleted later on. This means that if you use the audit data to produce entities which are then returned by GetAuditEntitiesToSave are never persisted if the entity this auditor is the auditor of is never persisted/deleted. In that situation, to get reliable journalling, use an external service to log the audit data. Audits when an entity field is set succesfully to a new value. The entity a field was set to a new value. Index of the field which got a new value. The original value of the field with the index passed in before it received a new value. Audits the successful dereference of related entity from the entity passed in. The entity of which the related entity was dereferenced from. The related entity which was dereferenced from entity Name of the mapped field onto the relation from entity to related entity for which the related entity was dereferenced. Audits the successful reference of related entity from the entity passed in. The entity of which the related entity was dereferenced from. The related entity which was dereferenced from entity Name of the mapped field onto the relation from entity to related entity for which the related entity was referenced. Audits the successful insert of a new entity into the database. The entity saved successfully into the database. Audits the successful update of an existing entity in the database The entity updated successfully in the database. Audits the succesful direct update of entities in the database. The entity with the changed values which is used to produce the update query. The filter to filter out the entities to update. Can be null and can be an IPredicateExpression. The relations to use with the filter. Can be null. The number of entities updated. Audits the successful delete of an entity from the database The entity which was deleted. As the entity passed in was deleted succesfully, reading values from the passed in entity is only possible in this routine. After this call, the state of the entity will be reset to Deleted again and reading the fields will result in an exception. It's also recommended not to reference the passed in entity in any audit entity you might want to persist as the entity doesn't exist anymore in the database. Audits the successful load of an entity from the database The entity which was loaded. All data of the entity which was loaded is inside the entity. Be careful when using this auditing routine, because the audit information is stored inside the auditor which is inside an entity which might not be persisted/deleted later on. This means that if you use the audit data to produce entities which are then returned by GetAuditEntitiesToSave are never persisted if the entity this auditor is the auditor of is never persisted/deleted. In that situation, to get reliable journalling, use an external service to log the audit data. Audits the successful direct delete of entities in the database The type of entity of which entities were deleted. The filter to filter out the entities to delete. Can be null and can be an IPredicateExpression. The relations to use with the filter. Can be null. The number of entities deleted. Gets the audit entities to save. Audit entities contain the audit information stored inside this auditor. The list of audit entities to save, or null if there are no audit entities to save Do not remove the audit entities and audit information from this auditor when this method is called, as the transaction in which the save takes place can fail and retried which will result in another call to this method The transaction with which the audit entities requested from GetAuditEntitiesToSave were saved. Use this method to clear any audit data in this auditor as all audit information is persisted successfully. Method which returns true if this auditor expects to have audit entities to persist and therefore needs a transaction. This method is called in the situation when there's no transaction going on though one should be started right before the single-statement action in the case if the auditor has entities to save afterwards. It's recommended to return true if the auditor might have audit entities to persist after an entity save/delete/direct update/direct delete of entities. Default: true The single statement action which is about to be started. true if a transaction should be started prior to the action to perform (entity save/delete/direct update/direct delete of entities) false otherwise. If false is returned and GetAuditEntitiesToSave returns 1 or more entities, a new transaction is started to save these audit entities which means that this transaction isn't re-tryable if this transaction might fail. Method to serialze audit data to XML. Use the aspects passed in to determine various aspects of the XML format. If the audit data consists of entity instances, be sure to pass the passed in processedObjectIDs object to the WriteXml routine of IEntity2, so use the overload of IEntity2.WriteXml() which accepts a reader and the processedObjectIDs. Though it's recommended not to serialize entity objects in audit data, keep audit data as clean as possible from entity references. The start element 'Auditor' has already been written, the end element /Auditor will be written for you after this routine. The writer. The aspects. The objectIDs of entities already serialized. Adapter specific. Reads the auditor data XML. The auditor node, which is the node of the Auditor element. The elements serialized by WriteXml are the children of this node. Adapter specific. Used in Verbose/Compact scenarios. For Compact25 format, use the XmlReader consuming overload. Reads the auditor data XML. The xml reader to read the xml from. The reader is positioned on the Auditor element. The elements serialized by WriteXml are the children of this element. Read all xml till the reader is positioned on the end element of the Auditor element Adapter specific, Compact25 specific. For Verbose/Compact scenario's use the XmlNode consuming overload Gets the EntityType value as integer for the entity type passed in The type of entity. the EntityType value as integer for the entity type passed in Gets if the auditor object has data which should be Xml serialized. If this property returns false, no serialization (and thus no deserialization) will take place of the data to XML. Used in Adapter Abstract base class for authorizers in the LLBLGen Pro system. Use this class to easily create authorizers. Determines whether the caller can obtain the value for the field with the index specified from the entity type specified. The entity instance to obtain the value from. Index of the field to obtain the value for. true if the caller is allowed to obtain the value, false otherwise Determines whether the caller can set the value for the field with the index specified of the entity type specified. The entity instance the field is located in. Index of the field to set the value of. true if the caller is allowed to set the value, false otherwise Determines whether the caller is allowed to load the data into the entity instance specified. The entity instance to fill with data true if the caller is allowed to load the data in the entity specified. Data inside the entity is the data fetched from the db. If the method returns false, the entity will be reset with a new set of empty fields Determines whether the caller is allowed to save the new instance passed in. The entity to save. true if the caller is allowed to save the new instance passed in, false otherwise Determines whether the caller is allowed to save the modified existing instance passed in. The entity to save. true if the caller is allowed to save the new instance passed in, false otherwise Determines whether the caller is allowed to update entities directly in the database. the entity which is passed in to the method to batch update the entities directly in the database, e.g. UpdateMulti (Selfservicing) or UpdateEntitiesDirectly (adapter) true if the caller is allowed to perform the update, false otherwise Determines whether the caller is allowed to delete of the entity type passed in The entity to delete. true if the caller is allowed to delete the entity passed in, false otherwise Determines whether the caller is allowed to delete entities directly in the database. the type of the entity to batch delete instances of directly in the database, e.g. DeleteMulti (Selfservicing) or DeleteEntitiesDirectly (adapter) true if the caller is allowed to perform the delete, false otherwise Gets the result hint what to do when authorization fails when fetch a new entity. any of the FetchNewAuthorizationFailureResultHint values Gets the EntityType value as integer for the entity type passed in The type of entity. the EntityType value as integer for the entity type passed in Generic base class for the entity collection classes used by Selfservicing and adapter. This class is mainly written to be able to tap into Add/Remove/Insert etc. without problems: the shipped collection classes in .NET don't have the ability to override Add etc. The type this collection is of (the type of the contained objects.) IComponent's Disposed event. Event which is used in complex databinding. Event which is raised at the start of the Remove or RemoveAt(index) routine. To cancel the remove action, set cancel to true. Event which is raised at the End of the Remove or RemoveAt(index) routine. Event which is raised at the start of the Add or Insert(index) routine. To cancel the addition action, set cancel to true. Event which is raised at the End of the Add or Insert(index) routine. empty ctor. Deserialization CTor ISerializable member. Returns a that represents the current . A that represents the current . Determines the index of a specific item in the . The object to locate in the . The index of item if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which item should be inserted. The object to insert into the . The is read-only. index is not a valid index in the . item is null Removes the item at the specified index. The zero-based index of the item to remove. The is read-only. index is not a valid index in the . Adds an item to the . The object to add to the . The is read-only. Adds the range of objects passed in. Collection to add Will issue a ListChanged.Reset event after the range has been added, instead of a listChanged.ItemAdded for each item. Removes all items from the . The is read-only. Removes all items from the . if true, all existing entities are tracked as 'removed' in a set removal tracker collection The is read-only. Determines whether the contains a specific value. The object to locate in the . true if item is found in the ; otherwise, false. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in array at which copying begins. arrayIndex is less than 0. array is null. array is multidimensional.-or-arrayIndex is equal to or greater than the length of array.-or-The number of elements in the source is greater than the available space from arrayIndex to the end of the destination array.-or-Type TEntity cannot be cast automatically to the type of the destination array. Removes the first occurrence of a specific object from the . The object to remove from the . true if item was successfully removed from the ; otherwise, false. This method also returns false if item is not found in the original . The is read-only. Removes the elements in the range specified from this collection. To remove. number of items removed Raises OnListChanged(reset) once, instead of OnListChanged(ItemDeleted) for every T in toRemove. Applies sorting like IBindingList.ApplySort, on the field with the index fieldIndex and with the direction specified. Field to sort on the sort direction For backwards compatibility. Sorts the collection. property to sort on the sort direction The comparer to use. If null, it will use the default comparer. For backwards compatibility. Gets all indices of all the entities in the current order of this collection which match the passed in filter. The filter the entity has to match with. If null, all entities match and every index is returned List of indices of all entities matching the filter Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Adds an item to the . The to add to the . The position into which the new element was inserted. The is read-only.-or- The has a fixed size. Removes all items from the . The is read-only. Determines whether the contains a specific value. The to locate in the . true if the is found in the ; otherwise, false. Determines the index of a specific item in the . The to locate in the . The index of value if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which value should be inserted. The to insert into the . index is not a valid index in the . The is read-only.-or- The has a fixed size. value is null Removes the first occurrence of a specific object from the . The to remove from the . The is read-only.-or- The has a fixed size. Removes the item at the specified index. The zero-based index of the item to remove. The is read-only. index is not a valid index in the . Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in array at which copying begins. array is null. index is less than zero. array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. The type of the source cannot be cast automatically to the type of the destination array. Gets a value indicating whether the has a fixed size. true if the has a fixed size; otherwise, false. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Gets or sets the at the specified index. Gets the number of elements contained in the . The number of elements contained in the . Gets a value indicating whether access to the is synchronized (thread safe). true if access to the is synchronized (thread safe); otherwise, false. Gets an object that can be used to synchronize access to the . An object that can be used to synchronize access to the . Gets or sets the associated with the . The object associated with the component; or null, if the component does not have a site. Disposes this instance. Releases unmanaged and - optionally - managed resources true to release both managed and unmanaged resources; false to release only unmanaged resources. Inits the core class. The capacity. Called when [list changed]. The index. The type of change. Called at the start of a remove routine which removes an entity from this collection. Will raise EntityRemoving event. The entity to remove. true if the remove action can continue (e.g. the event wasn't canceled) otherwise false. Called at the end of a remove routine which removes an entity from this collection. Will raise EntityRemoved event. The entity to remove. Called at the start of the Add or Insert routine which adds an entity to this collection. Will raise EntityAdding event. The entity to add. true if the add action can continue (e.g. the event wasn't canceled) otherwise false. Called at the end of the Add or Insert routine which adds an entity to this collection. Will raise EntityAdded event. The entity to add. Event handler for the EntityContentsChanged event. Called at the end of GetObjectData. Method is used when this object is serialized. Override this method to tap into the serialization sequence. (binary/soap formatter specific). The info. The context. Called at the end of the deserialization constructor. Method is used when this object is deserialized. Override this method to tap into the deserialization sequence. (binary/soap formatter specific). The info. The context. Removes the passed in entity from the collection without notifying the entity to remove that it has been removed from this collection. To remove. Performs the add action to the active context for this collection The entity. Adds the contained entities to the active set context. Sorts the collection. descriptor for property to sort on the sort direction The comparer to use. If null, it will use the default comparer. For backwards compatibility Rebuilds the index which contains per objectid the index in this collection. Will add a new entity to the list, will set its parent collection property so CancelEdit will remove it from the list again, and will set its flag that it is added by databinding. Do not call this method from your own code. This is a databinding ONLY method. If this collection is set to ReadOnly Sorts the collection. Field to sort on the sort direction The comparer to use. If null, it will use the default comparer. For backwards compatibility. Performs the set related entity action on the passed in entity. This action is delegated to an inheritor. The entity to perform the setrelated entity action on. Performs the unset related entity action on the passed in entity. This action is delegated to an inheritor. The entity to perform the unsetrelated entity action on. Gets the entity description for the entity passed in. The entity. if true, the method will produce TEntity.GetEntityDescription, otherwise it's a no-op Places the item in the set RemovedEntitiesTracker. The item to add to the tracker. if true, it will skip checks and always add the item to the tracker Inits the core class. Unsets the entity event handlers. This prevents the entities keeping a reference to this collection. The entity. Sets the entity event handlers so this collection listens to events happening to an entity inside this collection. The entity. Performs the add. The item. Removes the element 'item' from this collection. The item. If true, doesn't notify related entities the entity was removed if true, it doesn't destroy the index. If true, it also doesn't raise an OnListChanged(itemdeleted). Raise an OnListChanged(reset) after the bulk operation instead. Gets all indices of all the entities in the current order of this collection which match the passed in filter. The filter the entity has to match with. If null, all entities match and every index is returned List of indices of all entities matching the filter Adds an IEntityCore object to the list. Entity2 to add Index in list Inserts an IEntityCore on position Index Index where to insert the Object Entity IEntityCore to insert Remove given IEntityCore instance from the list. IEntityCore object to remove from list. Returns true if the list contains the given entity Entity to check. true if Entity exists in list. Clears the collection Clears the collection if true, all existing entities are tracked as 'removed' in a set removal tracker collection Returns index in the list of given entity. Entity to check index in list. Prepares the collection for fetch operation. Completes the fetch operation. Performs the related entity removal. To remove. if set to true [signal related entity many to one]. Gets the cached pk hashes, if available, otherwise null Sets the cached pk hashes to the passed dictionary The pk hashes. Gets/sets the actual removed entities tracker collection. Gets or sets the actual entity factory to use Gets / sets the active context this entity collection is in. Setting this property is not adding the entity collection to the context, it will make contained entities be added to the passed in context. If the entity collection is already in a context, setting this property has no effect. Setting this property is done by framework code, use the Context's Add/Get methods to work with contexts and entity collections. Gets / sets the IConcurrencyPredicateFactory instance to use when creating entity objects during a GetMulti() call or when AddNew is called. Deprecated. Please use the new Dependency injection mechanism to inject factories, validators and other objects into entities Gets the number of elements contained in the . The number of elements contained in the . Gets or sets the object at the specified index. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. When set to true, an entity passed to Add() or Insert() will be tested if it's already present. If so, the index is returned and the object is not added again. If set to false (default) this check is not performed. Setting this property to true can slow down fetch logic. Default: true. If set to false, no new entities will be added through databinding. Default: false. If set to true, entities can be removed through databinding. Default: true. If set to false, entities inside this collection won't be editable in a complex databinding scenario. Gets / sets the initial capacity of the entity collection. Items contained by this collection. Returns simply this instance. Returns a readonly collection of entities which are flagged as dirty. This collection is determined on the fly, you can use this collection to remove dirty entities from this entity collection. Gets or sets a value indicating whether [deserialization in progress]. true if [deserialization in progress]; otherwise, false. Gets or sets a value indicating whether [surpress list changed events]. Obsolete. Collections don't store validator objects anymore. Present to make sure users can continue designing their forms in vs.net Obsolete. Collections don't store validator objects anymore. Present to make sure users can continue designing their forms in vs.net Gets or sets a value indicating whether this instance is for a M:N relationship. If set to true, it will also set IsReadOnly to true. Simple indexer. Gets or sets the removal tracker for this entity collection Gets or sets a value indicating whether this instance is a removal tracker collection. Gets the name of the field mapped onto the relation in the opposite entity which is represented by this collection, if this collection is contained by an entity. E.g. it will return "Customer" if the relation Customer - Order has the field 'Customer' mapped onto it in Order and this collection is the Orders collection in Customer. If this collection isn't contained in any entity, an empty string is returned. The EntityFactory to use when creating entity objects during fetch action or other logic which requires the creation of new entities. Gets / sets the CachedPkHashes. This is a dictionary with the PK hashes for the entities in this collection. This is set during a prefetch path fetch, to cache already calculated PK side hashes. Gets the name of the field mapped onto the relation in the opposite entity which is represented by this collection, if this collection is contained by an entity. E.g. it will return "Customer" if the relation Customer - Order has the field 'Customer' mapped onto it in Order and this collection is the Orders collection in Customer. If this collection isn't contained in any entity, an empty string is returned. Base class for DQE Configuration classes which are used with the RuntimeConfiguration system CTor This method is called by RuntimeConfiguration when the configuration lambda has been run. Stores a catalog name overwrite, which will overwrite the fromName with the toName in every call the catalog name to overwrite the catalog name to overwrite with Stores a schema name overwrite, which will overwrite the fromName with the toName in every call the schema name to overwrite the schema name to overwrite with Stores a DbProviderFactory - invariant name registration with this configuration to use with the DQE. Returns the added catalog name overwrites Returns the added schema name overwrites Returns the added DbProviderFactory-invariant name pairs Base class for elementcreator/elementcreator2 which are in the generated code. Creates a new dynamic relation instance The left operand. ready to use dynamic relation Creates a new dynamic relation instance The left operand. Type of the join. If None is specified, Inner is assumed. The right operand. The on clause for the join. ready to use dynamic relation Creates a new dynamic relation instance The left operand. Type of the join. If None is specified, Inner is assumed. The right operand. The alias of the left operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The on clause for the join. ready to use dynamic relation Obtains the inheritance info provider instance from the singleton Gets the factory of the Entity type with the EntityType value passed in The entity type value. the entity factory of the entity type or null if not found Creates a new dynamic relation instance The left operand. Type of the join. If None is specified, Inner is assumed. Name of the entity, which is used as the right operand. The alias of the right operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The on clause for the join. ready to use dynamic relation Creates a new dynamic relation instance Name of the entity which is used as the left operand. Type of the join. If None is specified, Inner is assumed. Name of the entity, which is used as the right operand. The alias of the left operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The alias of the right operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The on clause for the join. ready to use dynamic relation Creates a new dynamic relation instance The left operand. Type of the join. If None is specified, Inner is assumed. Name of the entity, which is used as the right operand. The alias of the left operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The alias of the right operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The on clause for the join. ready to use dynamic relation Gets the typed view fields of the typedview with the typedviewenum type value specified. The typed view type enum value. Gets the factory of the Entity type with the .NET type passed in The type of entity. the entity factory of the entity type or null if not found Implementation of the routine which gets the factory of the Entity type with the EntityType value passed in The entity type value. the entity factory of the entity type or null if not found Implementation of the routine which gets the factory of the Entity type with the .NET type passed in The type of entity. the entity factory of the entity type or null if not found Core class for the entity classes in both Adapter and SelfServicing. Event fired when a field / property is changed. To fire this event from a derived class, call OnPropertyChanged. Event handler declaration for the event that is fired each time the one of values of this entity are changed. The event does not contain the value / field which is changed, it only signals subscribers the entity is changed and the subscriber should act accordingly, f.e. fire a ListChanged event. Event handler declaration for the event that is fired each time this entity is persisted. Related entities can subscribe to this event to start housekeeping actions, like syncing internal FK fields with the PK fields of this entity. Event which is raised at the start of the initialization method of the entity. The entity is clean and has no entity fields object yet. Event which is raised at the end of the initialization method of the entity. This event is also raised if the entity is pre-filled with a filled EntityFields(2) object. In your handler, check the State property of the entity Fields to see if you're dealing with a new entity or with an entity which is new, but pre-initialized with filled field objects. Flag (default: false), which can be used to track down errors in code at runtime when migrating from LLBLGen Pro v1.0.xx to v2.0. When set to true, it will make invalid field reads fatal and will make the entity throw an ORMInvalidFieldReadException when a field is read while the field's value hasn't been set yet. This is to track down the following errors:
OrderEntity order = new OrderEntity(); order.SomeNullableField+=10; This code resulted in the value 10 in v1.0, but will result in 0 in v2, if you're using .NET 2.0. This is caused by the fact that SomeNullableField is null/Nothing in v2 when the entity is initialized, not 0. By switching on this flag you can track down these errors at runtime.
It will cause problems with asp.net grids and new entities, so use this flag only for checking the code after you've migrated to v2.
The mode (default: NoBypass) to use for the build-in validation checks. Build-in validation checks are performed on every value a field is set to, unless this mode is set to a different value than NoBypass which makes the code to bypass these build-in validation checks. The build-in validation checks are used to prevent overflow exceptions when the entity is persisted to the database. You can also set this field by adding a key-value pair to the appSettings section of your application's config file. Use 'buildInValidationBypassMode' as key and the numeric value of the BuildInValidationBypass enum value as value. Flag (default: false) which controls if saved entities which aren't fetched back in the same call should be marked as Fetched instead of the default 'OutOfSync'. Setting this to true can save fetch roundtrips to the database to refetch data for the entity already in memory. However setting this setting to true can also cause getting the entity out of sync with the database because another thread has updated the same entity data. Use with care. It's recommended to leave it on its default value: false and only set this to true if you're sure the data in-memory reflects the entity data in the database. The action to use when the build-in validation detects a scale overflow (e.g. scale of a field is 2, and the value to set the field to is 10.455, which has a scale of 3). Default is 'Truncate', which means that the overflow value will be truncated to the scale size. If validation is bypassed by setting BuildInValidationBypassMode to a value which makes the build-in validation to be bypassed, this setting has no effect. You can also set this field by adding a key-value pair to the appSettings section of your application's config file. Use 'scaleOverflowCorrectionActionToUse ' as key and the numeric value of the ScaleOverFlowCorrectionAction enum value as value. Flag (default: false) which controls whether reading from an entity object which has been deleted (its Fields.State is EntityState.Deleted) results in an ORMEntityIsDeletedException (false) or not (true). Flag (default: false) which directs the built-in validation logic to throw an ArgumentOutOfRangeException exception when a field which is non-nullable is set to null / nothing. When false, the set action is silently ignored if a non-nullable field is set to null and results in a no-op, which is the behavior of v4.2 and earlier. When true, the set action results in the ArgumentOutOfRangeException. Static CTor Base class for meta-data for an entity definition, which is used by this base class to perform various operations without generated code. This class is inherited by classes in the generated entities. Sets the core info for this entity, which is used in query generation and other activity. Returns a new Relationcollection with all the relations for the navigator specified Creates a prefetch path element for the navigator specified. The collection specified is the collection created for this element which will contain the data fetched for this node. Creates a prefetch path element for the navigator specified. The collection specified is the collection created for this element which will contain the data fetched for this node. Adds the meta-data for a single instance navigator to this meta-data container the name of the navigator the data is for The name of the navigator in the related entity mapped on the same relationship. Can be empty if the navigator doesn't exist the func used to set the member variable of the navigator the func used to obtain the value of the member variable of the navigator the func used to set the property of the navigator The static instance of the relationship this navigator is mapped on The func used to create a new relationship instance for this navigator The names of the forf fields or null if no forf fields are defined for this entity. The field indices for the FK fields forming the relationship this navigator is mapped on The optional func (null otherwise) which produces the handler delegate for the function which calls OnPropertyChanged for a field mapped onto a related field if said related field has been changed If true, the containing entity is on the PK side of the relationship. This value is true for m:1 relationships and false or true for 1:1 relationships The EntityType enum value for the related entity this navigator represents The type of the class the navigator is defined in The type of the class returned by the navigator Adds the meta-data for a multi-instance navigator to this meta-data container. This navigator is mapped onto a 1:n relationship. For m:n navigators, use the other overload. the name of the navigator the data is for the func used to obtain the value of the member variable of the navigator the func used to set the member variable of the navigator. the func used to obtain the value from the property of the navigator the func used to create a new relationship instance for this navigator The func used to create the second relationship instance for this navigator, the relationship from intermediate entity to related entity The alias to use for the start entity in the 2 relationships which combined form the m:n relationship The alias to use for the intermediate entity in the 2 relationships which combined form the m:n relationship The type of the related entity of which this natigator returns a collection of The EntityType enum value for the related entity this navigator represents The type of the class the navigator is defined in The type of the collection this navigator represents Adds the meta-data for a multi-instance navigator to this meta-data container. This navigator is mapped onto a 1:n relationship. For m:n navigators, use the other overload. the name of the navigator the data is for the func used to obtain the value of the member variable of the navigator the func used to set the member variable of the navigator. the func used to obtain the value from the property of the navigator the func used to create a new relationship instance for this navigator The type of the related entity of which this natigator returns a collection of The EntityType enum value for the related entity this navigator represents The type of the class the navigator is defined in The type of the collection this navigator represents Creates for all m:1, 1:1 and 1:n navigator the relationship object and adds it to a list and returns that list. Gets the single instance navigator meta data for the navigator specified. Gets the multi-instance navigator meta data for the navigator specified Gets the many-to-many navigator meta-data for the navigator specified Gets the relationship type for the navigator specified, or null if it's unknown. Returns all navigators which are of the type specified. Gets the navigators the FK field with the index specified is the base of, or null if not found. Gets the total number of one-sided navigators (where there's no navigator on the other side of the relationship) Checks if the navigator specified is a single-sided navigator (if there's no navigator present on the other side of the relationship). returns true if the navigator is singlesided, false otherwise. Returns all registered navigator names Returns the entity name for this entity Return the hierarchy type of the hierarchy this entity is in. Returns whether the entity is a subtype or not Returns whether the entity has a relationship with directly with itself. Only valid for non-inheritance entities, as it checks only for relationships directly with the same type, not relationships indirectly with self, i.e. to a supertype/subtype. This is OK as this is used for grouping in batching of inserts, where inheritance entities aren't taken into account anyway. If these relationships have to be taken in to account as well, this property isn't sufficient. Returns whether the entity is a splitoff/update only entity. Returns the EntityType value of this entity as int. Returns the containing entity type of this instance. Returns the entity factory type to use for this entity. Initializes a new instance of the class. Initializes a new instance of the class. if set to true the entity can perform its own persistence logic. Overrides the GetHashCode method. It will calculate a hashcode for this entity using the eXclusive OR of the hashcodes of the primary key fields in this entity. That hashcode is returned. If no primary key fields are present, the hashcode of the base class is returned, which will not be unique. Hashcode for this entity object, based on its primary key field values Compares passed in object with the given object. This is a compare of PK fields. These have to be the same in VALUES. When the values are not the same, or the type is not the same as the current type, false is returned, true otherwise. When this doesn't have any PK fields, all fields are compared. null values are considered as the same value. IEntityCore implementing object of the same type as this which will be compared to the PK values of this. True when the PK values of this are the same as the PK values of obj, or when this doesn't have any PK fields, all fields have the same value as obj's fields. False otherwise. If this entity or the passed in entity is new, no values are compared, but the physical objects are compared (object.Equals()), because new entities can look the same, value wise due to identity fields which are all 0, however which are physical different entities (object wise) Saves the current set of fields under the name specified in an internal hashtable. All data inside the field objects is preserved. If there is already a set of fields saved under the name specified, that set of fields is overwritten. Name to store the fields under. Case sensitive Creates a deep copy of the fields object. when this method is called while the object is participating in a transaction. Replaces the current set of fields with the fields saved under the name specified. If no set of fields is found with the name specified an exception is thrown. Removes the entry after a succesful rollback. Name under which the fields are stored which have to replace the current set of fields. Case sensitive replaces the current set of fields with the set of fields saved under the name specified. The current set of fields, with all the data are lost after a succesful rollback. thrown when the name specified is not found. when this method is called while the object is participating in a transaction. Removes all saved field sets from the internal hashtable, clearing up space. This method is also called when an entity is saved. General validation method which isn't used by the LLBLGen Pro framework, but can be used by your own code to validate an entity at any given moment. Sets the error message which is returned by IDataErrorInfo.Error the message to set Sets the error message for the field specified. If there's already a message stored for this field, it's overwritten unless append is set to true, which appends the message to the existing error using a semi-colon as separator. The message stored is returned by IDataErrorInfo[fieldName]; name of the field message to store. If it's an empty string, an existing error message for fieldName is cleared instead If true, the value is appended to an already existing error message. As separator a semi-colon is used. Gets the current value of the EntityField2 with the index fieldIndex. Index of EntityField2 to get the current value of The current value of the EntityField2 specified When the entity is out of sync and needs to be refetched first. When the entity is marked as deleted. When fieldIndex is smaller than 0 or bigger than the amount of fields in the fields collection. Sets the EntityField with the name fieldName to the new value value. Marks also the entityfields as dirty. Will refetch the complete entity's fields from the database if necessary (i.e. the entity is outofsync.). Name of EntityField to set the new value of Value to set true if the value is actually set, false otherwise. The value specified is not of the same IEntityField.DataType as the field. The value specified has a size that is larger than the maximum size defined for the related column in the databas Sets the EntityField2 on index fieldIndex to the new value value. Marks also the entityfields2 as dirty. Index of EntityField2 to set the new value of Value to set true if the value is actually set, false otherwise. When fieldIndex is smaller than 0 or bigger than the amount of fields in the fields collection. Returns true if the original value for the field with the fieldIndex passed in, read from the persistent storage was NULL, false otherwise. Should not be used for testing if the current value is NULL, use for that. Index of the field to test if that field was NULL in the persistent storage true if the field with the passed in index was NULL in the persistent storage, false otherwise Returns true if the current value for the field with the fieldIndex passed in represents null/not defined, false otherwise. Should not be used for testing if the original value (read from the db) is NULL Index of the field to test if its currentvalue is null/undefined true if the field's value isn't defined yet, false otherwise Calls the validate entity after load method. Calls the validate entity before save method Calls the validate entity after save method Calls the validate entity before delete method. Method to be used by XmlHelper, which is using this method to call this entity's PostReadXmlFixups. Calls OnGetFetchNewAuthorizationFailureResultHint on the authorizer. Only called when the CanGetLoad failed (authorization failed, so load was denied) any of the FetchNewAuthorizationFailureResultHint values Checks if this entity should be saved. true if this entity should be saved, false otherwise Calls the OnRequiresTransactionForAuditEntities method The action to start. Calls the OnAuditLoadOfEntity() method. Calls the OnAuditDeleteOfEntity method calls the OnAuditDirectUpdateOfEntities method The filter to filter out the entities to update. Can be null and can be an IPredicateExpression. The relations to use with the filter. Can be null. The number of entities updated. calls teh OnAuditDirectDeleteOfEntities method The filter to filter out the entities to delete. Can be null and can be an IPredicateExpression. The relations to use with the filter. Can be null. The number of entities deleted. Calls the OnAuditInsertOfNewEntity method. Calls the OnAuditUpdateOfExistingEntity method. Calls the OnCanLoadEntity method for this entity. the result of OnCanLoadEntity Calls the OnCanSaveNewEntity method for this entity the result of OnCanSaveNewEntity Calls the OnCanSaveExistingEntity method for this entity the result of OnCanSaveExistingEntity Calls the OnCanBatchUpdateEntitiesDirectly method for this entity the result of OnCanBatchUpdateEntitiesDirectly Calls the OnCanBatchDeleteEntitiesDirectly method for this entity the result of OnCanBatchDeleteEntitiesDirectly Calls the OnCanDeleteEntity method for this entity the result of OnCanDeleteEntity Calls the on before entity save. This call originates from DataAccessAdapterBase.OnBeforeEntitySave. Gets the type of the inheritance hierarchy this entity is in. Gets the flag to signal if this entity is a subtype or not. Gets the entity name for this entity. Gets the entity description. This string is used in verbose trace messages. It will produce "EntityCore", if the passed in switch flag is false, to prevent performance loss due to reflection activity for trace results which will never be seen. switch flag. If this flag is false, "EntityCore" will be returned Checks whether this instance has pending fk syncs. A pending FK sync is a sync which hasn't been used yet. If an entity has pending FK syncs, it has to be included into a save queue. Only syncs with entities in the passed in queue are considered. If a sync is with an entity which isn't in the passed in queue, the sync isn't honoured anyway, so the fk sync can be ignored. Hashtable of the entities which are currently scheduled to be saved in the queue. A pending sync has to be with an entity in this queue Gets the entity description. This string is used in verbose trace messages. It will produce "EntityCore", if verbose tracing is switched off for the GeneralSwitch, to prevent performance loss due to reflection activity for trace results which will never be seen. switch flag. If this flag is false, "EntityCore" will be returned the entity to get the description for Gets the inheritance info for this entity, if applicable (it's then overriden) or null if not. InheritanceInfo object if this entity is in a hierarchy of type TargetPerEntity, or null otherwise Will retrieve all stored entity synchronization information for the passed in entity. If no information is stored, an empty hashtable is returned. All sync info is stored by fieldname related entity to retrieve the sync info for Hashtable with the sync info, stored per fieldname, set for this entity Will unset (remove) the passed in information as Entity sync information. If there is no sync information stored for the related entity after this info has been removed, the complete hashentry is removed. Name of field of this entity mapped onto passed in relation related entity set as value for field with name fieldName EntityRelation object which is the relation between this entity and the passed in relatedEntity Sets up the synchronization between the related entity and this entity, related over the member specified. Destructs the synchronization setup between the related entity and this entity, related over the member specified. Will set the passed in information as Entity sync information. If there is no sync information stored yet for the related entity then a new entry is created, otherwise it's info is added to the sync information of this entity, if it isn't already present. If there is already sync information for this field stored for another related entity, that information is removed. Name of field of this entity mapped onto passed in relation related entity set as value for field with name fieldName EntityRelation object which is the relation between this entity and the passed in relatedEntity Synchronizes the PK values of the dataSupplier with the related FK values of this entity. Sync info with the information which to synch with what. Performs the related entity removal. The collection. To remove. if set to true [signal related entity many to one]. Sets the discriminator flag if required. Gets the inheritance info provider instance of the project this entity instance is located in. ready to use inheritance info provider instance. Private CTor for deserialization ISerializable member. Does custom serialization so event handlers do not get serialized. See ISerializable See ISerialilzable Fixes deserialization empty references, because fieldinfo isn't serialized into the data. The field provider. Fixes deserialization empty references, because fieldinfo isn't serialized into the data. The field provider. The persistence provider. A method to call OnPropertyChanged for all fields to signal to bound controls that all fields have been changed. Routine which is used to perform tasks after a ReadXml() action on this entity instance was performed Gets the additional related data, next to the data returned by GetRelatedData. This method appends the additional related data to the passed in toAppendTo dictionary. Key is the property name, value is the entity object or entity collection represented by the property. To append to. the collection to append the additional related data to the passed in toAppendTo collection Used in Compact/Compact25 XML serialization to serialize entity collections without needing to custom serialization. Only add IEntityCore or IEntityCollectionCore implementing objects to the passed in dictionary. If you want to serialize custom classes, use the Compact25 format and custom serialization using the CustomXmlSerializationAttribute attribute Gets a list of all the EntityRelation objects the type of this instance has. A list of all the EntityRelation objects the type of this instance has. Hierarchy relations are excluded. Gets all related data objects, stored by name. The name is the field name mapped onto the relation for that particular data element. Dictionary with per name the related referenced data element, which can be an entity collection or an entity or null Removes this instance from the parent collection (if present), to which it was added through databinding Creates entity fields object for this entity. Used in constructor to setup this entity in a polymorphic scenario. Sets the internal parameter related to the fieldname passed to the instance relatedEntity. Instance to set as the related entity of type entityType Name of field mapped onto the relation which resolves in the instance relatedEntity Unsets the internal parameter related to the fieldname passed to the instance relatedEntity. Reverses the actions taken by SetRelatedEntity() Instance to unset as the related entity of type entityType Name of field mapped onto the relation which resolves in the instance relatedEntity if set to true it will notify the manytoone side, if applicable. Creates a new entity factory instance related to this entity. new IEntityFactoryCore implementing factory Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Enumerable with 0 or more IEntityCore objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Enumerable with 0 or more IEntityCore objects, referenced by this entity Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the DataAccessAdapter to perform recursive saves. Only 1:n related collections are returned. Enumerable with 0 or more IEntityCollectionCore objects, referenced by this entity Gets the entity static meta data instance from the generated type. The instance requested Sets the related entity property to the entity specified. If the property is a collection, it will add the entity specified to that collection. Name of the property. Entity to set as an related entity Used by prefetch path logic. Sets the _alreadyFetched*Navigatorname* flag for the navigator specified to the value specified. If set to true, the already fetched data is reset, if newValue is false and the current value of the flag is true Gets the relation objects which represent the relation the fieldName specified is mapped on. Name of the field mapped onto the relation of which the relation objects have to be obtained. RelationCollection with relation object(s) which represent the relation the field is maped on Marks the fields as dirty. Performs the dependency injection of related objects. This method will call the Create* methods to create validator, concurrency predicate factory and will then kick in the DependencyInjection functionality build into LLBLGen Pro. This method is called at the end of an entity's InitClassMembers method in the generated code. If a Validator object is already set for this entity, this method won't set the Validator property to a different object, this to avoid breaking code written for previous versions of LLBLGen Pro. Adds the internals to context. if set to true resets the active context on contained elements if active context is null. If false it will reset active context only on collections which will then only reset their own variable, not the contained elements. Determines whether this entity is a subType of the entity represented by the passed in enum value, which represents a value in the EntityType enum Type of entity. true if the passed in type is a supertype of this entity, otherwise false Creates the validator object for this entity. Routine is called when the entity is constructed. Implement in an entity class to set a particular entity validator object at construction time. Use this method if you don't want to use LLBLGen Pro's build in dependency injection mechanism. ready to use validator. Creates the authorizer object for this entity. Routine is called when the entity is constructed. Implement in an entity class to set a particular entity authorizer object at construction time. Use this method if you don't want to use LLBLGen Pro's build in dependency injection mechanism. ready to use authorizer Creates the auditor object for this entity. Routine is called when the entity is constructed. Implement in an entity class to set a particular entity auditor object at construction time. Use this method if you don't want to use LLBLGen Pro's build in dependency injection mechanism. ready to use auditor Creates the ITypeDefaultValue instance used to provide default values for value types which aren't of type nullable(of T) Creates the concurrency predicate factory for this entity. Routine is called from the entity constructor. Implement in an entity class to set a particular ConcurrentyPredicateFactory object at construction time. Use this method if you don't want to use LLBLGen Pro's build in dependency injection mechanism. Ready to use ConcurrencyPredicateFactory Called at the end of GetObjectData. Method is used when this object is serialized. Override this method to tap into the serialization sequence. (binary/soap formatter specific). The info. The context. Called at the end of the deserialization constructor. Method is used when this object is deserialized. Override this method to tap into the deserialization sequence. (binary/soap formatter specific). The info. The context. Method which is called at the end of the SetRelatedEntity() method. Usable to act on the fact that a related entity has been set. The related entity. Name of the field mapped onto the relation which resolves to the instance relatedEntity Method which is called at the end of the UnsetRelatedEntity() method. Usable to act on the fact that an entity has been dereferenced as a related entity by the containing entity. The related entity. Name of the field mapped onto the relation which resolves to the instance relatedEntity Method which is called in the default clause of the SetRelatedEntityProperty method during the merge process of prefetch path fetches. Name of the property. Entity to set as an related entity Returns the FetchNewAuthorizationFailureResultHint as returned by the authorizer. Only called when the CanGetLoad failed (authorization failed, so load was denied) any of the FetchNewAuthorizationFailureResultHint values Method which will validate, using custom code supplied this class, the field with index fieldIndex if it should accept the specified value. This method is only called when standard checks already succeeded, so value isn't null, and value does match the destination column definition of the EntityField related to fieldIndex. Index of field to validate value to validate True if the validation succeeded, false otherwise. Method to validate the containing entity after it is loaded. This method is called after the entity has been fully loaded. Method to validate the containing entity right before the save sequence for the entity will start. LLBLGen Pro will call this method right after the containing entity is selected from the save queue to be saved. Method to validate the containing entity right after the entity's save action has been completed and the entity has been refetched (if applicable). Note for adapter users: if the entity wasn't set to be refetched, take into account that reading properties from the containing entity will result in an OutOfSync exception. Method to validate the containig entity right beforethe entity's delete action will take place. Called right at the beginning of GetValue(), which is called from an entity field property getter Index of the field to get. if set to true, the getvalue is cancelled and null is returned instead. Called right at the end of GetValue(), which is called from an entity field property getter Index of the field to get. Called right at the beginning of SetValue(), which is called from an entity field property setter Index of the field to set. The value to set. if set to true, the setvalue is cancelled and the set action is terminated Called right at the end of SetValue(), which is called from an entity field property setter Index of the field to set. Event handler which is called by a related entity after that entity is persisted. IEntityCore instance Audits when an entity field's value is succesfully obtained from the passed in entity Index of the field which value was obtained. Be careful when using this auditing method, because a lot of calls will be made to this method when data is for example shown in a grid. Another thing to realize is that the audit information is stored inside the auditor which is inside an entity which might not be persisted/deleted later on. This means that if you use the audit data to produce entities which are then returned by GetAuditEntitiesToSave are never persisted if the entity this auditor is the auditor of is never persisted/deleted. In that situation, to get reliable journalling, use an external service to log the audit data. Audits when an entity field is set succesfully to a new value. Index of the field which got a new value. The original value of the field with the index passed in before it received a new value. Method which is called right after a field's value has been changed. There are a couple of methods called in the process of setting a field's value. This particular method is solely there to act on a field's value set action. It doesn't raise an event, though it receives the old and new value of the field. Not called if a fieldvalue set action failed. This method is called before changed events are raised. The original value of the field, can be null if the field didn't have a value. Index of the field. In an override, cast the field's fieldindex to the fieldindex of the entity to quickly determine which field you're dealing with Called after BeginEdit is succesfully called. Called after EndEdit is succesfully called. Called after CancelEdit is succesfully called. Called after the TransactionCommit method has been finished. Called after the TransactionRollback method has been finished. Called at the start of the initialization method. Raises Initializing event. Called at the end of the initialization method. Raises Initialized event. Called when InitClassMembers is complete. This method is called from the DataAccessAdapter method OnBeforeEntitySave(), unless that method is overriden. You can override this OnSave method instead, which allows you to make last minute changes, though keep the logic to do that in the entity. Method which returns true if this auditor expects to have audit entities to persist and therefore needs a transaction. This method is called in the situation when there's no transaction going on though one should be started right before the single-statement action in the case if the auditor has entities to save afterwards. It's recommended to return true if the auditor might have audit entities to persist after an entity save/delete/direct update/direct delete of entities. Default: false The single statement action which is about to be started. true if a transaction should be started prior to the action to perform (entity save/delete/direct update/direct delete of entities) false otherwise. If false is returned and GetAuditEntitiesToSave returns 1 or more entities, a new transaction is started to save these audit entities which means that this transaction isn't re-tryable if this transaction might fail. Audits the successful dereference of related entity from the entity passed in. The related entity which was dereferenced from entity Name of the mapped field onto the relation from entity to related entity for which the related entity was dereferenced. Audits the successful reference of related entity from the entity passed in. The related entity which was dereferenced from entity Name of the mapped field onto the relation from entity to related entity for which the related entity was referenced. Audits the successful insert of a new entity into the database. Audits the successful update of an existing entity in the database Audits the succesful direct update of entities in the database. The filter to filter out the entities to update. Can be null and can be an IPredicateExpression. The relations to use with the filter. Can be null. The number of entities updated. Audits the successful delete of an entity from the database As the entity passed in was deleted succesfully, reading values from the passed in entity is only possible in this method. After this call, the state of the entity will be reset to Deleted again and reading the fields will result in an exception. It's also recommended not to reference the passed in entity in any audit entity you might want to persist as the entity doesn't exist anymore in the database. Audits the successful load of an entity from the database Be careful when using this auditing method, because the audit information is stored inside the auditor which is inside an entity which might not be persisted/deleted later on. This means that if you use the audit data to produce entities which are then returned by GetAuditEntitiesToSave are never persisted if the entity this auditor is the auditor of is never persisted/deleted. In that situation, to get reliable journalling, use an external service to log the audit data. Audits the successful direct delete of entities in the database The filter to filter out the entities to delete. Can be null and can be an IPredicateExpression. The relations to use with the filter. Can be null. The number of entities deleted. Method which will check if the caller is allowed to get the field value with the index specified. Index of the field of which the value has to be obtained. true if the caller is allowed to obtain the value for the field specified. Method which will check if the caller is allowed to set the field value with the index specified. Index of the field of which the value has to be set. true if the caller is allowed to set the value for the field specified. Method which will check if the caller is allowed to fill this entity object with entity data from the database or not. true if the caller is allowed to load the data into this instance, otherwise false. Method which will check if the caller is allowed to save this new entity object true if the caller is allowed to save this new entity, otherwise false. Method which will check if the caller is allowed to save this existing entity object true if the caller is allowed to save this existing entity, otherwise false. Method which will check if the caller is allowed to update entities directly in the database. true if the caller is allowed to update entities directly in the database, otherwise false. Method which will check if the caller is allowed to delete entities directly in the database. true if the caller is allowed to delete entities directly in the database, otherwise false. Method which will check if the caller is allowed to delete this existing entity object true if the caller is allowed to delete this existing entity, otherwise false. Called when a property changed value. Call this method to signal databound controls a property has changed. Name of the property. Called when the entity's contents has been changed. Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Collection with 0 or more T objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Collection with 0 or more T objects, referenced by this entity Performs the desync setup when an FK field has been changed. The entity referenced based on the FK field will be dereferenced and sync info will be removed. The fieldindex. Method is implemented in generated code. Method which is meant to be overriden to pre-process a value right before it is set as a field's new value. In general you don't need to override this method. By default it's a no-op. The field info of field to set. The value to set. Use the IFieldInfo specified to obtain values and other info for the field through the IEntityFieldsCore interface implemented on the Fields object Post-processes the value to return from GetValue. Override this method to be able to post-process any value to return from an entity field's property. The field info of field to get. The value to return. It's recommended that you don't change the type of the value passed in. If you want to change the type, use a type-converter. Use the IFieldInfo specified to obtain values and other info for the field through the IEntityFieldsCore interface implemented on the Fields object Performs custom XML serialization for properties which have the CustomXmlSerializationAttribute. Override this method if for some property the data has to be serialized into the output. The xmlwriter should be used to write xml to. You shouldn't emit a startelement with the propertyname, that's already done. Also you shouldn't emit an endelement with the propertyname, that will be done for you. Simply emit XML with the data. Be sure the xml data is valid. You can use the XmlHelper class if necessary. The descriptor of the property to serialize. The property value. The writer. The aspects. Deserialize the value with an override of PerformCustomXmlDeserialization. Adapter specific, Compact25 specific. Performs custom XML deserialization for properties which have the CustomXmlSerializationAttribute. The xmlreader should be used to read the xml from. The reader is positioned on the StartElement of the property which has the name of the property. Check if the element is empty and if not, read till the reader is positioned on the EndElement of the property (which also has the same name). Your override has to set the property's value, using the descriptor's SetValue method. The descriptor of the property to deserialize the value for. The reader. Use this method to deserialize a value which was serialized with an override of PerformCustomXmlDeserialization. Adapter specific, Compact25 specific. Checks if the current value of the field on the index specified is null / not defined. Index of the field. true if the field's value isn't defined yet, false otherwise Creates the requested predicate of the type specified. If no IConcurrencyPredicateFactory instance is stored in this entity instance, null is returned. The type of predicate to create A ready to use predicate to use in the query to execute, or null/Nothing if no IConcurrencyPredicateFactory instance is present, in which case the predicate is ignored Will check if the entity should refetch itself. Will use the factory pattern trick. Refetching occurs when the fields are marked OutOfSync and thus not dirty. Override this method if the scenario of the derived class requires to do refetching initiated from the entity. Gets the EntityType value as int for this entity. Gets the value of the field with the index specified. Index of the field. helper flag which signals the method if a default value should be obtained for the type of the field or not if the value is null. the value of the field When the entity is out of sync and needs to be refetched first. When the entity is marked as deleted. When fieldIndex is smaller than 0 or bigger than the amount of fields in the fields collection. Sets the value of the field with the index specified to the value specified. The fieldindex of the field which value to set. The value to set the field's currentvalue to. When fieldIndex is smaller than 0 or bigger than the amount of fields in the fields collection. true if the value is actually set, false otherwise Sets the EntityField on index fieldIndex to the new value value. Marks also the entityfields as dirty. Will refetch the complete entity's fields from the database if necessary (i.e. the entity is outofsync.). Index of EntityField to set the new value of Value to set If set to true, it will check if this entity is out of sync and will refetch it first if it is, if the entity is capable of refetching itself. true if the value is actually set, false otherwise. The value specified is not of the same IEntityField.DataType as the field. The value specified has a size that is larger than the maximum size defined for the related column in the database or the index passed in is not in the fields range of valid indexes. Sets the value of the field with the index specified to the value specified. The fieldindex of the field which value to set. The value to set the field's currentvalue to. if set to true, it will call into the desync method if the field with the index passed in is an FK field. If set to true, it will check if this entity is out of sync and will refetch it first if it is. Use true in normal behavior, false for framework specific code. When fieldIndex is smaller than 0 or bigger than the amount of fields in the fields collection. true if the value is actually set, false otherwise Method to perform post-fieldvalue set actions, like flagging this object as changed. Field value set flag. If false, nothing happens in this method. Name of the property. Call this method from an override of SetNewFieldValue after that method has been called with 'false' for FireChangeEvent Performs the setup sync related entity. The related entity. The properties changed handler. Name of field of this entity mapped onto passed in relation The relation. if set to true [connect to save event]. The already fetched flag. The forf names. Performs the desetup of the sync info related to the relatedentity passed in The related entity. The properties changed handler. Name of the field. The relation. if set to true [disconnect from save event]. if set to true, it will signal the related entity that it's been dereferenced by calling it's UnsetRelatedEntity method. If the relation is a m:1 relation, the related entity is told not to signal us back IF resetFKFields is false. This is a special case because the 1:n location is in a collection and by telling the related entity not to signal us back, the related entity will use a silent remove on the collection, otherwise the remove is done by the public Remove method which will always signal us back. THe resetFKFields flag signals that this call originates from a location where FK fields are written manually, and the signal back from the related entity will do that again, if performed, hence the special case. The field in related entity. if set to true [reset FK fields]. The fk field indexes. Validates the input variable if it is a valid value for the target table field related to the passed in EntityField2 fieldToValidate. If value is null/nothing, true is returned. EntityField2 which is the destination of the value to validate Value to validate. In the case of a scale overflow and a correction action, this value will be altered. The index of ValueDestination in the EntityFields2 array. true if the value is valid, false otherwise If a scale overflow is detected and the ScaleOverflowCorrectionActionToUse property suggests to alter the value instead the value is altered and no exception is thrown. The value specified is not of the same IEntityField2.DataType as ValueDestination field. Checks if the specified field error message is already present for the given field. Name of the field. The error message. true if the error message is already present for the field, otherwise false. Case insensitive compare Called when this Entity2 is added to a transaction object. This method make sure all data currently inside the entity can be recovered when the transaction is rolled back. Converts this entity to XML, recursively. Uses the LLBLGenProEntityName for the rootnode name The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity to XML, recursively. name of root element to use when building a complete XML representation of this entity. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity to XML, recursively. Uses the LLBLGenProEntityName for the rootnode name The aspect flags to control the format of the XML produced The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity to XML, recursively. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity to XML, recursively. Uses the LLBLGenProEntityName for the rootnode name the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entity object, including containing data. Converts this entity to XML, recursively. Uses the LLBLGenProEntityName for the rootnode name The aspect flags to control the format of the XML produced the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entity object, including containing data. Converts this entity to XML, recursively. name of root element to use when building a complete XML representation of this entity. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entity object, including containing data. Converts this entity to XML, recursively. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entity object, including containing data. Converts this entity to XML The writer to write the output to. The aspect flags to control the format of the XML produced Converts this entity to XML The writer to write the output to. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity. Converts this entity to XML The writer to write the output to. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity. The objectIDs of entities already serialized. Used for serializing embedded entity data in for example auditors. Will fill the entity and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCore.WriteXml() and the Xml has to be compatible with the structure of this entity collection. XmlNode with Xml data which should be read into this entity and its members. Node's root element is the root element of the entity's Xml data Will fill the entity and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCore.WriteXml() and the Xml has to be compatible with the structure of this entity collection. string with Xml data which should be read into this entity and its members. This string has to be in the correct format and should be loadable into a new XmlDocument without problems Will fill the entity and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCore.WriteXml() and the Xml has to be compatible with the structure of this entity collection. XmlNode with Xml data which should be read into this entity and its members. Node's root element is the root element of the entity's Xml data The format. Constructs an object graph with this object as the root from the xml contained by the passed in XmlReader object. Reader with xml used to produce an object graph Constructs an object graph with this object as the root from the xml contained by the passed in XmlReader object. The reader. The format the xml of the reader is in. Produces the actual XML for this entity, recursively. Because it recurses through referenced entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity. The writer to write the output to. Dictionary with ObjectIDs of all the objects already processed. If this entity's ObjectID is in the Dictionary's key list, a ProcessedObjectReference tag is emitted and the method simply returns. The aspect flags to control the format of the XML produced if set to true, the start element produced is the absolute root element of the xml to produce. if set to true it will emit the entity type value in the root element as attribute. Performs the actual conversion from Xml to entity data. The reader to read the xml from. ObjectID's of all entities instantiated Arraylist with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this method, but by the caller) Performs the actual conversion from Xml to entity data. current node which points to an entity node. ObjectID's of all entities instantiated Arraylist with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this method, but by the caller) Constructs the XML output from the object graph which has this object as the root. Writer to which the xml is written to Uses XmlFormatAspect.Compact25 | XmlFormatAspect.MLTextInCDataBlocks | XmlFormatAspect.DatesInXmlDataType. Produce the schema, always return null, as the XmlSerializer object otherwise can't handle our code. Constructs an object graph with this object as the root from the xml contained by the passed in XmlReader object. Reader with xml used to produce an object graph Uses XmlFormatAspect.Compact25 | XmlFormatAspect.MLTextInCDataBlocks | XmlFormatAspect.DatesInXmlDataType. Xml data should have been produced with WriteXml(writer) or a similar method which is able to produce similar formatted XML Constructs an object graph with this object as the root from the xml contained by the passed in XmlReader object. The method which is called from the explicit implementation of IXmlSerializable.ReadXml(reader). Reader with xml used to produce an object graph Uses XmlFormatAspect.Compact25 | XmlFormatAspect.MLTextInCDataBlocks | XmlFormatAspect.DatesInXmlDataType. Xml data should have been produced with WriteXml(writer) or a similar method which is able to produce similar formatted XML Gets or sets the related entity sync infos internal. The related entity sync infos internal. Gets or sets the field to related entity combination Gets an error message indicating what is wrong with this object. An error message indicating what is wrong with this object. The default is an empty string (""). Gets the with the specified column name. Gets all related data objects, stored by name. The name is the field name mapped onto the relation for that particular data element. Dictionary with per name the related referenced data element, which can be an entity collection or an entity or null Routine which is used by the generated code to perform tasks after a ReadXml() action on this entity instance was performed Gets or sets a value indicating whether xml deserialization is in progress. If so, setters can't be set on the other side of 1:1 relationships. Calls the OnCanLoadEntity method for this entity. the result of OnCanLoadEntity Calls OnGetFetchNewAuthorizationFailureResultHint on the authorizer. Only called when the CanGetLoad failed (authorization failed, so load was denied) any of the FetchNewAuthorizationFailureResultHint values Returns whether the entity has a relationship with directly with itself. Only valid for non-inheritance entities, as it checks only for relationships directly with the same type, not relationships indirectly with self, i.e. to a supertype/subtype. This is OK as this is used for grouping in batching of inserts, where inheritance entities aren't taken into account anyway. If these relationships have to be taken in to account as well, this property isn't sufficient. Sets the internal parameter related to the fieldname passed to the instance relatedEntity. Instance to set as the related entity of type entityType Name of field mapped onto the relation which resolves in the instance relatedEntity Unsets the internal parameter related to the fieldname passed to the instance relatedEntity. Reverses the actions taken by SetRelatedEntity() Instance to unset as the related entity of type entityType Name of field mapped onto the relation which resolves in the instance relatedEntity Unsets the internal parameter related to the fieldname passed to the instance relatedEntity. Reverses the actions taken by SetRelatedEntity() Instance to unset as the related entity of type entityType Name of field mapped onto the relation which resolves in the instance relatedEntity if set to true it will notify the manytoone side, if applicable. Routine which will flag all subscribers of the EntityContentsChanged event that this entity's contents is changed. Flags me as saved. Gets the entity description. This string is used in verbose trace messages. It will produce "EntityCore", if the passed in switch flag is false, to prevent performance loss due to reflection activity for trace results which will never be seen. switch flag. If this flag is false, "EntityCore" will be returned Gets the entity description. This string is used in verbose trace messages. It will produce "EntityCore", if verbose tracing is switched off for the GeneralSwitch, to prevent performance loss due to reflection activity for trace results which will never be seen. switch flag. If this flag is false, "EntityCore" will be returned the entity to get the description for Helper method which performs a lookup in the fields based on the name specified. the name of the field to search the field with the name specified or null if not found Creates the requested predicate of the type specified. If no IConcurrencyPredicateFactory instance is stored in this entity instance, null is returned. The type of predicate to create A ready to use predicate to use in the query to execute, or null/Nothing if no IConcurrencyPredicateFactory instance is present, in which case the predicate is ignored Determines whether this entity is a subType of the entity represented by the passed in enum value, which represents a value in the EntityType enum Type of entity. true if the passed in type is a supertype of this entity, otherwise false Checks whether this instance has pending fk syncs. A pending FK sync is a sync which hasn't been used yet. If an entity has pending FK syncs, it has to be included into a save queue. Only syncs with entities in the passed in queue are considered. If a sync is with an entity which isn't in the passed in queue, the sync isn't honoured anyway, so the fk sync can be ignored. Hashtable of the entities which are currently scheduled to be saved in the queue. A pending sync has to be with an entity in this queue Gets a list of all the EntityRelation objects the type of this instance has. A list of all the EntityRelation objects the type of this instance has. Hierarchy relations are excluded. Gets all related data objects, stored by name. The name is the field name mapped onto the relation for that particular data element. Dictionary with per name the related referenced data element, which can be an entity collection or an entity or null Gets the relation objects which represent the relation the fieldName specified is mapped on. Name of the field mapped onto the relation of which the relation objects have to be obtained. RelationCollection with relation object(s) which represent the relation the field is maped on Sets the related entity property to the entity specified. If the property is a collection, it will add the entity specified to that collection. Name of the property. Entity to set as an related entity Used by prefetch path logic. Saves the current set of fields under the name specified in an internal hashtable. All data inside the field objects is preserved. If there is already a set of fields saved under the name specified, that set of fields is overwritten. Name to store the fields under. Case sensitive Creates a deep copy of the fields object. when this method is called while the object is participating in a transaction. Replaces the current set of fields with the fields saved under the name specified. If no set of fields is found with the name specified an exception is thrown. Removes the entry after a succesful rollback. Name under which the fields are stored which have to replace the current set of fields. Case sensitive replaces the current set of fields with the set of fields saved under the name specified. The current set of fields, with all the data are lost after a succesful rollback. thrown when the name specified is not found. when this method is called while the object is participating in a transaction. Removes all saved field sets from the internal hashtable, clearing up space. This method is also called when an entity is saved. Accepts the changes made to the fields. Used in databinding/service scenarios. Calls AcceptChanges on the fields in this entity Rejects the changes made to the fields. Used in databinding/service scenarios. Calls RejectChanges on the fields in this entity Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Enumerable with 0 or more IEntityCore objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Enumerable with 0 or more IEntityCore objects, referenced by this entity Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the DataAccessAdapter to perform recursive saves. Only 1:n related collections are returned. Enumerable with 0 or more IEntityCollectionCore objects, referenced by this entity Returns a new ready to use factory for the type of this instance. a new ready to use factory for the type of this instance. Gets the inheritance info provider instance of the project this entity instance is located in. ready to use inheritance info provider instance. Gets the inheritance info for this entity, if applicable (it's then overriden) or null if not. InheritanceInfo object if this entity is in a hierarchy of type TargetPerEntity, or null otherwise Gets / sets the unique Object ID which is created at runtime when the entity is instantiated. Can be used for external caches. flag which is set when the entity is removed from an entity collection and added to a tracker. Returns true if this entity instance is in the middle of a deserialization process, for example during a ReadXml() call. For internal use only. Gets a value indicating whether this instance is an update only entity. UpdateOnly entities are entities which are 'split off' from the main entity and only update rows in the database, never insert rows. Returns the EntityType enum value for this entity. Returns the full name for this entity, which is important for the DAO to find back persistence info for this entity. CustomerEntity Gets the type of the hierarchy this entity is in. Gets or sets the TypeDefaultValue provider to use. This object is used to provide default values for value typed fields which are null and not of type Nullable(Of T) The custom properties for the type of this entity instance. The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime. The custom properties for the fields of the type of this entity instance. The returned Hashtable contains per fieldname a hashtable of name-value pairs. The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime. List of IEntityField2 references which form the primary key. Reads/Affects .Fields.PrimaryKeyFields. If possible use PrimaryKeyFieldInfos instead. Gets the primary key field infos. Similar to PrimaryKeyFields, but this property doesn't trigger field creation. Gets the fields object of this entity. Begins an edit on an object. Discards changes since the last call. Pushes changes since the last or call into the underlying object. Populates a with the data needed to serialize the target object. The to populate with data. The destination (see ) for this serialization. The caller does not have the required permission. The ITransaction this ITransactionalElement implementing object is participating in. Only valid if ParticipatesInTransaction is true. If set to null, the ITransactionalElement is no longer participating in a transaction. Flag to check if the ITransactionalElement implementing object is participating in a transaction or not. When the in which this element participates is commited, this element can succesfully finish actions performed by this element. This method is called by , you should not call it by yourself. When this element doesn't participate in a transaction it finishes the actions itself, calling this method is not needed. When the in which this element participates is rolled back, this element has to roll back its internal variables. This method is called by , you should not call it by yourself. Sets the Entity Field on index fieldIndex to the new value value. Marks also the entityfields2 as dirty. Index of EntityField2 to set the new value of Value to set if set to true, the change event is fired if the value is set, if applicable. If set to false, the caller is responsible for calling the change event mechanism, recommended is then: PostFieldValueSetAction() true if the value is actually set, false otherwise. When fieldIndex is smaller than 0 or bigger than the amount of fields in the fields collection. Method to keep code compilable however which is now marked as obsolete, as people should call ValidateEntity. always true Calls ValidateEntity. Runs when the entire object graph has been deserialized. The object that initiated the callback. The functionality for this parameter is not currently implemented. The custom properties for the type of this entity instance. The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime. The EntityType enum type The custom properties for the fields of the type of this entity instance. The returned Hashtable contains per fieldname a hashtable of name-value pairs. The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime. Gets / sets the IConcurrencyPredicateFactory to use for . Gets or sets the Authorizer for this entity. Gets or sets the Auditor for this entity. The validator object used to validate the entity on several moments in the entity's life. Gets / sets the active context this entity is in. Setting this property is adding the entity to the context, and it will make contained entities be added to the passed in context as well. If the entity is already in a context, setting this property has no effect. Setting this property is done by framework code, use the Context's Add/Get methods to work with contexts and entities. Marker for the entity object if the object is new and should be inserted when saved (true) or read from the database (false). The internal presentation of the data, which is an EntityFields object, which implements . Marker for the entity object if the object is 'dirty' (changed, true) or not (false). Affects/reads .Fields.IsDirty. returns true if the classes are used in design-mode in vs.net. Gets a value indicating whether this instance is an update only entity. UpdateOnly entities are entities which are 'split off' from the main entity and only update rows in the database, never insert rows. Gets / sets isAddedViaDataBinding. Databinding related. flag which is set when the entity is removed from an entity collection and added to a tracker. Gets or sets a value indicating whether this instance is deserializing. Gets or sets a value indicating whether an edit cycle is in progress, started through databinding Gets / sets the unique Object ID which is created at runtime when the entity is instantiated. Can be used for external caches. Gets or sets the site, which is set during design time databinding. The site. Gets the stored error messages per field name. Used for IDataErrorInfo. Use this property in your own code to re-channel the error messages through another interface. Gets the data error info error message set by SetEntityError The data error info error. Gets the saved fields. The ITransaction this ITransactionalElement implementing object is participating in. Only valid if ParticipatesInTransaction is true. If set to null, the ITransactionalElement is no longer participating in a transaction. Gets the default name of the root element for XML serialization. Abstract base class for entity factories. The class is suffixed with 'Core' as the generated code contains another base class, EntityFactoryBase, which is the direct base class for the generated entity factories. SelfServicing specific Initializes a new instance of the class. Name of the entity. Creates a new instance the new IEntity instance Creates a new instance but uses a special constructor which will set the Fields object of the new IEntity instance to the passed in fields object. Implement this method to support multi-type in single table inheritance. Populated IEntityFields object for the new entity to create Fully created and populated (due to the IEntityFields object) IEntity object Creates, using the generated EntityFieldsFactory, the IEntityFields object for the entity to create. This method is used by internal code to create the fields object to store fetched data. Empty IEntityFields object. Creates the hierarchy fields for the entity to which this factory belongs. IEntityFields object with the fields of all the entities in the hierarchy of this entity or the fields of this entity if the entity isn't in a hierarchy. This method retrieves, using the InheritanceInfoprovider, the factory for the entity represented by the values passed in. Field values read from the db, to determine which factory to return, based on the field values passed in. indexes into values where per entity type their own fields start. Creates a new entity collection for the entity of this factory. ready to use new entity collection, typed. Creates the relations collection to the entity to join all targets so this entity can be fetched. null if the entity isn't in a hierarchy of type TargetPerEntity, otherwise the relations collection needed to join all targets together to fetch all subtypes of this entity and this entity itself Creates the relations collection to the entity to join all targets so this entity can be fetched. Uses the passed in objectAlias as alias for the elements in the relations. The object alias to use for the elements in the relations. null if the entity isn't in a hierarchy of type TargetPerEntity, otherwise the relations collection needed to join all targets together to fetch all subtypes of this entity and this entity itself Creates a new entity instance using the GeneralEntityFactory in the generated code, using the passed in entitytype value The entity type value of the entity to create an instance for. new IEntity instance Implementation of the Create() method. Called from Create() Method which is called from Create(), after the entity has been created. Receives the newly created entity. The newly created entity Creates a new entity instance. new entity instance Creates a new IEntityCollectionCore implementing collection for the entity to which this factory belongs. ready to use collection with this factory set as the factory Creates, using the generated EntityFieldsFactory, the IEntityFieldsCore object for the entity to create. This method is used by internal code to create the fields object to store fetched data. Empty IEntityFieldsCore object. Creates the hierarchy fields for the entity to which this factory belongs. IEntityFieldsCore object with the fields of all the entities in the hierarchy of this entity or the fields of this entity if the entity isn't in a hierarchy. This method retrieves, using the InheritanceInfoprovider, the factory for the entity represented by the values passed in. Field values read from the db, to determine which factory to return, based on the field values passed in. indexes into values where per entity type their own fields start. Creates a new entity instance but uses a special constructor which will set the Fields object of the new entity instance to the passed in fields object. Implement this method to support multi-type in single table inheritance. Populated fields object for the new entity to create Fully created and populated entity object Creates the hierarchy fields and sets all field's actual containing object name to the name specified. Name of for entity. Returns the actual .NET type this factory creates entities of returns the name of the entity this factory is for, e.g. "EmployeeEntity" Abstract base class for entity factories. The class is suffixed with 'Core' as the generated code contains another base class, EntityFactoryBase2, which is the direct base class for the generated entity factories. Adapter specific Initializes a new instance of the class. Name of the entity. Creates a new instance the new IEntity2 instance Creates a new instance but uses a special constructor which will set the Fields object of the new IEntity2 instance to the passed in fields object. Implement this method to support multi-type in single table inheritance. Populated IEntityFields2 object for the new entity2 to create Fully created and populated (due to the IEntityFields2 object) IEntity2 object Creates, using the generated EntityFieldsFactory, the IEntityFields2 object for the entity to create. This method is used by internal code to create the fields object to store fetched data. Empty IEntityFields2 object. Creates the hierarchy fields for the entity to which this factory belongs. IEntityFields2 object with the fields of all the entities in the hierarchy of this entity or the fields of this entity if the entity isn't in a hierarchy. This method retrieves, using the InheritanceInfoprovider, the factory for the entity represented by the values passed in. Field values read from the db, to determine which factory to return, based on the field values passed in. indexes into values where per entity type their own fields start. Gets a predicateexpression which filters on the entity with type belonging to this factory. Flag to produce a NOT filter, (true), or a normal filter (false). ready to use predicateexpression, or an empty predicate expression if the belonging entity isn't a hierarchical type. Gets a predicateexpression which filters on the entity with type belonging to this factory. Uses the passed in objectAlias for aliasing the elements in the filters. Flag to produce a NOT filter, (true), or a normal filter (false). The object alias to use for the predicate(s). ready to use predicateexpression, or an empty predicate expression if the belonging entity isn't a hierarchical type. Creates the relations collection to the entity to join all targets so this entity can be fetched. null if the entity isn't in a hierarchy of type TargetPerEntity, otherwise the relations collection needed to join all targets together to fetch all subtypes of this entity and this entity itself Creates the relations collection to the entity to join all targets so this entity can be fetched. Uses the passed in objectAlias as alias for the elements in the relations. The object alias to use for the elements in the relations. null if the entity isn't in a hierarchy of type TargetPerEntity, otherwise the relations collection needed to join all targets together to fetch all subtypes of this entity and this entity itself Creates a new entity instance using the GeneralEntityFactory in the generated code, using the passed in entitytype value The entity type value of the entity to create an instance for. new IEntity2 instance Creates a new generic EntityCollection(Of T) for the entity to which this factory belongs. ready to use generic EntityCollection(Of T) with this factory set as the factory Implementation of the Create(fields) method. Called from Create(fields) Populated IEntityFields2 object for the new entity2 to create Fully created and populated (due to the IEntityFields2 object) IEntity2 object Method which is called from Create(fields), after the entity has been created. Receives the newly created entity. The newly created entity Creates a new entity instance. new entity instance Creates a new IEntityCollectionCore implementing collection for the entity to which this factory belongs. ready to use collection with this factory set as the factory Creates, using the generated EntityFieldsFactory, the IEntityFieldsCore object for the entity to create. This method is used by internal code to create the fields object to store fetched data. Empty IEntityFieldsCore object. Creates the hierarchy fields for the entity to which this factory belongs. IEntityFieldsCore object with the fields of all the entities in the hierarchy of this entity or the fields of this entity if the entity isn't in a hierarchy. This method retrieves, using the InheritanceInfoprovider, the factory for the entity represented by the values passed in. Field values read from the db, to determine which factory to return, based on the field values passed in. indexes into values where per entity type their own fields start. Creates a new entity instance but uses a special constructor which will set the Fields object of the new entity instance to the passed in fields object. Implement this method to support multi-type in single table inheritance. Populated fields object for the new entity to create Fully created and populated entity object Creates the hierarchy fields and sets all field's actual containing object name to the name specified. Name of for entity. Returns the actual .NET type this factory creates entities of returns the name of the entity this factory is for, e.g. "EmployeeEntity" Generic base class for entity fields. Flag which will signal LLBLGen Pro to produce hashcodes for strings in entity fields using case sensitive hash code routines (true, default) or not (false). Setting this flag to false will mean that the hashcode produced from "Foo" will be the same as for "FoO" or "foo". Setting this flag has an effect on the field compare routine and prefetch path merge routine. Only set this flag to false if you're working with a case-insensitive database and pk-fk data differs on casing. You can also set this field by adding a key-value pair to the appSettings section of your application's config file. Use 'caseSensitiveStringHashCodes' as key and 'true' or 'false' as the value. Bucket class for elements of a field which are related to dynamic field usage, e.g. field usage in queries, not in entities. Initializes a new instance of the class. Clones this instance. Writes the contents of this object as XML to the writer The writer. Reads the XML. The reader. Gets / sets fakeFieldIndex fieldIndex for a field when the field isn't containing a FieldInfo object but is used for an entity fetch Gets / sets aggregateFunctionToApply Gets / sets expressionToApply Gets a value indicating whether this instance is empty. Empty means: no real value set. Initializes the class. CTor The field info. The containing entity fields core. Initializes a new instance of the class. The name of the field. Has to be specified The expression to apply. The aggregate function to apply. .NET Type of the data. The object alias. The maximum length of the field or 0 if not relevant The precision to use or 0 if not relevant. The scale to use or 0 if not relevant. Compares the given entityfield instance with this instance using a value compare with case sensitive comparer logic. this is done by comparing the name, the source schema, object and column name. If there is any mismatch, the comparisson is stopped and the result of the mismatching compare is returned. The EntityField to compare with the current value. A 32-bit signed integer that indicates the relative order of the comparands. See . Overrides the GetHashCode() method. It will return the hashcode of the value of the field as the hashcode. byte[] typed fields will have all the bytes in their array added together with per byte it's multiplied with the index+1 hashcode of the value of the field. Creates a deep copy of this IEntityField2 object A deep copy of this object Overwrites the current value with the value passed. This bypasses value checking and field properties. Value to store as the current value Overwrites the current value with the value passed. This bypasses value checking and field properties like readonly. Value to store as the current value the value read from the database. Gets the discriminator column flag. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Sets the discriminator column flag. if [value]; otherwise, . Sets the FieldIndex, if _fieldInfo is null. Used in DefineField. The new index. Internal implementation of the method which interprets this field in the entity passed in. The entity. value of this field in the entity passed in. Writes the XML of this Field object to the writer specified The writer. The aspects. Serializes the field's definition as xml to the writer specified. The writer. Writes the additional elements to XML. The writer. Deserializes the field's definition data on the xml reader into a field instance The reader. Reads the additional elements from XML. Reader is located on an unknown element. Implementers of this method have to handle this element. The reader. Clones the internally referenced objects of this instance, so this instance after this method contains clones of its referenced internal objects. Sets the index of the fake field. Index of the fake field. Sets the expression. The expression to apply. Cleans the up dynamic usage info if required. Sets the aggregate function. The aggregate function to apply. Gets the aggregate function. the aggregate function set on this field Gets the expression to use. the expression set on this field. Gets the FakeFieldIndex Gets the is discriminator column. Sets the is discriminator column. if set to true [value]. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into a fieldinfo instance The reader. Writes the XML of this Field object to the writer specified The writer. The aspects. Serializes the field's definition as xml to the writer specified. The writer. Deserializes the field's definition data on the xml reader into a field instance The reader. Clones this field instance A clone instance of this field instance Sets the FieldIndex, if FieldInfo is null. Used in DefineField. The new index. Returns the hashcode for this field which can be used for an expression key. This value is based on the field info hashcode and alias, as well as expression hashcode (if present) Gets the linked super type field, if this field is a subtype field and it's linked to a supertype field, otherwise null. Gets the value for the field implementing this interface for the entity passed in. The entity. the value of the field in the entity passed in. If the field isn't present in the entity passed in, null is returned If the field's value is Undefined, DBNull.Value is returned. Sets the field to act as a derived table field. It targets the name specified. The field name to target. Sets the derived table targeting field info. This is required for paging on some databases. The maximum length of the field or 0 if not relevant The precision to use or 0 if not relevant. The scale to use or 0 if not relevant. Sets the actual containing object name in the field info (by making a clone). Gets the state. the state in a fieldstatebucket Sets the state of the field from the values in the bucket passed in The state. Gets the derived table targeting field name. Set with SetActAsDerivedTableField. If ActAsDerivedTableField is false, this property will return null or an empty string Gets a value indicating whether this instance is a derived table targeting field. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Deserializes the data on the xml reader into a fieldinfo instance The reader. Serializes object as xml to the writer specified. The writer. The maximum length of the value of the entityfield (string/binary data). Is ignored for entityfields which hold non-string and non-binary values. Value initially set for this field is the length of the database column this field is mapped on. The scale of the value for this field. Value initially set for this field is the scale of the database column this field is mapped on. The precision of the value for this field. Value initially set for this field is the precision of the database column this field is mapped on. The name of the field. Used in XML output. The alias to use for this field. By default the same as the entity name. Gets the current value for this field and sets the new value for this field, by overwriting current value. The value in currentValue is discarded, versioning control has to save the original value of currentValue before this property is called. Calling this property directly will not trigger versioning control, thus calling this property directly is not recommended. Call IEntityCore.SetNewFieldValue(string, object)" instead. Type of the new value has to be the same as , which is set in the constructor. If this field is set to readonly, an exception is raised. The field is set to readonly and not part of the PK. The value specified is not of the same as this field. The of the values of this field. If set to true, in the constructor, this field will end up in the PrimaryKey field list of the containing IEntityFields object. If set to true, in the constructor, no changes can be made to this field. If the value of this field is changed, this property is set to true. Set when receives a valid value. Set to false when AcceptChange is called succesfully. If the original value in the column for this entityfield is DBNull (NULL), this parameter should be set to true, otherwise to false. In BL Logic, it's impractical to work with NULL values, so these are converted to workable values. The developer can still determine if the original value was DBNull by checking this field. Gets the field index related to this IEntityField2, so the field can be used to retrieve the field index. Name of the containing object this field belongs to (entity or typed view). This name is required to retrieve persistence information in Adapter Set via constructor. This name is also used by EntityRelation to determine alias - table connection. Gets the value read from the database for this field. Use this field in optimistic concurrency predicates. Set by ForcedCurrentValueWrite(object, value) by the object fetcher logic. Alias for the object containing the field this entity field is mapped on. Used in typed list selection lists. The aggregate function to apply on this field in a select query. Ignored in INSERT/UPDATE/DELETE queries. Designed to be used in TypedList/TypedView classes. The expression to apply to this field in a select list, update statement or predicate. Expression is applied before AggregateFunctionToApply. If set to true, in the constructor, this field is part of a foreign key. This field is not used in LLBLGen Pro's code, however can be useful in user code. Will be true if this field can be set to NULL in the database, false otherwise. The Field Validation logic in an entity will use this flag to check if the field indeed can be set to NULL or not. Set by constructor. The name of the object this field is currently in. Differs only from ContainingObjectName if the field instance is in a subtype while it is originally defined in a supertype. EmployeeEntity.Name and a subtype, ClerkEntity, inherits this field. For ClerkEntity.Name ContainingObjectName is still 'EmployeeEntity' however ActualContainingObjectName is 'ClerkEntity'. Flag to signal if the field is in a multi-target entity. Used for alias production during query building in scenario's with inheritance. Gets or sets a value indicating whether this field should be threated as a derived table field. This is necessary when this field is in a query and targets a derived table while this field is actually a full entity field (so it has field info). If this flag is true, the field will result in objectAlias.Alias instead of persistenceinfo.Fieldname as alias (alias only if required) Gets a value indicating whether the DataType is an enum type. This is a helper boolean so it doesn't have to be determined for every field set during a fetch. Gets the real datatype. This is the underlying datatype of DataType and if that's a Nullable(Of T) it's the type of T. This is a helper property so it's not determined over and over again for every field during a fetch. General base class for Entity Fields classes. the type of the field contained by this class. Initializes a new instance of the class. The static data. The inheritance provider. Initializes a new instance of the class. The amount. Initializes a new instance of the class. The amount. The inheritance info provider to use. The entity field indexes. Initializes a new instance of the class. The source fields. The inheritance provider to use. The entity field indexes. Used by entity factories to create hierarchy fields objects, for query construction Converts the fields in the instance passed in to a new list of IEntityPropertyProjector instances which is ready to be used in a projection To convert. new list of IEntityPropertyProjector instances which is ready to be used in a projection Populates a with the data needed to serialize the target object. The to populate with data. The destination (see ) for this serialization. Expands this entity fields object by appending numberOfCells new cells to this object. number of cells to append to this fieldsobject Use with care. Empty cells can cause the DQE's to produce undefined results. Use this routine to append fields to a Typed list in code for example. Contracts the list of fields so all empty slots at the end of the list of fields are removed. Doesn't perform a contract operation if the fields object is empty the new size of the fields object, or if the fields object is completely empty, the full size Contract isn't supported on a fields object which is part of an entity Compacts the list of fields so all empty slots are removed. Gets the enumerator for this object. an IEnumerator to use in for each loops over this fields collection Overrides the GetHashCode routine. It will calculate a hashcode for this set of entity fields using the eXclusive OR of the hashcodes of the primary key fields in this set of entity fields, if this fields object is part of an entity. If not, it will return this object's hashcode, which is also done when no pk fields are present if this fields object is part of an entity Hashcode for this entity object, based on its primary key field values Compares passed in object with the given object. This is a compare of PK fields. These have to be the same in VALUES. When the values are not the same, or the type is not the same as the current type, false is returned, true otherwise. When this doesn't have any PK fields, all fields are compared. null values are considered as the same value. Entity Fields object which will be compared to the PK values of this. True when the PK values of this are the same as the PK values of obj, or when this doesn't have any PK fields, all fields have the same value as obj's fields. False otherwise. copy the complete list of IEntityField objects to an array of IEntityFieldCore objects. IEntityField objects implement IEntityFieldCore Array of IEntityFieldCore objects Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on The alias to use for this field in the resultset Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on the aggregate function to apply to this field. Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on The alias to use for this field in the resultset the aggregate function to apply to this field. Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on The alias to use for this field in the resultset The alias to use for the entity this field belongs to. Required to specify multiple times the same entity in a typed list Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on The alias to use for this field in the resultset The alias to use for the entity this field belongs to. Required to specify multiple times the same entity in a typed list the aggregate function to apply to this field. Gets the current value for the field at index specified. The index. value of the field at the index specified, or null if not found/known Gets the DB value for the field at index specified. The index. DB value of the field at the index specified, or null if not found/known Sets the current value for the field at index specified. The index. The value. Gets the IsChanged flag for the field at the index specified. The index. true if the field's value has been changed, false otherwise Sets the IsChanged flag for the field specified. Sets IsDirty to true if value is true. The index. the value to set Gets the IsNull value for the field with the index specified. The index. Sets the db value for the field at the index specified. The index. The value. Sets the current value for the field with the index specified to the currentValue specified without setting changed flags. The index. The current value. Sets the current value for the field with the index specified to the currentValue specified and the dbvalue to the dbvalue specified without setting changed flags. The index. The current value. The db value. Gets the entity names of fields. Gets this object's fields field data in a 2 column array: first column currentvalue second column dbvalue Gets this object's fields change tracking flags and other flags: it's a bitarray, single dimension with 2 bits per row: first bit IsChanged, second bit: IsNull All changes to all field objects in this collection are accepted. in the deserialization constructor in a derived class this method is called to fill this instance with the data being deserialized. Clones this instance and its contents using a deep copy. an exact, deep copy of this object and its contents. Creates a shallow copy of this instance, which means that a new object is created but all membervariables are kept the same. Shallow copy of this instance Clones this object to a new EntityFieldsCore<TField> object where all fields are changed and the object itself is marked dirty. Sets the persistence info if required. Only used in selfservicing The index. The value. Creates a new TField instance and stores it in entityfields[index]. If this object is not in entity data mode, this method is a no-op. The field info. Creates a new TField instance and stores it in entityfields[index]. If this object is not in entity data mode, this method is a no-op. The index. The field info. Gets the field states for transaction state save array with field states Sets the field states. Used in transaction state save The field states. Creates the entity field indexes local copy. Reads the fields which are childnodes of the passed in fieldsElement into this object Makes the sure the static data object is a local copy. Creates the fields on the fly by calling this[i]. No-op if not in entity data mode. Gets the unique field names. returns the index of the item specified The item. Inserts the specified index. The index. The item. Removes the field at the index specified The index. Gets / sets the field on the specified Index. When the index specified is not found in the internal datastorage. When the passed in field is null When the passed in field is already added. Fields have to be unique. Adds the specified item. The item. Clears this instance. Determines whether [contains] [the specified item]. The item. true if [contains] [the specified item]; otherwise, false. Copies to. The array. Index of the array. Gets the number of slots allocated in this fields object. Gets a value indicating whether this instance is read only. Removes the specified item. The item. Gets the enumerator. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. IEditableObject method. Used by databinding. A succesful edit has been performed. All new values have to be moved to the current value slots. IEditableObject method. Used by databinding. Doesn't reset isDirty. IEditableObject method. Used by databinding. Adds an item to the . The to add to the . The position into which the new element was inserted. The is read-only.-or- The has a fixed size. Not supported The is read-only. Determines whether the contains a specific value. The to locate in the . true if the is found in the ; otherwise, false. Determines the index of a specific item in the . The to locate in the . The index of if found in the list; otherwise, -1. Not supported Gets a value indicating whether the has a fixed size. true Gets a value indicating whether the is read-only. false. Not supported. Not supported. Gets / sets the EntityField on the specified Index. When the index specified is not found in the internal datastorage. When the passed in is null When the passed in is already added. Fields have to be unique. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in at which copying begins. is null. is less than zero. is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . The type of the source cannot be cast automatically to the type of the destination . Gets a value indicating whether access to the is synchronized (thread safe). false. Not supported Marks the fields as fetched. Copies the current values to the db values and sets the state to fetched. Accepts the changes made. Used in databinding scenarios Rejects the changes made. Used in databinding scenarios Sets the values for the fields, when this object is part of an entity. The new values. If this object isn't part of an entity Gets the index of the field with the name specified Name of the field. The index or -1 if not found. Gets the field info for the field at the index specified. The index. Gets the field names of the fields contained in this fields object. Removes the expressions from fields and returns them in the dictionary, key is field index, value is the expression on that field. Only removes expressions from fields which have a non-empty containingobjectname, as those are real entity fields. Dictionary with 0 or more field index - expression pairs. Reassigns the expressions on fields. Specified are the expressions per field index, as returned by CleanAndPreserveExpressionsFromFields Index of the expression per field. Serializes the data of this fields object into the SerializationInfo object specified. The info. Deserializes the data of this fields object from the SerializationInfo object specified. Expands this entity fields object by appending numberOfCells new cells to this object. number of cells to append to this fieldsobject Use with care. Empty cells can cause the DQE's to produce undefined results. Use this routine to append fields to a Typed list in code for example. Contracts the list of fields so all empty slots at the end of the list of fields are removed. Doesn't perform a contract operation if the fields object is empty the new size of the fields object, or if the fields object is completely empty, the full size Compacts the list of fields so all empty slots are removed. Clones this instance and its contents using a deep copy. an exact, deep copy of this Entity Fields object and its contents. Gets the unique field names. Gets the entity names of fields. Creates a shallow copy of this instance, which means that a new IEntityFieldsCore object is created but all membervariables are kept the same. Shallow copy of this instance Clones this object to a new IEntityFieldsCore object where all fields are changed and the object itself is marked dirty. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Returns the complete list of IEntityFieldCore objects as an array of IEntityFieldCore objects. Array of IEntityFieldCore objects Reads the fields which are childnodes of the passed in fieldsElement into this object Writes the XML of this Fields object to the writer specified The writer. The aspects. Gets the field states for transaction state save array with field states Gets the linked super type field for the field with the index specified, or null if not applicable. The index subtype field. Sets the field states. Used in transaction state save The field states. Gets / sets the flag if the contents of the IEntityFieldsCore object is 'dirty', which means that one or more fields are changed. Gets / sets the field on the specified Index. When the index specified is not found in the internal datastorage. When the passed in is null When the passed in is already added. Fields have to be unique. Gets the EntityField with the specified name. When the specified name is the empty string or contains only spaces This property is read-only. If you want to set a value, use the int indexer List of IEntityFieldCore references which form the 'primary key', or uniquely identifying set of values for this set of fields, thus for the entity holding these fields. If possible use PrimaryKeyFieldInfos instead. Gets the primary key field infos. Similar to PrimaryKeyFields, but this property doesn't trigger field creation. Gets the primary key field infos of the pk fields owned by this entity, so not the pk fields inherited from a supertype. If this entity isn't in a TPE inheritance hierarchy, this property is equal to PrimaryKeyFieldInfos The state of the IEntityFieldsCore object Gets the inheritance info provider to use. Flag to signal if the entity fields have changed during an edit cycle which is controlled outside this IIEntityFieldsCore object. If set to true, EndEdit will succeed, otherwise EndEdit will ignore any changes, since these are made in a previous edit cycle which is already ended. Gets the number of slots allocated in this fields object. Runs when the entire object graph has been deserialized. The object that initiated the callback. The functionality for this parameter is not currently implemented. Gets a value indicating whether this object is in entity data mode (part of an entity) or not. Gets the wrapped fields array. Gets the inheritance info provider to use. The number of fields allocated in this object. List of field references which form the primary key. Returns empty list if this object isn't part of an entity. Gets / sets the field on the specified Index. When the index specified is not found in the internal datastorage. When the passed in field is null When the passed in field is already added. Fields have to be unique. Gets the field with the specified name. When the specified name is the empty string or contains only spaces This property is read-only. If you want to set a value, use the int indexer Gets/sets the flag if the contents of the Entity Fields object is 'dirty', which means that one or more fields are changed. The state of the Entity Fields object, the heart and soul of every EntityObject. Flag to signal if the entity fields have changed during an edit cycle which is controlled outside this IEntityFieldsCore object. If set to true, EndEdit will succeed, otherwise EndEdit will ignore any changes, since these are made in a previous edit cycle which is already ended. Gets the volatile field data container. Returns null if this fields object isn't part of an entity. Gets the fields with expression or aggregate. EntityPropertyDescriptor implementation for adding property descriptors for entity fields in a complex databinding scenario. CTor Field which is exposed as a property and which has to be described in a PropertyDescriptor The type of object this property is a property of True if the field is an identity field/primary key field and the entity itself is not new See PropertyDescriptor class. always false (not supported) See PropertyDescriptor class. current value of associated IEntityField See PropertyDescriptor class. See PropertyDescriptor class. always false (not supported) See PropertyDescriptor class. See PropertyDescriptor class. See PropertyDescriptor class. Gets the collection of attributes for this member. An that provides the attributes for this member, or an empty collection if there are no attributes in the . Gets the type converter for this property. A that is used to convert the of this property. Gets the description of the member, as specified in the . The description of the member. If there is no , the property value is set to the default, which is an empty string (""). Gets whether this member should be set only at design time, as specified in the . true if this member should be set only at design time; false if the member can be set during run time. Returns a for a given object using a specified array of attributes as a filter. A component to get the properties for. An array of type to use as a filter. A with the properties that match the specified attributes for the specified component. Gets an editor of the specified type. The base type of editor, which is used to differentiate between multiple editors that a property supports. An instance of the requested editor type, or null if an editor cannot be found. Gets a value indicating whether this property should be localized, as specified in the . true if the member is marked with the set to true; otherwise, false. Gets the name of the category to which the member belongs, as specified in the . The name of the category to which the member belongs. If there is no , the category name is set to the default category, Misc. See PropertyDescriptor class. See PropertyDescriptor class. See PropertyDescriptor class. See PropertyDescriptor class. Enables other objects to be notified when this property changes. The component to add the handler for. The delegate to add as a listener. component or handler is null. Compares this to another object to see if they are equivalent. The object to compare to this . true if the values are equivalent; otherwise, false. Returns the hash code for this object. The hash code for this object. Enables other objects to be notified when this property changes. The component to remove the handler for. The delegate to remove as a listener. component or handler is null. Gets a value indicating whether value change notifications for this property may originate from outside the property descriptor. true if value change notifications may originate from outside the property descriptor; otherwise, false. Returns a that represents the current . A that represents the current . Gets or sets the field. The field. Generic entity view base class, which provides the core class code for the EntityView class. EntityView provides 'view' capabilities for an entity collection. This class supports filtering and sorting in-memory, using type safe objects. Binding an entity collection to a grid or other complex databinding control will actually make the control bind to an instance of this class. Event which is fired when the entity collection related to this entityview is changed. Enum for usage with UpdateIndices. Refreshes this view by re-applying filter and sorter on the related collection Determines whether this entity view contains the entity passed in. This method returns false if the entity is outside the filter, but in the related entity collection, as it's then not contained in the entity view. The value. Determines the index of the entity passed in in the entity view in filtered and sorted state. The value. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in array at which copying begins. array is null. index is less than zero. array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. The type of the source cannot be cast automatically to the type of the destination array. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Adds a new entity through databinding. Removes the specified entity from the related collection, if the entity is in the view. To remove. Removes the item at the specified index in this view from the related collection The zero-based index of the item to remove. index is not a valid index in the . The is read-only.-or- The has a fixed size. Sets the sort expression for the filtered entities in this view. It sorts the entities which are in this view, The sorter. true if sorting took place, otherwise false. Applies the filter specified to the set related collection The filter to set. Will perform the filtering on the collection. true if filtering took place, otherwise false. Returns the that represents the properties on each item used to bind data. An array of objects to find in the collection as bindable. This can be null. The that represents the properties on each item used to bind data. Gets the property descriptors for the entity passed in. This is a dummy instance, and used to produce the property descriptors. the propertydescriptor collection of the properties of the entity passed in. Returns the name of the list. An array of objects, the list name for which is returned. This can be null. The name of the list. Creates a dummy instance of the entity type in the related entitycollection and returns "LLBLGenProEntityName" + "Collection" Gets the entity field property descriptors for the dummy instance passed in. The dummy instance. The instance properties. The names added by this routine Creates a dummy instance for the related entity collection of this view. This is done using the entityfactory of that entitycollection. Gets the property descriptor for the first sortclause. The applied sorter on this view.. Sorts the list based on a and a . The to sort by. One of the values. is false. Sorts the data source based on the given . The containing the sorts to apply to the data source. Returns the index of the row that has the given . The to search on. The value of the property parameter to search for. The index of the row that has the given . is false. Removes any sort applied using . is false. Gets the entity at the specofied index in the view. The index. entity at the specified index in this view Creates a projection of the current view data, using the passed in field projections and the projector. The property projectors. if set to false, it will perform distinct filtering on all rows. The filter to select the source entities in this view. the actual projector engine. It is used to convert plain projection data into a real object inside the projector object. Inits the class. The related collection. The filter to apply. The sorter to apply. The data change action. Called when something changes in the related list or this view. The index. The type of change. Sorts the indices in the list passed in using the sortclause at the indexInSortExpression in sorter. If there are multiple entities which have the same value, this routine calls itself to sort those entities using the next sortclause until the sortexpression is done. It returns a new list with indices. All indices are indices in the related collection. The list of indices to sort. The sort expression to use. The index in sort expression which points to the sortclause to use new list of indices with the entities at the indices in listToSort in the order implied by sorter[indexInSortExpression] will use recursion if there are entities with the same value and there are more sort clauses / expressions specified. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Binds the events of the related collection to own event handlers so the changes in the related collection are noted and handled here as well. Applies the filter on entity at index passed. If no filter is set, this method is a no-op and always returns true, unless the index is out of bounds. The index. true if the filter resolved to true, or no filter is present, otherwise false Handles the ListChanged event of the related collection. It executes various actions based on the listchanged type. The source of the event. The instance containing the event data. Handles the related collection item deleted event The instance containing the event data. Handles the related collection item changed event The instance containing the event data. Handles the related collection item added event The instance containing the event data. Adjusts the indices in the _entityIndices collection, which is necessary if an entity in this view was added/removed/inserted to/from the related list. The index. The action. New index of the item in entity indices. Used in inserts. With inserts, there are two positions in entityIndices, which have the same value. The position newItemInEntityIndicesIndex has to stay that value, all other values have to be adjusted if they're equal or greater than index.. Gets a value indicating whether the object raises events. by default: false. Set to true if you want a bindingsource only raise events if the bound entityview(2) object raises ListChanged events, not when the entity objects inside the view raise PropertyChangedEvents Sorts the data source based on the given . The containing the sorts to apply to the data source. Gets or sets the filter to be used to exclude items from the collection of items returned by the data source The string used to filter items out in the item collection returned by the data source. Removes the current filter applied to the data source. Gets the collection of sort descriptions currently applied to the data source. The currently applied to the data source. Gets a value indicating whether the data source supports advanced sorting. true if the data source supports advanced sorting; otherwise, false. Gets a value indicating whether the data source supports filtering. true if the data source supports filtering; otherwise, false. Adds the to the indexes used for searching. The to add to the indexes used for searching. Adds a new item to the list. The item added to the list. is false. Sorts the list based on a and a . The to sort by. One of the values. is false. Returns the index of the row that has the given . The to search on. The value of the property parameter to search for. The index of the row that has the given . is false. Removes the from the indexes used for searching. The to remove from the indexes used for searching. Removes any sort applied using . is false. Gets whether you can update items in the list. true if you can update the items in the list; otherwise, false. Gets whether you can add items to the list using . true if you can add items to the list using ; otherwise, false. Gets whether you can remove items from the list, using or . true if you can remove items from the list; otherwise, false. Gets whether the items in the list are sorted. true if has been called and has not been called; otherwise, false. is false. Gets the direction of the sort. One of the values. is false. Gets the that is being used for sorting. The that is being used for sorting. is false. Gets whether a event is raised when the list changes or an item in the list changes. true if a event is raised when the list changes or when an item changes; otherwise, false. Gets whether the list supports searching using the method. true, searching is supported. Gets whether the list supports sorting. true, sorting is always enabled. Not supported. Use AddNew() or add a new object to the related entity collection. Not supported. Clear the related entity collection instead. Determines whether the contains a specific value. The to locate in the . true if the is found in the ; otherwise, false. Determines the index of a specific item in the . The to locate in the . The index of value if found in the list; otherwise, -1. Not supported. Insert a new entity in the related collection instead. Not supported. Remove the entity from the related collection instead. Not supported. Remove the entity from the related collection instead. Returns false Returns false. Indexer via IList. Setter isn't supported, getter returns the typed indexer's value. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in array at which copying begins. array is null. index is less than zero. array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. The type of the source cannot be cast automatically to the type of the destination array. Gets the number of elements contained in the . The number of elements contained in the . Gets a value indicating whether access to the is synchronized (thread safe). true if access to the is synchronized (thread safe); otherwise, false. Gets an object that can be used to synchronize access to the . An object that can be used to synchronize access to the . Gets or sets the data change action which specifies what to do when the data in the related collection of an entity view changes. A change in data can be: entity added or changed. If an entity is removed from the underlying collection, the entity is simply removed from the entity view, as the view doesn't contain any data by itself. Gets/sets whether you can add items to the list using . true if you can add items to the list using ; otherwise, false. if the related collection is set to readonly, this operation is a no-op Gets whether you can remove items from the list, using or . if the related collection is set to readonly, this operation is a no-op Gets / sets whether you can update items in the list. true if you can update the items in the list; otherwise, false. if the related collection is set to readonly, this operation is a no-op Gets whether the items in the list are sorted. true if has been called and has not been called; otherwise, false. is false. IBindingList member. Gets the direction of the sort. This property returns the value of the first SortClause in the set sorter. One of the values. is false. Gets the that is being used for sorting. The that is being used for sorting. is false. Gets the element at the specified index in this view. Gets the number of elements contained in the . The number of elements contained in the . Gets or sets the sorter for this entity view. Setting this property will re-sort the view and will reset the view in databinding scenario's. Gets or sets the filter to use for this entity view. The filter to use Gets the entity indices for the entities which are in this view, in the order sorted by the sorter set. The entity indices. Gets the related collection using a property which is solely for internal usage. This is then used by the derived classes to expose the collection in a more typed manner. The related collection internal. Determines the index of the entity passed in in the entity view in filtered and sorted state. The value. Refreshes this view by re-applying filter and sorter on the related collection Gets / sets whether you can update items in the list. true if you can update the items in the list; otherwise, false. if the related collection is set to readonly, this operation is a no-op Gets/sets whether you can add items to the list using . true if you can add items to the list using ; otherwise, false. if the related collection is set to readonly, this operation is a no-op Gets whether you can remove items from the list, using or . if the related collection is set to readonly, this operation is a no-op Gets the number of elements contained in the . The number of elements contained in the . Gets or sets the data change action which specifies what to do when the data in the related collection of an entity view changes. A change in data can be: entity added or changed. If an entity is removed from the underlying collection, the entity is simply removed from the entity view, as the view doesn't contain any data by itself. Gets or sets the filter to use for this entity view. Gets or sets the sorter for this entity view. Setting this property will re-sort the view and will reset the view in databinding scenario's. Gets the element at the specified index in this view. Enumerator for entityview objects. CTor Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Advances the enumerator to the next element of the collection. true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. The collection was modified after the enumerator was created. Sets the enumerator to its initial position, which is before the first element in the collection. The collection was modified after the enumerator was created. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Class which contains the meta data for a multi-instance representing navigator of an entity. the name of the navigator which metadata is stored in this instance the func used to obtain the value of the member variable of the navigator the func used to set the member variable of the navigator. the func used to obtain the value from the property of the navigator the func used to create a new relationship instance for this navigator The type of the entity a collection is returned by this navigator The EntityType enum value for the related entity this navigator represents Specific multi-instance meta data container, for m:n navigators. the func used to create a new relationship instance for this navigator, namely the one from intermediate to related entity The alias to use for the start entity in the 2 relationships which combined form the m:n relationship The alias to use for the intermediate entity in the 2 relationships which combined form the m:n relationship Central configuration class to allow configuration of various runtime elements at the code level without the requirement of a config file. Class for the set methods to configure PrefetchPath/PrefetchPath2 instances in the runtime. Sets the PrefetchPath/PrefetchPath2 UseRootMaxLimitAndSorterInPrefetchPathSubQueries default value. Class for the set methods to configure TraceSwitch instances in the runtime. Sets the trace level of the switch with the name specified to the level specified. The name of the trace switch to set the level the level to set the trace switch to Class for the set methods to configure Entity(Core) related settings CTor, internal so users can't create an instance of this accidentally. Sets EntityCore.BuildInValidationBypassMode. Sets EntityCore.ScaleOverflowCorrectionActionToUse Sets EntityCore.MarkSavedEntitiesAsFetched Sets EntityCore.MakeSettingNonNullableFieldsToNullFatal Sets EntityCore.AllowReadsFromDeletedEntities Sets EntityFieldCore.CaseSensitiveStringHashCodes Class for the set methods to configure Xml serialization specific settings CTor, internal so users can't create an instance of this accidentally. Sets XmlHelper.CultureNameForXmlValueConversion Adds the connectionstring specified to the configuration, under the key specified. If a connectionstring with the key specified is already present it is overwritten with the specified connectionstring The key the connectionstring has to be stored under. Has to be unique The connectionstring to add. Can't be empty. Gets the connectionstring added with AddConnectionString under the key specified the key the connection string was added under the connectionstring found or empty string if not found Sets the dependency information to use by the runtime. It will rebuild the internal DI store with the information provided. The assemblies to examine for types decorated with DependencyInjectionInfo attributes. The namespace fragments to filter target types with. Can be null, in which case all target types specified in the found DependencyInjectionInfo attributes are used. Configures the Dynamic Query Engine which DQEConfigurationBase derived type has been specified using the specified configureFunc. An instance of TDQEConfig is passed to configureFunc after which its contents is passed to the associated Dynamic Query Engine. Gets the configuration method object for configuring Entity(Core) specific settings. Gets the configuration method object for configuring Xml serialization specific settings Gets the configuration method object for configuring TraceSwitch instances of the runtime. Gets the configuration method object for configuring Prefetch/Prefetch2 instances. Class which contains the meta data for a single-instance representing navigator of an entity. Func which is used to set the member of the navigator in the instance specified Func which is used to set the property of the navigator in the instance specified Func which is used to obtain the instance assigned to the member of the navigator in the instance specified Func which creates a new relation object The optional func (null otherwise) which produces the handler delegate for the function which calls OnPropertyChanged for a field mapped onto a related field if said related field has been changed The indices of the fk fields for the relationship this navigator is mapped on. The names of the forf fields or null if no forf fields are defined for this entity. the name of the navigator which metadata is stored in this instance The name of the navigator in the related entity. (if applicable, otherwise empty string) The static instance of the relationship this navigator is mapped on. If true, the containing entity is on the PK side of the relationship. This value is true for m:1 relationships and false or true for 1:1 relationships The type of the entity returned by this navigator The EntityType enum value for the related entity this navigator represents Abstract base class for Typed Lists. This class is a thin wrapper around the DataTable to make sure the member variable obeyWeakRelations is serialized: in VB.NET it's not possible to program this construct, because in VB.NET you can't re-implement an interface. Empty CTor CTor Name of the table. Protected constructor for deserialization. Populates a serialization information object with the data needed to serialize the . A object that holds the serialized data associated with the . A object that contains the source and destination of the serialized stream associated with the . The info parameter is a null reference (Nothing in Visual Basic). Inits the class. if set to true [obey weak relations]. Method which is called at the end of the generated BuildRelationSet method and which can be used to add additional relations to the relationcollection of the typedlist. The relations collection of the typed list Method which is called at the end of the InitClass() method in the generated typedlist class. This method can be used to add additional DataColumn definitions to the typedlist's base class, which is a datatable. Gets the serialization flags. Serializes the owned data. The writer. The context. Deserializes the owned data. The reader. The context. Returns the amount of rows in this typed list. Gets / sets ObeyWeakRelations, which is the flag to signal the collection what kind of join statements to generate in the query statement. Weak relationships are relationships which are optional, for example a customer with no orders is possible, because the relationship between customer and order is based on a field in order. When this property is set to true (default: false), weak relationships will result in LEFT JOIN statements. When set to false (which is the default), INNER JOIN statements are used. General base class for typedviews. This class is used to place internal framework oriented code inside a typedview Empty CTor CTor Name of the table. Protected constructor for deserialization. Populates a serialization information object with the data needed to serialize the . A object that holds the serialized data associated with the . A object that contains the source and destination of the serialized stream associated with the . The info parameter is a null reference (Nothing in Visual Basic). Serializes the owned data. The writer. The context. Deserializes the owned data. The reader. The context. Inits the class. Method which is called at the end of the InitClass() method in the generated typedview class. Gets an array of all row objects of type T. Array with row objects of type T Gets an array of all row objects of type T that match the filter criteria in order of primary key (or lacking one, order of addition.) The criteria to use to filter the rows. Array with row objects of type T Gets an array of all row objects of type T that match the filter criteria, in the specified sort order The filter expression. A string specifying the column and sort direction. Array with row objects of type T Gets an array of all row objects of type T that match the filter criteria, in the specified sort order that match the specified state The filter expression. A string specifying the column and sort direction. One of the values. Array with row objects of type T Return the type of the typed datarow returns the requested type Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Returns the amount of rows in this typed view. Indexer of this strong typed list Abstract class definition for a validator object, used to validate entity data. This class is the common base class for all generated entitynameValidator classes in the generated code. Validates the given EntityFieldCore object on the given fieldIndex with the given value. This routine is called by the Entity's own value validator after the value has passed validation for destination column type and null values. The involved entity. Index of IEntityFieldCore to validate Value which should be stored in field with index fieldIndex. Will not be null (earlier logic filters out nulls before a call will be made to this routine). true if the value is valid for the field, false otherwise Use the entity.SetEntityFieldError() and entity.SetEntityError() methods if you want to set a IDataErrorInfo error string after the validation. Method to validate the containing entity after it is loaded. This method is called after the entity has been fully loaded. The involved entity. Method to validate the containing entity right before the save sequence for the entity will start. LLBLGen Pro will call this method right after the containing entity is selected from the save queue to be saved. The involved entity. Method to validate the containing entity right after the entity's save action has been completed and the entity has been refetched (if applicable). Note for adapter users: if the entity wasn't set to be refetched, take into account that reading properties from the containing entity will result in an OutOfSync exception. The involved entity. Method to validate the containig entity right beforethe entity's delete action will take place. The involved entity. General validation method which isn't used by the LLBLGen Pro framework, but can be used by your own code to validate an entity at any given moment. The involved entity. Called when the implementing object is assinged to entity.Validator. entity the validator is assigned to Called when the implementing object is dereferenced from an assigned entity. the entity the validator is unassigned from Abstract base class to create a custom data scope class. Raised when the data of an entity in the scope changed. Ignored during fetches. Sender is the entity which data was changed Raised when an entity has been added to the scope. Ignored during fetches. Sender is the entity which was added. Initializes a new instance of the class. Initializes a new instance of the class. The refetch strategy to take for saved entities after commit. Fetches the data for the scope. It calls FetchDataImpl, which should be implemented in a derived class of this scope to actually fetch the data. The fetch method parameters. These are passed to FetchDataImpl true if the fetch was successful, false otherwise Commits the changes tracked by this scope using the passed in commit func. Use this method to commit the changes using logic outside this scope, e.g. a service or another tier, to which the unit of work object passed into the commitUnitOfWork func is transported. To commit the changes directly using a transaction provider by a transaction controller (Adapter: a DataAccessAdapter, SelfServicing: a Transaction object), please use the CommitChanges overload which accepts a transaction controller. The func which is called to commit the work in the Unit of work which is passed into the func by CommitChanges. the result returned by commitUnitOfWorkFunc after it gets called with the Unit of Work to commit Commits the changes tracked by this scope. Use this method to commit the changes using a transaction controller directly. It uses the passed in controller (Adapter: an IDataAccessAdapter instance will do, SelfServicing: an ITransaction instance will do) to commit the unit of work. If the controller has already a transaction in progress, that transaction is used to perform the work, otherwise a new transaction is started. To commit the work using external code, e.g. another tier or a service, please use the CommitChanges overload which accepts a Func instead. The controller. true, if 1 or more actions were performed by the unit of work, false otherwise The unit of work uses as workorder: Inserts, Updates, UpdatesPerformedDirectly, DeletesPerformedDirectly, Deletes. Resets this instance. Async variant of Fetches the data for the scope. It calls FetchDataImpl, which should be implemented in a derived class of this scope to actually fetch the data. The fetch method parameters. These are passed to FetchDataImpl true if the fetch was successful, false otherwise Async variant of Fetches the data for the scope. It calls FetchDataImpl, which should be implemented in a derived class of this scope to actually fetch the data. The cancellation token. The fetch method parameters. These are passed to FetchDataImpl true if the fetch was successful, false otherwise Async variant of Commits the changes tracked by this scope. Use this method to commit the changes using a transaction controller directly. It uses the passed in controller (Adapter: an IDataAccessAdapter instance will do, SelfServicing: an ITransaction instance will do) to commit the unit of work. If the controller has already a transaction in progress, that transaction is used to perform the work, otherwise a new transaction is started. To commit the work using external code, e.g. another tier or a service, please use the CommitChanges overload which accepts a Func instead. The controller. true, if 1 or more actions were performed by the unit of work, false otherwise The unit of work uses as workorder: Inserts, Updates, UpdatesPerformedDirectly, DeletesPerformedDirectly, Deletes. Async variant of Commits the changes tracked by this scope. Use this method to commit the changes using a transaction controller directly. It uses the passed in controller (Adapter: an IDataAccessAdapter instance will do, SelfServicing: an ITransaction instance will do) to commit the unit of work. If the controller has already a transaction in progress, that transaction is used to perform the work, otherwise a new transaction is started. To commit the work using external code, e.g. another tier or a service, please use the CommitChanges overload which accepts a Func instead. The controller. The cancellation token. true, if 1 or more actions were performed by the unit of work, false otherwise The unit of work uses as workorder: Inserts, Updates, UpdatesPerformedDirectly, DeletesPerformedDirectly, Deletes. Adds the delete actions for depending entities to uo W. To delete. The uow. returns list of entity objects in graph which are added for deletion to the UoW Async variant of The implementation of the fetch method. In this method, fetch the data for the scope. Use the TrackQuery methods to make sure all entities fetched in this method are tracked by the scope. The cancellation token. The fetch method parameters. true if the fetch was successful, false otherwise The default implementation will return false in a completed task and won't perform any fetching. Builds the work in a Unit of work object for commit. The unit of work created by this method is used in CommitChanges. The unit of work, ready to be committed, which contains all the work for the changes made to the data in this scope Overrides the default navigator aspects defined by this scope. The default aspects to use. Sets the navigator aspects for the navigator on the type TEntity. The type of the entity. Name of the navigator to set the navigator of. Use entityclass.MemberNames to specify the name so it can be checked during compile time. The aspects. Attaches the specified entity and all entities reachable from this entity to the scope. the entity to attach. the attached entity Attaches the collection and all entities directly and indirectly reachable from this collection to the scope. the collection to attach. Marks the entity specified to be deleted. It adds the entity specified and all entities reachable from this entity to the scope and will delete the entity specified when CommitChanges is called. The entity to delete. Marks all entities in the collection specified to be deleted. It adds all entities in toDelete and all entities directly and indirectly reachable from this collection to the scope and will delete all entities in toDelete when CommitChanges is called. The collection to delete. Tracks the QuerySpec or Linq query and will add all entities fetched with this query to this scope. The type of the query. The query to track. the query specified The implementation of the fetch method. In this method, fetch the data for the scope. Use the TrackQuery methods to make sure all entities fetched in this method are tracked by the scope. The fetch method parameters. true if the fetch was successful, false otherwise The default implementation will return false and won't perform any fetching. Called when toDelete is about to be deleted. Use this method to specify work to be done by the scope to avoid FK constraint issues. workData is meant to collect this work. It can either be additional entities to delete prior to 'toDelete', or a list of relations which are used to create cascading delete actions executed prior to the delete action of toDelete. To delete. The work data. Called when this scope is reset. Called before this scope will build the unit of work to commit the changes with. Called after this scope has commit the changes on the unit of work Called after the scope has successfully called FetchDataImpl. Called before the scope calls FetchDataImpl. Performs the post commit actions, necessary for this scope. Called automatically after a successful commit of the transaction used to commit the unit of work when CommitChanges is called. Binds to the transaction controller specified. It makes sure when the transction is truly committed (or rolled back) the data related to the transaction is properly cleaned up. The controller. Unbinds from the transaction controller specified. It makes sure when the transction is truly committed (or rolled back) the data related to the transaction is properly cleaned up. The controller. Handles the TransactionCommitted event of the transactionController object (sender). It then unbinds from the events of the controller. The source of the event. The instance containing the event data. Handles the TransactionRolledback event of the transactionController object. Doesn't do anything other than unbinding from the events on the controller. The source of the event. The instance containing the event data. Builds the delete work to do in the specified UnitOfWork. Only actions related to the deletion of the entity 'toDelete' are added. The type of the entity. The work data. To delete. The uow. Adds the action to the unit of work. SelfServicing specific To delete. The uow. The relation. The cascade action. End name of the entity. The filter. Adds the action to the unit of work. Adapter specific. To delete. The uow. The relation. The cascade action. End name of the entity. The filter. Creates a new entity instance for the entity name specified to be used in a direct update action. It resets the fk fields in the relation specified: nullable fields to null, non-nullable fields to default values. The relation. End name of the entity. To delete. Gets the entity factory for the entity name specified. Name of the entity to get the factory for. a known factory, which is used to determine the factory of the entity through reflection. Adds the depending entities to Unit of work. To delete. The uow. List of entities which are added to the UoW. Gets the (indirectly) depending entities of the entity 'toExamine', recursively, and adds them to collectedDependingEntities. To examine. The collected depending entities. The examined object I ds. Binds to the context events. Unbinds from the context events. Handles the TrackedElementChanged event of the _context control. The source of the event. The instance containing the event data. Handles the ContextContentsChanged event of the _context control. The source of the event. The instance containing the event data. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets or sets the refetch strategy for saved entities a datascope instance has to take after commit. Specific class to be used as special context inside a datascope Raised when a tracked element's data was changed Raised when an element was added to the context. This class is a no-op unit of work, which is used in the case when this context is empty: it will then return this unit of work instance so code using the IUnitOfWorkCore can act like they always do. Committing this object results in 0 being returned. Async variant of Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. This order can be controlled by the constructor of the unit of work which allows users to define a different work order. The controller of the ado.net transaction to use. The cancellation token. The total # of entities affected by all actions performed in the Commit method If the controller specified has a transaction open, the auto-commit flag is set to false and the transaction is committed when the transaction of the passed in controller is committed, otherwise the auto-commit flag is set to true as the transaction is started by the unit of work. Initializes a new instance of the class. Sets the default navigator aspects. The aspects. Sets the navigator aspects for the navigator on the type TEntity. The type of the entity. Name of the navigator to set the navigator of. Use entityclass.MemberNames to specify the name so it can be checked during compile time. The aspects. Creates a new filled unit of work object with all the actions to perform for the changes made on the elements inside this context. The calling scope. The uow block order. The refetch strategy. Performs the post commit actions which means it will remove the entities removed from the scope after a successful commit of the transaction if set to true [mark saved entities as fetched]. Adds the entity specified to this context (and all entities indirectly reachable) and tracks the entity specified for delete when work is commit. To delete. Adds all entities in toDelete to this context and tracks them for delete when work is commit. To delete. Called when the entity specified is about to be removed from this context. To remove. Called when the context is cleared Called when the add action for the entity specified has been completed. The type of the entity. To add. Adds the entity toDelete to the unit of work specified for deletion. The calling scope. To return. To delete. Removes the removal trackers from the collections inside the entity specified. The entity. Removes the sub graph defined in _entitiesToRemoveAfterCommit from the main graph. De-references all references from the FK side (dependent entities) to entities not in the subgraph. The entities forming the subgraph to remove is the graph in _entitiesToRemoveAfterCommit. The entire graph is the entities is formed by the entities in this context. Handles the OnAdd The entity added. Gets the aspects for the navigator in the entity type specified.. Type of the entity. Name of the navigator. if set to true [allow new]. if set to true [allow delete]. if set to true [allow edit]. Binds to events on the entity specified. The entity added. Unbinds from events on the entity specified The entity. Binds to events on the removed entities tracker specified The removed entities tracker. Gets the removal tracker instance for the type specified in name form. Per type 1 removal tracker is used. The container collection. Name of the entity type. Gets the removal tracker instance for the type specified in name form. Per type 1 removal tracker is used. The container collection. Name of the entity type. if set to true [create new if necessary]. Checks the template group to use for the type specified. Sets _forAdapter. The type to use during the check. Creates the unit of work object to use for the work tracked. The uow block order. Relies on _forAdapter, which is set during add actions of entities to this context Handles the PropertyChanged event of a tracked entity . The source of the event. The instance containing the event data. Handles the EntityAdded event of a removedEntitiesTracker. The source of the event. The instance containing the event data. Gets or sets a value indicating whether events have to be suppressed or not Class which collects work to be done for delete actions of an entity. It is used to collect work to delete entities which depend on entities which are marked for deletion by the scope. This way cascade deletes can be performed. Initializes a new instance of the class. Adds the specified collection with entities as work to delete. All entities in the graph added which are on the FK sides of relationships are deleted. (so which are depending entities on entities also in the graph contained by toAdd) To add. Adds the specified relationship as an edge to use for a cascade delete. The start entity of the relationship specified (example: CustomerEntity.Relationships.OrderEntityUsingCustomerID: CustomerEntity is the start entity) has to be the PK side. The FK side is then deleted before the PK side is deleted. To add. Adds the specified relationship as an edge to use for a cascade action. The start entity of the relationship specified (example: CustomerEntity.Relationships.OrderEntityUsingCustomerID: CustomerEntity is the start entity) has to be the PK side. The FK side is then worked on when the PK side is deleted. If cascadeAction is update, the FK fields are reset before the pk side is deleted: to a default value if not nullable, or to null if nullable. If cascadeAction is delete, the FK side is deleted before the pk side is deleted the relationship to add. The cascade action to execute for this particular relationship. Gets the edges to traverse to build the work for the cascade actions Gets the additional entities to delete. Specialized Hashtable which contains name-value pairs for name overwriting for catalog names names in adapter on some databases (db2, sqlserver) Stores the overwrites in a from-to way, so the key is the from name and the name it should be come is in the value. You can use a wildcard in the form (key) part: * to define a name for all catalog names in the persistence info. Creates a new instance. Capacity. Creates a new instance. Creates a new instance. Dictionary Creates a new instance. Capacity. the setting to use for name overwriting Creates a new instance. the setting to use for name overwriting Creates a new instance. Dictionary the setting to use for name overwriting Gets / sets catalogNameUsageSetting Bucket class for the parameters of a batch query for fetching excluded fields. Gets or sets the dummy. Gets or sets the size of the batch. Gets or sets the number of pk fields. Gets or sets the number of batches. Gets or sets the filter. Gets or sets the excluded fields to use. Gets or sets the result fields. Class which is used for specifying fields to exclude or include in a fetch. If an instance of this list is passed to a fetch method which accepts an ExcludeIncludeFieldsList, the fields in this list are either excluded from the query (if ExcludeContainedFields is true (default)), or are used to exclude the rest of the fields in the query except the fields in this list. Initializes a new instance of the class. Initializes a new instance of the class. if set to true [exclude contained fields]. Initializes a new instance of the class. The fields to be added to this list. Initializes a new instance of the class. if set to true [exclude contained fields]. The fields. Initializes a new instance of the class. The fields. Builds the fields to exclude list to start with from the fields passed in combined with the fields contained in this collection based on the ExcludeContainedFields setting The fields obtained from the excludefields list. list of fieldinfos to exclude from the passed in set of fields. This list isn't checked for illegal excluded fields, so has to be filtered after this call. Sets the fields to defining entity type version, found in the fields passed in. If a field in this object is actually an inherited variant (e.g. ActualContainingObjectName is different from ContainingObjectName), the real version is searched from the fields: from front to back, the first version encountered is selected) The fields. Gets / sets the flag ExcludeContainedFields, which should be set to true if the fields in this list should be excluded and which should be false if the fields should be used as the fields to fetch and exclude the rest.
Default is true.
Helper class which is a derived class from ExcludeIncludeFieldsList containing just fields to include Initializes a new instance of the class. Initializes a new instance of the class. The fields to include. Initializes a new instance of the class. The fields to include. Initializes a new instance of the class. The fields to include. Helper class which is a derived class from ExcludeIncludeFieldsList containing just fields to exclude Initializes a new instance of the class. Initializes a new instance of the class. The fields to exclude. Initializes a new instance of the class. The fields to exclude. Initializes a new instance of the class. The fields to exclude. Utility class which can be used instead of a normal Dictionary class when the Dictionary class is serialized. This class is faster and has much less overhead than the normal dictionary class, as it doesn't use generic types. Has no additional value for CF.NET Key type Value type CTor CTor CTor Deserialization CTor Implements the interface and returns the data needed to serialize the instance. A object that contains the information required to serialize the instance. A structure that contains the source and destination of the serialized stream associated with the instance. info is null. Implements the interface and raises the deserialization event when the deserialization is complete. The source of the deserialization event. The object associated with the current instance is invalid. Small struct which contains the state of a field for transaction state caching. CTor The current value. The db value. value of the IsChanged flag value of the IsNull flag Gets / sets IsChanged flag Gets / sets IsNull flag Gets / sets currentValue Gets / sets dbValue Class which is used to store function mapping related data. Format specification of functionmapping key string. Creates the key value for the method's methodInfo specified The method. The key to use Creates the key value for the property's memberinfo specified The property. the key to use Creates the key value for the function specified. Name of the .NET function. Name of the type which defines the .NET function. Example: System.String. The parameter count of the .NET function. the key to use. Creates the key value for the function specified. Name of the .NET function. the type which defines the .NET function The parameter count of the .NET function. The key to use Initializes a new instance of the class. Adds the specified functionmapping to the container the mapping to add Finds the mapping with the key specified. The key. The function mapping stored for the function with the key specified, or null if not found Simple struct key for usage with the StringFragmentsCache. CTor CTor CTor CTor CTor Specialized Hashtable which allows merging with a passed-in hashtable. CTor CTor CTor Merges the hashtable passed in with this MergeableHashtable. All keys in toMerge which are already in this MergeableHashtable are skipped. To merge. Extension to the normal Dictionary. This class can store more than one value for every key. It keeps a HashSet for every Key value. Calling Add with the same Key and multiple values will store each value under the same Key in the Dictionary. Obtaining the values for a Key will return the HashSet with the Values of the Key. It can also merge with other instances of MultiValueDictionary, as long as the TKey and TValue types are equal. The type of the key. The type of the value. Initializes a new instance of the class. Initializes a new instance of the class. The IEqualityComparer<TValue> which is used for the HashSet objects created for each TKey instance. Can be null, in which case the default EqualityComparer is used. Initializes a new instance of the class. The info. The context. Gets the object data. The info. The context. Adds the specified value under the specified key The key. The value. Adds the range of values under the key specified. The key. The values. Determines whether this dictionary contains the specified value for the specified key The key. The value. true if the value is stored for the specified key in this dictionary, false otherwise Removes the specified value for the specified key. It will leave the key in the dictionary. The key. The value. Merges the specified multivaluedictionary into this instance. To merge with. If this instance has an EqualityComparer set for the values, it is used when merging toMergeWith Gets the values for the key specified. This method is useful if you want to avoid an exception for key value retrieval and you can't use TryGetValue (e.g. in lambdas) The key. if set to true and the key isn't found, an empty hashset is returned, otherwise, if the key isn't found, null is returned This method will return null (or an empty set if returnEmptySet is true) if the key wasn't found, or the values if key was found. Specialized hashtable which can store multiple values for a given key. All values are stored in an UniqueValueList as value. When the value is requested, the UniqueValueList is returned, not the actual value. Legacy, use MultiValueDictionary instead Initializes a new instance of the MultiValueHashtable class. Capacity. Initializes a new instance of the MultiValueHashtable class. Deserialization CTor Adds an element with the specified key and value to the set. The key of the element to add. The value of the element to add. If the key is already existing, the value is added to the existing list of values for that key, unless the value also already exists. Adds the objects as values for the specified key. Key. Values. Determines whether the multivaluehashtable contains the key, and if so, if the list of values stored under the key contains the value specified. Key. Value. true if the key exists and the list of values contains the specified value Gets / sets a value for the given key. Hides original indexer returns null if not found Gets the values for key. If key isn't there yet, a new value list is added for the key to this hashtable. The key. Class which is used to specify separate query fragments in one container which is then usable to produce a single query string. The delimiter is added as a fragment when a fragment is added. The start marker for a non delimited range. All fragments following this marker will be emitted without delimiters in front of them The end marker of a non delimited range. All elements after this element will be delimited with the delimiter as normal. Initializes a new instance of the class. Uses a space as delimiter. Initializes a new instance of the class. The delimiter. Initializes a new instance of the class. The delimiter. The initial capacity. Initializes a new instance of the class. Used a space as delimiter. the range of elements to add. Initializes a new instance of the class. the range of elements to add. The delimiter. Sets the prefix and suffix. The prefix. The suffix. Adds a new string place holder. the created place holder. Adds the fragment specified to this object The fragment. the fragment added Adds the fragments specified in the same order to this object The fragments to add. Adds the string fragment in such a way that no delimiter is emitted before it. The fragment. Adds the string fragments specified as single unit, so they will be added without the delimiter between them. The fragments. Adds a formatted string, build from the format string and the arguments specified The format string. The args. the string added Adds a new Comma delimited query fragments object if set to the bracket surrounded variant is created. The initial capacity to set the returned query fragments' internal store to the newly added query fragments object Adds a new Comma delimited query fragments object if set to the bracket surrounded variant is created. if set to a dangling delimiter is appended after the content. The initial capacity to set the returned query fragments' internal store to the newly added query fragments object Adds a new semi colon delimited fragments object. if set to the bracket surrounded variant is created. the newly added query fragments object Adds a new semi colon delimited fragments object if set to the bracket surrounded variant is created. if set to a dangling delimiter is appended after the content. the newly added query fragments object Adds a new delimited QueryFragments with the delimiter specified The delimiter. Adds the existing query fragments specified to this query fragments To add. Adds a new query fragments object with default parameters (space delimited, no pre/suffix) the newly added query fragments Returns a that represents this instance. A that represents this instance. Sets the capacity of the internal container. The initial capacity is by default set to 0, unless explicity specified. Appends itself in string form to the builder specified The string builder to append itself to. The prefix to append first, if this object has a string length larger than 0, otherwise this method is a no-op and the prefix is ignored. Returns the minimum capacity for a string builder to contain the elements in this instance. It adds all lengths of the strings + the # of elements and for each element that's not a string, it assumes 50 characters. What we want to avoid is Append() on stringbuilder needing to increase capacity on the string builder. Adds a new delimited QueryFragments. The delimiter. if set to the bracket surrounded variant is created. if set to a dangling delimiter is appended after the content. Initializes the specified delimiter. The delimiter to use. The initial capacity. Gets or sets the prefix for the string to produce from this object Gets or sets the suffix for the string to produce from this object Gets or sets a value indicating whether a dangling delimiter has to be appended to the result string. False by default. Gets the number of elements added to this object. Specialized Hashtable which contains name-value pairs for name overwriting for schema names names in adapter on some databases (db2, sqlserver and oracle) Stores the overwrites in a from-to way, so the key is the from name and the name it should be come is in the value. You can use a wildcard in the form (key) part: * to define a name for all schema names in the persistence info. Creates a new instance. Capacity. Creates a new instance. Creates a new instance. Dictionary Creates a new instance. Capacity. the setting to use for name overwriting Creates a new instance. the setting to use for name overwriting Creates a new instance. Dictionary the setting to use for name overwriting Gets / sets schemaNameUsageSetting Container for the static data of an Entity fields object. Initializes a new instance of the class. The field infos. The primary key field indexes. The entity names of fields. The preset aliases. The entity field indexes. The name of the entity this object contains the field data for. Creates a copy of this object and sets the IsLocalCopy flag. This allows external code to alter the contents of this object. Expands this container, if it's a local copy, with the specified number of extra slots (using append) The number of extra slots. This StaticEntityFieldDataContainer is not a local copy. Can't be altered. Gets the entity names of fields. This is a copy of the static object inside this container. Links the supertype PK fields with the subtype PK fields IF there are PK fields of multiple entities in the set of PK fields. Linking is required in target-per-entity entities which have multiple times the same PK field in their field list. Gets the names of all fields in this object. Gets the field info for the slot with the index specified. The index. Gets the field info for the slot with the field with the name specified. Uses public static lookups for field name. The name. Returns the index of the field with the name specified. Name of the field. Gets the preset alias for the slot with the index specified, or empty string if not set. The index. Replaces the field info. The index. The new field info. Gets the linked super type field. The index subtype field. Gets the primary keyfield infos. Gets the own primary key field infos. Gets the unique field names. Gets the number of fields contained in this object, which is the number of FieldInfos stored in this object. Gets a value indicating whether this instance is a local copy. Gets the own primary key field indexes, so not the inherited indexes as well. Gets the primary key field indexes. Gets the index of the indices of linked fields per field. Gets the index of the linked supertype field index of. [FB] See comments at the top of the file. From CoreFX (https://github.com/dotnet/corefx/blob/bffef76f6af208e2042a2f27bc081ee908bb390b/src/Common/src/System/IO/StringBuilderCache.cs), adjusted the max size. Also added support for multiple cached instances, and it returns the instance with the minimal size matching the requested size Acquires a string builder with the capacity specified. If no cached string builder is found with the requested capacity a new one is returned. If there are cached stringbuilders with at least the requested capacity, the one with the minimal capacity is returned. The capacity. Releases the specified string builder and add it to the cache, if it's not at capacity already. The string builder to release. Gets the string from the string builder specified and calls release on it The stringbuilder Simple cache for query fragment sets and their concatenated equivalent. CTor Gets the concatenated result as cached by the key specified, or null if not found. Adds the specified concatenated result with the specified key if the key doesn't already exist. Simple place holder class to be used with the QueryFragments class. Initializes a new instance of the class. Sets the value to the formatted string constructed from the parameters specified The format string. The args. Appends itself in string form to the builder specified The string builder to append itself to. The prefix to append first, if this object has a string length larger than 0, otherwise this method is a no-op and the prefix is ignored. Gets or sets the value. A list of elements which are unioned with the container of this list in one query using UNION / UNION ALL / INTERSECT / EXCEPT The type of the element which are unioned. This can be e.g. QuerySpec for queryspec queries, or QueryParameters for the list of parameters send to the query engines. The List itself contains elements of type UnionListElement<T> CTor Clones this instance Adds a new element to this list for the represented element and the operator the represented element to add to the list the operator to use between the parent or previous element and the represented element Clears this instance Returns an enumerator over this instance Gets the unionlistelement at the index specified. Returns the number of elements in this object. The element type used for elements in an instance. The type of the element which should be unioned. This can be e.g. QuerySpec for queryspec queries, or QueryParameters for the list of parameters send to the query engines. CTor The represented instance of this element the operator to use between the parent/previous element and this instance Gets the element represented by this instance. Can be a query, expression or query parameters. Gets/sets the operator to use between the parent/previous element and the instance in this element Provides a faster way to store individual objects both maintaining the order that they were added and providing a fast lookup. Based on code developed by ewbi at http://ewbi.blogs.com/develops/2010/10/uniquestringlis.html the type of the elements contained in the uniquelist. CTor CTor initial capacity CTor Comparer to use for uniqueness comparison CTor Initial capacity Comparer to use for uniqueness comparison Determines the index of a specific item in the . The object to locate in the . The index of item if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which item should be inserted. The object to insert into the . The is read-only. index is not a valid index in the . Removes the item at the specified index. The zero-based index of the item to remove. The is read-only. index is not a valid index in the . Removes the first occurrence of a specific object from the . The object to remove from the . true if item was successfully removed from the ; otherwise, false. This method also returns false if item is not found in the original . The is read-only. Adds an item to the . The object to add to the . The is read-only. Adds the specified item. The item. Adds the item or if it's already present it gets its instance The item. Removes all items from the . The is read-only. Determines whether the contains a specific value. The object to locate in the . true if item is found in the ; otherwise, false. Copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in array at which copying begins. arrayIndex is less than 0. array is null. array is multidimensional.-or-arrayIndex is equal to or greater than the length of array.-or-The number of elements in the source is greater than the available space from arrayIndex to the end of the destination array.-or-Type T cannot be cast automatically to the type of the destination array. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Initializes the specified min capacity. The min capacity. Gets the index of the bucket. The item. Expands this instance. Reindexes the items. Gets or sets the instance at the specified index. Gets the number of elements contained in the . The number of elements contained in the . Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Placeholder type for UniqueList. This type is kept as it's a public type and removing it in favor of UniqueList will break code. Creates a new UniqueValueList instance. Creates a new UniqueValueList instance. Collection of objects to add to this collection. It will use the Adds the range specified Collection with new objects to add Simple class to define a pair of values. The type of the value1. The type of the value2. Initializes a new instance of the class. The value1. The value2. Gets or sets the value1. Gets or sets the value2. Simple struct to define a pair of values. The type of the value1. The type of the value2. Initializes a new instance of the class. The value1. The value2. Gets the value1. Gets the value2. Class which is used to store the volatile field data of an entity fields object. Used when the entity fields object is part of an entity as that object in that state doesn't store field objects. Class stores volatile data per field index. Initializes a new instance of the class. The amount of slots to allocate space for. This is the number of fields tracked by this object. Index of the indices of linked fields per field. Sets the db values, read from the datareader. The values from reader. valuesFromReader Gets the current value for slot with the index specified, or null if unknown. The index. Gets the db value for the slot with the index specified, or null if unknown. The index. Gets the IsNull value for the slot with the index specified. The index. returns true if the slot contains null, false otherwise, also when there's no db value or the state is new Sets the current value for the slot with the index specified. The index. The value. if set to true [sync linked fields]. Gets the IsChanged flag for the slot with the index specified The index. Sets the is changed. The index. if set to true [value]. Clears the changed flags. Sets the current value for the field with the index specified to the currentValue specified without setting changed flags. The index. The current value. Sets the current value for the field with the index specified to the currentValue specified and the dbvalue to the dbvalue specified without setting changed flags. The index. The current value. The db value. Expands this container, if it's a local copy, with the specified number of extra slots (using append) The number of extra slots. This StaticEntityFieldDataContainer is not a local copy. Can't be altered. Calculates the hash code for values stored in this object. The static field data. Determines the 'Equals' value for this object compared with toCompareWith. To compare with. The static field data. Gets the fields data array. Used in non-fast binary serialization Gets this object's fields change tracking flags and other flags: it's a bitarray, single dimension with 2 bits per row: first bit IsChanged, second bit: IsNull. Used in non-fast binary serialization. Clones this instance. Writes the XML of this Fields object to the writer specified The writer. The aspects. The static field data. Accepts the changes. Rejects the changes. Marks all slots as changed. Gets the entity field states. Used to store transaction state. Sets the entity field states. The field states. Sets the db value of the slot with the index specified. The index. The value. Sets the db value of the slot with the index specified. The index. The value. if set to true the value is always set, regardless whether a dbvalue was already set for this index Ends the edit. Part of IEditableObject implementation. Cancels the edit. Part of IEditableObject implementation. Begins the edit. Part of IEditableObject implementation. Copies the field data. The index. The field to copy from. Marks the fields as fetched. Copies the current values to the db values and sets the state to fetched. Syncs the value specified with the linked fields of the field at the index specified The index. The value. Gets a value indicating whether semantically this object contains valid db values, so values fetched from the DB. Returns true when state is 'fetched', otherwise false, as the db values aren't there yet/not valid. Gets or sets a value indicating whether this instance is dirty. Gets or sets the state of the entity data. Gets the number of slots allocated in this object. Gets or sets a value indicating whether this instance is changed in this edit cycle. Used during IEditableObject operations. Class which is used for storing the information read from a DependencyInjectionInformation section in the config file. Instances are created by the DependencyInjectionSectionHandler Initializes a new instance of the class. Adds the assembly. To add. Adds the namespace filter fragment. The namespace filter fragment. Gets / sets additionalAssemblies Gets / sets namespaceFilterFragments Static class which is used to set discovery information for dependency injection info for the situation when there's no config file available in the application. Set the variables of this static class as soon as possible at the startup of your application so the initialization of this class, if required, is ran before an entity is instantiated so the DependencyInjectionInfoProvider is initialized after this class is initialized by your application. Use this class only if you don't want to provide dependencyinjection information in the config file of your application. Flag to signal the DependencyInjectionProvider that the auto discovery of dependency injection info in the assemblies of the application should be performed (true) or not (false). Default: false Set this object to an instance of DependencyInjectionConfigInformation with the assemblies / namespace fragments as if it was loaded from the config file. If you need information read from the config file, leave this field to null / Nothing (default) so it will signal the DependencyInjectionInfoProvider to read the config file for additional information instead. Is initially null. Only set this field to a value if you don't use the config file to specify additional dependency injection information and assemblies. Singleton class which contains the single instance of the DependencyInjectionProvider Dummy static constructor to make sure threadsafe initialization is performed. Gets the singleton instance. Performs the dependency injection of the objects to inject into the target specified. The target to inject objects in. Dependency Injection Info provider class. This class provides the orm support classes with dependency injection information Initializes a new instance of the class. Gets the instances to inject. Type of the target to inject instances in. A dictionary with per PropertyName the injection data with the instance to inject, or null if nothing can be injected. Marks the begin of a scope and therefore creates the scope data storage. The scope storage to use. This scopestorage is passed in by the di scope started. Marks the end of a scope and therefore removes the scope data created. Sets the dependency information to use by the runtime. It will rebuild the internal DI store with the information provided. The assemblies to examine for types decorated with DependencyInjectionInfo attributes. The namespace fragments to filter target types with. Can be null, in which case all target types specified in the found DependencyInjectionInfo attributes are used. Gets the scope specific instances to inject. This traverses the stack from top to bottom starting with the last pushed scope storage. If collects all the injection info for the given targetType over all the scopes on the stack. If a scope which is pushed later on the stack overrules injection info for a given propertyname, the info of the scope pushed later on the stack is used. Type of the target. Dictionary with for each propertyname the injection data with the object to inject or null if no data to inject was found Initializes this instance. Retrieves the DI info which is defined using attributes and stores that inside the central storage. The di info from config. The instance types found. Gets the interface target types discovered from the assemblies in the application Gets the normal target types discovered from the assemblies in the application Class which is used to discover types in either the appdomain or the assembly passed in. This class can either be used in its own appdomain (for appdomain wide discovery) or in the executing appdomain (for assembly traversal). Filter of assemblies which don't have to be traversed to search for annotated types as they're part of the .NET framework. Discovers the specified assembly names passed in from the current application domain The assembly names of the current application domain. List of types (keys) which are annotated with the DependencyInjectionInfoAttribute (values), thus which are instance types for DI Gathers the instance types (types which have the DependencyInjectionInfoAttribute annotated onto them) The instance types already collected and to which the new types have to be added. To examine. traverses the assemblies recursively and and collects the assembly names of the assemblies which aren't in the .NET framework but which could have DI annotated types in them. assembly to discover. The names already collected. The assemblies already traversed. Checks if assembly is allowed. To check. true if allowed, otherwise false. Class which contains information for the dependency injection logic. The data inside this storage is either filled by code in a scope, or read from attributes Dictionary which contains per Type the injection information applicable for that type. If the list of injectioninfos is empty for a given type, that type doesn't have any injection info and isn't a target for any instance type. Initially this cache is empty and is filled on the fly when the first type a target type needs objects injected. Locking mechanism is as follows: It uses a monitor object to schedule reads/writes - First a reader lock is obtained to see if a type is in the cache. If so, injectioninfo's are returned, lock is released. - if a type isn't present in the cache, it's considered not yet discovered. So the thread will create the InjectionInfo for the type. when done, it will obtain a writer lock and check again if the type is present. If not, it will add the injection info and release the lock if it IS present it will drop its own data and will use the present info (which is thus added by another thread during creation of the injectioninfo). This gives the best performance as the writers don't block reads (reads are readonly always: the data is never modified) and writers are only be frequently writing at the start of the application. After a while all access are reads, as all types are then cached. Every type stored as key can be injected with the instance defined in injectioninfo. Instance cache for instances of instancetypes which have to act as singleton's (per thread). Key is the instance type, value is the instance to pick. Initializes a new instance of the class. Gets the instances to inject. Type of the target to inject instances in. A MergeableDictionary with per PropertyName the injection data with the instance to inject, or null if nothing can be injected. Builds the injection info list for the type passed in. This list has to be compiled once for each type and is then cached in the _dependencyInfoDataCache. Type of the target. list of injectioninfo objects for the target type or null if the targettype isn't a target for any instance type known. Processes the injection config infos into InjectionInfo objects The properties already taken. The collected injection infos. The infos to process. Type of the target. Gets the inheritance hierarchy for the type passed in. The type passed in is NOT added to the hierarchy. Type of the current. The collected types. Builds the storage data from the passed in injectioninfo's to quickly find back injection info when a type needs its instances injected. The normal target types found. The interface target found. Get the instance for the injection info passed in. The info. the instance to inject Abstract class which defines a Dependency Injection scope in which dependency injection takes place with the information provided with this scope. To use a dependency injection scope to define dependency injection for a specific area in your code, derive a class from this class and fill it with data using subsequential calls to the AddInjectionInfo method from within an override of . Instantiate the scope with a using statement which will automatically close the scope when Dispose is called. Languages which don't have a using statement (e.g. VB.NET in .NET 1.x) should call Dispose manually. The scope is thread safe and local to the calling thread. Don't pass scopes to other threads. Initializes a new instance of the class. The scope is automatically started by this ctor (Re)starts the scope and will add the scope to the dependency injection provider. Use this method if the scope was already stopped via the EndScope or (indirectly) through the Dispose method, and you want to re-start it, which can be useful if your scope contains a lot of injection info and rebuilding it can take a couple of milliseconds so you can store scope instances in a thread local cache for example. You don't have to call StartScope explicitly after you've created the scope instance as the constructor calls StartScope automatically Initializes the scope. Use this method to add injection info to the scope by subsequential calls to AddInjectionInfo Adds the injection info passed in to the scope data. Call this method one or more times from an override of . Type of the instance to inject. Type of the target which contains propertyName and which gets an instance of instanceType injected. Name of the property to set with an instace of instanceType. Adds the injection info passed in to the scope data. Call this method one or more times from an override of . Type of the instance to inject. Type of the target which contains propertyName and which gets an instance of instanceType injected. Name of the property to set with an instace of instanceType. targetKind definition. contextType definition. Adds the injection info passed in to the scope data. Call this method one or more times from an override of . Type of the instance to inject. Type of the target which contains propertyName and which gets an instance of instanceType injected. Name of the property to set with an instace of instanceType. targetKind definition. contextType definition. The target namespace filter fragments. Ends the scope and removes the scope from the dependency injection provider. After this method, call StartScope again to re-add the DI data to the provider again. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Handles the DependencyInjectionInformation section in the config file and creates an instance of DependencyInjectionConfigInformation with information stored in the section. Creates an instance of DependencyInjectionConfigInformation with the information defined in the config file Parent object. Configuration context object. Section XML node. an instance of DependencyInjectionConfigInformation with the information read from the config file. Performs the Create method's logic statically to be thread safe. The section. an instance of DependencyInjectionConfigInformation with the information read from the config file. Parses the instance type filters node in a DependencyInjectionInformation section The instance type filters node. List with fragments for namespaces to filter Parses the additionalAssemblies node in a DependencyInjectionInformation section. The assemblies node. List with assembly instances of the assemblies specified. Injection configuration info class which is used to store injection information per target type, as found in DI configuration elements (be it attribute based, config file based or scope based) Initializes a new instance of the class. Type of the instance to inject. Type of the target which contains propertyName and which gets an instance of instanceType injected. Name of the property to set with an instace of instanceType. targetKind definition. contextType definition. Initializes a new instance of the class. Type of the instance. The info attribute. The target namespace filter fragments. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Compares on instancetype, targettype, property name, context type and targetkind Serves as a hash function for a particular type. A hash code for the current . Gets / sets targetType Gets / sets contextType Gets / sets targetKind Gets / sets propertyName Gets / sets instanceType Gets / sets property Gets the target namespace filter fragments. Injection info class which is used to store injection information per target type in the storage Initializes a new instance of the class. The config info which contains the data to fill this object with. Initializes a new instance of the class. The config info which contains the data to fill this object with. The comparer to use. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Compares on instancetype, targettype, property name Serves as a hash function for a particular type. A hash code for the current . Gets / sets contextType Gets / sets propertyName Gets / sets instanceType Gets / sets property Class to compare injection info objects. compares a with b. a. b. true if a's values are equal to b's values Class for the injection data passed back from a storage to the injection performer methods which inject the data. Initializes a new instance of the class. The injectable data. The property to set. Gets / sets injectableObject Gets / sets propertyToSet Event args which are used for collection changed events and which is raised by cancelable actions. Set the Cancel flag to cancel the action which raised the event. Initializes a new instance of the class. The involved entity. Gets / sets the cancel flag to cancel the action. Event args class which is the cancelable variant of the DataSourceActionEventArgs event args class Initializes a new instance of the class. The involved entity. Gets / sets the cancel flag to cancel the action. EventArgs class for events raised by the entity collection classes for various actions. Initializes a new instance of the class. The involved entity. Gets / sets the entity involved in the action which took place and which triggered the raised event. Event args class which is used with LLBLGenProDataSource(2) action events. This is the non-cancelable variant. Initializes a new instance of the class. The involved entity. Gets / sets involvedEntity Event arguments class which is passed as argument in the PerformDbCount event on an LLBLGenProDataSource control. Initializes a new instance of the class. The filter. The relations. The contained collection. Initializes a new instance of the class. The filter. The relations. The fields. if set to true [allow duplicates]. The group by. Initializes a new instance of the class. The filter. The relations. The fields. The group by. Inits the class. The filter. The relations. The contained collection. The fields. if set to true [allow duplicates]. Type of the data container. The group by. Gets the relations. The relations. Gets the GroupByCollection to use for the DbCount fetch. Only valid if DataContainerType is set to TypedList or TypedView. Gets a value indicating whether duplicates should be considered in the DbCount fetch. Only valid if DataContainerType is set to Typedlist Gets or sets the db count retrieved. The db count. Gets the type of the data container. Use this value to determine which values to retrieve from this event arguments object to perform the GetDbCount action The type of the data container. Gets the contained collection in the data source control The contained collection. Gets the filter. The filter. Gets the fields for TypedList or TypedView fetches. The fields. Event arguments class which is passed as argument in the PerformDbCount event on an LLBLGenProDataSource2 control. Initializes a new instance of the class. The filter. The contained collection. Initializes a new instance of the class. The filter. The fields. if set to true [allow duplicates]. The group by. Initializes a new instance of the class. The filter. The fields. The group by. Inits the class. The filter. The contained collection. The fields. if set to true [allow duplicates]. Type of the data container. The group by. Gets the GroupByCollection to use for the DbCount fetch. Only valid if DataContainerType is set to TypedList or TypedView. Gets a value indicating whether duplicates should be considered in the DbCount fetch. Only valid if DataContainerType is set to Typedlist Gets or sets the db count retrieved. The db count. Gets the type of the data container. Use this value to determine which values to retrieve from this event arguments object to perform the GetDbCount action The type of the data container. Gets the contained collection in the data source control The contained collection. Gets the filter. The filter. Gets the fields for TypedList or TypedView fetches. The fields. Event arguments class which is passed as argument in the PerformSelect event on an LLBLGenProDataSource2 control Adapter specific Initializes a new instance of the class. The filter. The relations. The max number of items to return. Size of the page. The page number. The sorter. The contained collection. The prefetch path. Initializes a new instance of the class. The filter. The relations. The max number of items to return. Size of the page. The page number. The sorter. The contained typed list. The fields. if set to true [allow duplicates]. The group by. Initializes a new instance of the class. The filter. The relations. The max number of items to return. Size of the page. The page number. The sorter. The contained typed view. The fields. The group by. Inits the class. The filter. The relations. The max number of items to return. The page number. Size of the page. The sorter. The contained collection. The contained typed list. The contained typed view. The fields. if set to true [allow duplicates]. Type of the data source data container. The prefetch path. The group by. Gets the relations. The relations. Gets the GroupByCollection to use for the fetch. Only valid if DataContainerType is set to TypedList or TypedView. Gets the prefetch path to use for the fetch. Only valid if DataContainerType is set to EntityCollection. The prefetch path. Gets a value indicating whether duplicates should be considered in the fetch. Only valid if DataContainerType is set to Typedlist Gets the type of the data container. Use this value to determine which values to retrieve from this event arguments object to perform the select action The type of the data container. Gets the contained collection in the data source control The contained collection. Gets the contained typed list in the data source control The contained typed list. Gets the contained typed view in the data source control The contained typed view. Gets the filter. The filter. Gets the max number of items to return. The max number of items to return. Gets the page number for paging. The page number. Gets the page size for paging. The size of the page. Gets the sortexpression. The sorter. Gets the fields for TypedList or TypedView fetches. The fields. Event arguments class which is passed as argument in the PerformSelect event on an LLBLGenProDataSource2 control Adapter specific Initializes a new instance of the class. The filter. The max number of items to return. Size of the page. The page number. The sorter. The contained collection. The prefetch path. Initializes a new instance of the class. The filter. The max number of items to return. Size of the page. The page number. The sorter. The contained typed list. The fields. if set to true [allow duplicates]. The group by. Initializes a new instance of the class. The filter. The max number of items to return. Size of the page. The page number. The sorter. The contained typed view. The fields. The group by. Inits the class. The filter. The max number of items to return. The page number. Size of the page. The sorter. The contained collection. The contained typed list. The contained typed view. The fields. if set to true [allow duplicates]. Type of the data source data container. The prefetch path. The group by. Gets the GroupByCollection to use for the fetch. Only valid if DataContainerType is set to TypedList or TypedView. Gets the prefetch path to use for the fetch. Only valid if DataContainerType is set to EntityCollection. The prefetch path. Gets a value indicating whether duplicates should be considered in the fetch. Only valid if DataContainerType is set to Typedlist Gets the type of the data container. Use this value to determine which values to retrieve from this event arguments object to perform the select action The type of the data container. Gets the contained collection in the data source control The contained collection. Gets the contained typed list in the data source control The contained typed list. Gets the contained typed view in the data source control The contained typed view. Gets the filter. The filter. Gets the max number of items to return. The max number of items to return. Gets the page number for paging. The page number. Gets the page size for paging. The size of the page. Gets the sortexpression. The sorter. Gets the fields for TypedList or TypedView fetches. The fields. Event arguments class which is passed as argument in the PerformWork event on an LLBLGenProDataSource control. SelfServicing specific Initializes a new instance of the class. The unit of work. Gets / sets the UnitOfWork object Event arguments class which is passed as argument in the PerformWork event on an LLBLGenProDataSource control. SelfServicing specific Initializes a new instance of the class. The unit of work Gets / sets the UnitOfWorkw object Class which retrieves information from a passed in exception which is specific to a DB type, and returns it to the caller. Initializes a new instance of the class. Gets the exception info which is included in the passed in db specific exception. This retrieval has to be done in this class as not all .NET providers derive their exception classes from DbException. The db specific exception object. A dictionary with per exception info element the value retrieved from the db specific exception Exception which is thrown when a bad sequence value is detected after an insert. Initializes a new instance of the class. The message. The query. Constructor for deserialization as the base class already implements ISerializable. When overridden in a derived class, sets the with information about the exception. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Gets the query executed. General exception class which is thrown when there is a concurrency error during a save action or a delete action. A concurrency error occurs if the Save action of an entity fails, i.e. when no rows were affected by the save, or when an entity is deleted and a delete restriction has been set and no rows were affected by the delete action. CTor The message of the exception The entity object which save action failed, if applicable. Constructor for deserialization as the base class already implements ISerializable. Serialization override Gets / sets entityWhichFailed Exception class for configuration related errors. CTor General exception class which is thrown when a user tries to get a value from a field of an entity which is marked as Deleted. Initializes a new instance of the class. The message. The deleted entity. Constructor for deserialization as the base class already implements ISerializable. Serialization override Gets / sets the entity which was deleted and which triggered the exception General exception class which is thrown when a user tries to get a value from a field of an entity which is marked as OutOfSync, and needs to be refetched. Initializes a new instance of the class. The message. The out of sync entity. Constructor for deserialization as the base class already implements ISerializable. Serialization override Gets / sets the entity which was out of sync General exception class which is thrown by a validation error. CTor The message of the exception the entity object validated. Offered as object to share exception objects between adapter/selfservicing. Initializes a new instance of the class. The message of the exception the entity object validated. Offered as object to share exception objects between adapter/selfservicing. The inner exception. Constructor for deserialization as the base class already implements ISerializable. Serialization override Gets EntityValidated Abstract base class for all ORM exceptions. CTor CTor Exception message Initializes a new instance of the class. The message. The inner exception. Constructor for deserialization as the base class already implements ISerializable. When overridden in a derived class, sets the with information about the exception. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The info parameter is a null reference (Nothing in Visual Basic). Gets the runtime version number of the code which threw the exception. The runtime version. Gets the runtime build number of the code which threw the exception. The runtime build. General exception class which is thrown when a user tries to get a value from a field which is null. CTor The message of the exception Constructor for deserialization as the base class already implements ISerializable. General exception class which is thrown when a user sets a field which is readonly. CTor The message of the exception Constructor for deserialization as the base class already implements ISerializable. Exception which is thrown when the general operation of the o/r core isnt used correctly, like bad imput has been given and no other exception is appropriate. CTor CTor Exception message Constructor for deserialization as the base class already implements ISerializable. General exception which is thrown when an error is determined in the inheritance info during query execution. CTOr CTor Exception message Constructor for deserialization as the base class already implements ISerializable. General exception which is thrown when an interpretation error occurs during predicate / sortclause interpretation for filtering or sorting in-memory in an EntityView(2). CTor CTor Exception message Constructor for deserialization as the base class already implements ISerializable. Exception which is thrown when a developer reads a field from a new entity which isn't set to a value yet. Only thrown when the EntityBase(2).MakeInvalidFieldReadsFatal flag is set to true (default: false). Initializes a new instance of the class. Initializes a new instance of the class. The message. Constructor for deserialization as the base class already implements ISerializable. timeout exception for TimeOut locks used inside the code. This exception should only pop up when a timed lock timed out, which is to prevent deadlocks. Initializes a new instance of the class. General exception which is thrown when an error occurs during the construction of the query to execute. CTOr CTor Exception message Constructor for deserialization as the base class already implements ISerializable. General exception class which is thrown when an exception was caught during a query execution. Contains the original exception as inner exception. ctor The message of the query The query string executed the parameters collection of the command object executed The actual exception caught The exception info which is specific for the db specific exception caught. Constructor for deserialization as the base class already implements ISerializable. Serialization override Gets the query string (formatted) executed which caused the exception. Gets the parameters collection of the command object executed Will be null when the class is instantiated by a deserialization process as parameters can't be serialized. Gets or sets the db specific exception info. This is info obtained from the db specific exception caught and wrapped by this exception. Can be null. Gets or sets the involved entity. This property is set when the exception was caused by a direct action on an entity and the entity in question is then the value of this property. Can be null. General exception class which is thrown when something is wrong with a relation or with the context the relation is used in (ToQueryText in RelationCollection for example) CTOr CTor Exception message Constructor for deserialization as the base class already implements ISerializable. Exception class which is usable for security exceptions thrown by authorizers. Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The affected entity. Initializes a new instance of the class. The message. Type of the affected entity. Initializes a new instance of the class. The message. The affected entity. The audit action. Initializes a new instance of the class. The message. Type of the affected entity. The audit action. Constructor for deserialization as the base class already implements ISerializable. When overridden in a derived class, sets the with information about the exception. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The info parameter is a null reference (Nothing in Visual Basic). Gets / sets auditAction Gets / sets affectedEntityType Gets / sets affectedEntity Exception class which is thrown when a value being optimized does not meet the required criteria for optimization. Initializes a new instance of the class. The message. Exception class which is thrown when the maximum number of retries has been attempted or when the maximum delay has been reached. Initializes a new instance of the class. The message. The collected exceptions. Constructor for deserialization as the base class already implements ISerializable. When overridden in a derived class, sets the with information about the exception. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Gets the collected exceptions. General exception class which is thrown when a user sets a field to a value which doesn't match the type of the field. Is also used in LLBLGenProDataSource(2) controls, when a field is set to a value which isn't convertable to the type of the field and which are collected in one group per entity. CTor The message of the exception CTor The message of the exception The illegal field values. Key: fieldname, value: field value which wasn't convertable. The target entity of which the fields should have been set to new values. Constructor for deserialization as the base class already implements ISerializable. When overridden in a derived class, sets the with information about the exception. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The info parameter is a null reference (Nothing in Visual Basic). Gets or sets the illegal values dictionary. Used in LLBLGenProDataSource(2) scenario's which collect all errors per entity in one exception. In normal field set scenario's, this property is null. Gets or sets the target entity of which the fields were about to be set. This property is only set in scenario's with the LLBLGenProDataSource(2) controls. Class which implements a function call to a database function and which is used on an EntityField(2) in a query. Initializes a new instance of the class. For deserialization purposes only. Use other overloads in your own code. For deserialization purposes only. Initializes a new instance of the class. Name of the function or pre-formatted function call string. The parameters for the function to call. Can be null (which means: no parameters) Initializes a new instance of the class. Name of the schema. Name of the function or pre-formatted function call string. The parameters for the function to call. Can be null (which means: no parameters) Initializes a new instance of the class. Name of the catalog. Name of the schema. Name of the function or pre-formatted function call string. The parameters for the function to call. Can be null (which means: no parameters) Retrieves a ready to use text representation of the contained function call The contained function call in textual format. When IDbFunctionCall.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained function call if set to true, it will allow aggregate functions to be applied to fields. The contained function call in textual format. When IDbFunctionCall.DatabaseSpecificCreator is not set to a valid value. Creates the parameters text to embed in the query text. if set to true [in having clause]. the set of fragments, one for each function parameter, which is used to build the query text Sets the parameters. The parameters. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression instance The reader. Reads the parameters from XML. The reader. Deserializes a new parameter instance from the XML pointed at by the reader specified. The parameter is expected to be of the type specified. The reader. The type. Retrieves a ready to use text representation of the contained function call The contained function call in textual format. When IDbFunctionCall.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained function call if set to true, it will allow aggregate functions to be applied to fields. The contained function call in textual format. When IDbFunctionCall.DatabaseSpecificCreator is not set to a valid value. The list of parameters created when the Expression was translated to text usable in a query. Only valid after a succesful call to ToQueryText Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Gets the left expression operand. Set by the constructor used. Gets the right expression operand. Set by the constructor used. Can be null Gets the operator of the expression. Not valid (ExOp.None) if RightOperand is null. Set by the constructor used. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression instance The reader. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. The list of database parameters created when the DbFunctionCall was translated to text usable in a query. Only valid after a succesful call to ToQueryText Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Gets or sets the name of the catalog the function is located in. Can be ignored on databases which don't support catalogs. The name of the catalog. If catalog name isn't supplied, the function has to be present in the active catalog the user is connected with. Gets or sets the name of the schema the function is located in. Can be ignored on databases which don't support schemas. The name of the schema. If schema name isn't supplied, the function has to be present in the default schema the user has access to in the current catalog. If you've specified a catalog, always specify the schema. If the function to call is a system function, don't specify schema nor catalog name. If the function name is preformatted, schemaname and catalogname are ignored. Gets or sets the name of the function to call or pre-formatted function call string. This is without catalog or schema name. Gets the function parameters to pass to the function. You can pass fields and values to the function as parameters. A field can have a function call and/or expression applied to make nested function calls possible. The function parameters. Per field in FunctionParameters, this list contains the fieldPersistenceinfo object. If a parameter in FunctionParameters is not an IEntityFieldCore implementing object, the value for that parameter is null/Nothing. Expression class which defines field expressions which are applied to fields in a select list, in update queries or in field predicates.
Valid expressions: Field Field ExOp Field Field ExOp Value Field ExOp Expression Value ExOp Field Value ExOp Expression Expression ExOp Field Expression ExOp Value Use one of the constructors to create the particular expression object.
Values are transformed into parameters. The type of the parameter is determined of the field in the expression.
You can also use EntityProperty instances instead of EntityField(2) instances, though the Expression instance then has to be used solely for in-memory actions.
CTor Empty constructor, do not use, use one of the constructor overloads to create an expression instance. CTor for (expression) operator (expression) expressions. the left operand, which is an IExpression implementation operator to use in this expression the right operand, which is an IExpression implementation CTor for value operator (expression) expressions the left operand, which is a value operator to use in this expression the right operand, which is an expression CTor for (expression) operator value expressions. the left operand, which is an IExpression implementation operator to use in this expression the right operand, which is a value CTor for single field expressions. the only element in this expression CTor for field operator field expressions. the left operand, which is a field operator to use in this expression the right operand, which is a field CTor for field operator value expressions. the left operand, which is a field operator to use in this expression the right operand, which is a value CTor for field operator (expression) expressions. the left operand, which is a field operator to use in this expression the right operand, which is an IExpression implementation CTor for value operator field expressions. the left operand, which is a value operator to use in this expression the right operand, which is a field CTor for (expression) operator field expressions. the left operand, which is an IExpression implementation operator to use in this expression the right operand, which is a field Initializes a new instance of the class. Info. Context. Populates a with the data needed to serialize the target object. The to populate with data. The destination (see ) for this serialization. The caller does not have the required permission. Retrieves a ready to use text representation of the contained expression. The contained expression in textual format. When IExpression.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained expression. if set to true, it will allow aggregate functions to be applied to fields. The contained expression in textual format. When IExpression.DatabaseSpecificCreator is not set to a valid value. Creates a new IExpression instance from the information currently pointed at by the reader specified. The reader. filled IExpression instance. Converts the object operand to expression element. The operand. the operand as a IExpressionElement. Produces the value for this expression for the entity passed in. This routine is used by IExpressionInterpret.GetValue and is used to evaluate an expression at runtime for in-memory filtering/sorting. The entity. The value the expression resolves to based on the entity passed in. Returns DBNull.Value if it resolves to null Resolves the passed in operand to its value at runtime. The operand to resolve. The entity to resolve the operand on the value the operand resolves to Converts the passed in operand to text, appended to queryText. parameters created are added to _selectParameters. The query text. The operand. if set to [in having clause]. CTor for (expression) operator (expression) expressions. the left operand, which is an IExpression implementation operator to use in this expression the right operand, which is an IExpression implementation CTor for value operator (expression) expressions the left operand, which is a value operator to use in this expression the right operand, which is an expression CTor for (expression) operator value expressions. the left operand, which is an IExpression implementation operator to use in this expression the right operand, which is a value CTor for single field expressions. the only element in this expression CTor for field operator field expressions. the left operand, which is a field operator to use in this expression the right operand, which is a field CTor for field operator value expressions. the left operand, which is a field operator to use in this expression the right operand, which is a value CTor for field operator (expression) expressions. the left operand, which is a field operator to use in this expression the right operand, which is an IExpression implementation CTor for value operator field expressions. the left operand, which is a value operator to use in this expression the right operand, which is a field CTor for (expression) operator field expressions. the left operand, which is an IExpression implementation operator to use in this expression the right operand, which is a field inits members Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression instance The reader. Deserializes the operand from the xml pointed at by the reader. reader is positioned at LeftOperand/RightOperand element. The reader. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression instance The reader. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. Operator overload for the '+' operator to produce an Expression which represents value + expression Value. Right operand. Expression object which represents value + expression Operator overload for the '*' operator to produce an Expression which represents value * expression Value. Right operand. Expression object which represents value * expression Operator overload for the '-' operator to produce an Expression which represents value - expression Value. Right operand. Expression object which represents value - expression Operator overload for the '/' operator to produce an Expression which represents value / expression Value. Right operand. Expression object which represents value / expression Operator overload for the '+' operator to produce an Expression which represents expression + value Left operand. Value. Expression object which represents value + expression Operator overload for the '*' operator to produce an Expression which represents expression * value Left operand. Value. Expression object which represents value * expression Operator overload for the '-' operator to produce an Expression which represents expression - value Left operand. Value. Expression object which represents value - expression Operator overload for the '/' operator to produce an Expression which represents expression / value Left operand. Value. Expression object which represents value / expression Operator overload for the '+' operator to produce an Expression which represents expression + expression Left operand. Right operand. Expression object which represents value + expression Operator overload for the '*' operator to produce an Expression which represents expression * expression Left operand. Right operand. Expression object which represents value * expression Operator overload for the '-' operator to produce an Expression which represents expression - expression Left operand. Right operand. Expression object which represents value - expression Operator overload for the '/' operator to produce an Expression which represents expression / expression Left operand. Right operand. Expression object which represents value / expression Interprets the implementing expression class on the passed in entity. The entity. returns the value the expression resolves to for the entity passed in The list of parameters created when the Expression was translated to text usable in a query. Only valid after a succesful call to ToQueryText Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Gets the left expression operand. Set by the constructor used. Gets the right expression operand. Set by the constructor used. Can be null Gets the operator of the expression. Not valid (ExOp.None) if RightOperand is null. Set by the constructor used. ExpressionElement class, definition for elements contained in an expression. CTor CTor type of the contents contained in this element the contents of this element Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression element instance The reader. Deserializes the contents from XML. localReader is positioned on Contents. The reader. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression element instance The reader. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. The type of the element The contents of the element The contents of the element ExpressionFieldElement class, definition for field elements contained in an expression CTor CTor type of the contents contained in this element the contents of this element the persistence info for the field. The persistence info for the field contained in the field. Class which implements a scalar query which is usable inside an expression. This expression assumes the query formulated will result in a single value. If that's not the case, use the overload of the CTor which accepts a value for forceRowLimit or set its ForceRowLimit property to true (default: false). If forceRowLimit is set to true, a TOP 1 clause will be emitted into the query to force the query to result into a single value. Normally you don't need to do this as a scalar query has to be formulated as a single value anyway. Initializes a new instance of the class. For deserialization purposes. Initializes a new instance of the class. The select field. Initializes a new instance of the class. The select field. The filter to use. The relations to use. Initializes a new instance of the class. The select field. The filter to use. The relations to use. If set to true, it will force a TOP 1 clause to be emitted into the SQL (or equivalent if the db doesn't support TOP) Initializes a new instance of the class. The select field. The filter to use. The sorter to use. Initializes a new instance of the class. The select field. The filter to use. Initializes a new instance of the class. The select field. The filter to use. The relations to use. The sorter to use. Initializes a new instance of the class. The select field. The filter to use. The relations to use. The sorter to use. The group by clause. Initializes a new instance of the class. The select field. The filter to use. The relations to use. The sorter to use. The group by clause. If set to true, it will force a TOP 1 clause to be emitted into the SQL (or equivalent if the db doesn't support TOP) Retrieves a ready to use text representation of the scalar query The contained function call in textual format. When IScalarQueryExpression.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the scalar query if set to true, it will allow aggregate functions to be applied to fields. The contained function call in textual format. When IScalarQueryExpression.DatabaseSpecificCreator is not set to a valid value. Inits the class. The select field. The select field persistence info. The filter to use. The relations to use. The sorter to use. The group by clause. if set to true [force row limit]. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression instance The reader. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression instance The reader. Retrieves a ready to use text representation of the contained expression. The contained expression in textual format. When IExpression.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the scalar query if set to true, it will allow aggregate functions to be applied to fields. The contained function call in textual format. When IScalarQueryExpression.DatabaseSpecificCreator is not set to a valid value. The list of parameters created when the Expression was translated to text usable in a query. Only valid after a succesful call to ToQueryText Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Gets the left expression operand. Set by the constructor used. Gets the right expression operand. Set by the constructor used. Can be null Gets the operator of the expression. Not valid (ExOp.None) if RightOperand is null. Set by the constructor used. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. Gets / sets ForceRowLimit. If set to true (default: false), it will force a TOP 1 clause to be emitted into the SQL (or equivalent if the db doesn't support TOP) Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. The list of parameters created when the ScalarQueryExpression was translated to text usable in a query. Only valid after a succesful call to ToQueryText Gets / sets selectFieldPersistenceInfo Gets / sets filterToUse Gets / sets relationsToUse Gets / sets sorterToUse Gets / sets selectField Gets / sets groupByClause Simple visitor which checks whether the visited expression is cachable or not. An expression isn't cachable if the expression contains constant expressions which reference an object as that can be a displayclass (stackframe). Initializes a new instance of the class. Visits the constant expression. The expression to visit. the visited expression Gets a value indicating whether the visited expression is cacheable or not. Simple key creator which tries to create a unique key for the expression tree handled. This key generator can't deal with custom expression classes, so it's only useful if it's used with expressions which contain non-custom expressions. CTor The local acceptable closure is an object which is an instance but as it's cached we allow it to be used every time. This is a special case variable and is used for passing a parameter that's re-used in the lambdas Creates a key from the passed in expression, using a cached string builder. empty string if a local closure was seen or expression is null, otherwise the unique key for this expression Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's LinqExpression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The expression. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The source. Appends the expression fragment build from the expression specified to the string builder specified. To append to. The source. Handles the unary expression. The expression to handle. the handled unary expression Handles the binary expression. The expression to handle. the handled binary expression Handles the type binary expression. The expression to handle. the handled expression Handles the constant expression. The expression to handle. the handled expression Handles the parameter expression. The expression to handle. the handled expression Handles the member expression. The expression to handle. the handled expression Handles the method call expression. The expression to handle. the handled expression Handles the lambda expression. The expression to handle. the handled lambda expression Handles the NewExpression expression The expression to handle. the handled expression Handles the member binding. The binding to handle. the handled binding~ Handles the element initializer. The initializer to handle. the handled initializer Generic class for the expression visitors. This class visits the expressions, and doesn't 'handle' them, i.e. it doesn't reconstruct objects again, it simply traverses the expression tree elements. All methods return the element visited without changes, unless overriden methods in subtypes change elements, which isn't recommended: in that case derive from GenericExpressionHandler. Code based on Matt Warren's example: http://blogs.msdn.com/mattwar/archive/2010/07/31/linq-building-an-iqueryable-provider-part-ii.aspx Initializes a new instance of the class. Visits the expression. The expression to visit. the result expression after the expression has been visited. Visits the member binding. The binding to visit. the visited binding Visits the element initializer. The initializer to visit. the visited initializer Visits the unary expression. The expression to visit. the visited unary expression Visits the binary expression. The expression to visit. the visited binary expression Visits the type binary expression. The expression to visit. the visited expression Visits the constant expression. The expression to visit. the visited expression Visits the conditional expression. The expression to visit. The visited expression Visits the parameter expression. The expression to visit. the visited expression Visits the member expression. The expression to visit. the visited expression Visits the method call expression. The expression to visit. the visited expression Visits the expression list. The list to visit. The visited expression list Visits the member assignment. The assignment to visit. the visited assignment. Visits the member member binding. The binding to visit. the visited binding Visits the member list binding. The binding to visit. the visited binding Visits the member binding list. The list to visit. Visits the element initializer list. The list to visit. the visited list Visits the lambda expression. The expression to visit. the visited lambda expression Visits the NewExpression expression The expression to visit. the visited expression Visits the member init expression. The expression to visit. the visited expression Visits the list init expression. The expression to visit. the visited expression Visits the new array expression. The expression to visit. the visited expression Visits the invocation expression. The expression to visit. expressionToHandle Cache class which ensures that only one instance of an entity factory is created/stored during serialization Gets the entity factory for the specified entity from the cache The entity. Gets the unique entity factory instance for the entity factory passed in to use for serialization. The factory. Gets the entity factory instance to use for the type passed in. Type of the factory. The de-serializer class which takes care of the fast deserialization of data serialized with the FastSerializer class when SerializationHelper.Optimization is set to 'Fast' Initializes a new instance of the class. Initializes a new instance of the class. The reader to use. Deserializes the specified serialized data. The serialized data. The root. Deserializes the specified unit of work. The unit of work. Deserializes the specified collection. The collection. Deserializes the specified entity. The entity. Deserializes the specified typed list. The typed list. Deserializes the specified typed view. The typed view. Reads the collection from the set reader The collection. The serialization flags. Reads the unreferenced entity from the set reader. The entity. Reads the unreferenced entity from the set reader. The entity. The serialization flags. Reads the entity member collections from the set reader. The entity. Reads the unit of work elements and will rebuild the unitofwork passed in with the data read The uow to rebuild. true if the elements to read are save elements, false for delete elements Reads the unit of work collection elements and will rebuild the unitofwork passed in with the data read The uow to rebuild. true if the elements to read are save elements, false for delete elements Reads the referenced entities from the set reader. The root entity. Reads the referenced entity info from the set reader. The entity. Reads the one way relation info. The entity. The serializer class which takes care of the fast serialization when SerializationHelper.Optimization is set to 'Fast' Initializes a new instance of the class. Initializes a new instance of the class. The writer to use. Serializes the specified root. The root. the writer used. Serializes the specified unit of work. The unit of work. Serializes the specified collection. The collection. Writes the collection to the writer. The collection. The serialization flags. Serializes the specified entity. The entity. Serializes the specified typed list. The typed list. Serializes the specified typed view. The typed view. Writes the unreferenced entity to the writer. The entity. Writes the unreferenced entity to the writer. The entity. The serialization flags. Writes the referenced entities to the writer The root. Writes the unit of work collection elements. The elements. Writes the unit of work elements. The elements. Writes the entity member collections to the writer The entity. Writes the referenced entity info to the writer The entity. Writes the one way relation info. The entity. Class to act as a surrogate for the fast serializer. Constructs a new instance of the same type as the object passed in, using the default constructor. The obj. Populates the provided with the data needed to serialize the object. The object to serialize. The to populate with data. The destination (see ) for this serialization. The caller does not have the required permission. Populates the object using the information in the . The object to populate. The information to populate the object. The source from which the object is deserialized. The surrogate selector where the search for a compatible surrogate begins. The populated deserialized object. The caller does not have the required permission. Class to select the proper surrogate for the fast serializer Chains the selector. The next selector. Returns the next surrogate selector in the chain. The next surrogate selector in the chain or null. The caller does not have the required permission. Finds the surrogate that represents the specified object's type, starting with the specified surrogate selector for the specified serialization context. The of object (class) that needs a surrogate. The source or destination context for the current serialization. When this method returns, contains a that holds a reference to the surrogate selector where the appropriate surrogate was found. This parameter is passed uninitialized. The appropriate surrogate for the given type in the given context. The caller does not have the required permission. Class which is used to store maps to referenced entities to be able to serialize an entity which is referenced multiple times only once. Comparer used for checking entity equality based on references, not contents. This is necessary as entities override Equals. Initializes a new instance of the class. Initializes a new instance of the class. The root. Gets the referenced entities. Gets the entities seen Adds the specified root. The root. Processes the queues. Adds the entity. The entity. Gets the # of referenced entities Gets the seen entity count. Gets the # of referenced entities which have already an ObjectID set Gets the # of referenced entities which don't have an ObjectID set yet Gets the # of seen entities which have already an ObjectID set Gets the # of seen entities which have already an ObjectID set Helper class containing: - The default serialization to use. - Some string constants used as names in SerializationInfo - Some shared routines used for fast serialization to save duplication Set this field to the serialization optimization you want to use, application wide. Default: None (use the regular binary formatter serialization / deserialization). Setting for the compressor to use on the serialized bytestream. Default: none. Flag to signal if ObjectID's should be serialized into the output or not. Default: true. Setting this to false will result in smaller datablocks. However if you use a context on the server/client or otherwise need to have the entity objects look like the same object when a roundtrip occurs to server/client, you have to keep this flag set to 'false', otherwise every time the entity object is deserialized it will get a new ObjectID. Name under which the data is stored in the info block. Serializes the entity fields passed in. The writer. The fields. flag if the fields passed in are dirty. Deserializes the entity fields data passed in into the fields object passed in. The reader. The fields. Flag to signal if the field data contains dirty field(s) Flag to signal if the entity is new Serializes the simple read only table data, which are stored in datatables (which are the base class for typedlists/views) The writer. The table. Deserializes the simple read only table data into the datatable passed in. The reader. The table. Gets the serialized bytes. The info. The serialized bytes Puts the serialized bytes into the SerializationInfo block, under the SerializationHelper.SerializationKey key. The info. The writer. Serializes the specified entity collection. The entity collection. The info. The context. Deserializes the specified entity collection. The entity collection. The info. The context. Serializes the specified entity. The entity. The info. The context. Deserializes the specified entity. The entity. The info. The context. Serializes the specified typed view. The typed view. The info. The context. Deserializes the specified typed view. The typed view. The info. The context. Serializes the specified typed list. The typed list. The info. The context. Deserializes the specified typed list. The typed list. The info. The context. Serializes the specified unit of work. The unit of work. The info. The context. Deserializes the specified unit of work. The unit of work. The info. The context. A SerializationReader instance is used to read stored values and objects from a byte array. Once an instance is created, use the various methods to read the required data. The data read MUST be exactly the same type and in the same order as it was written. Dumps the string tables. The list. Creates a SerializationReader using a byte[] previous created by SerializationWriter A MemoryStream is used to access the data without making a copy of it. The byte[] containining serialized data. Creates a SerializationReader based on the passed Stream. The stream containing the serialized data Initializes a new instance of the class. The stream. if set to true [use token table presize info]. Creates a SerializationReader based around the passed Stream. Allows the string and object token tables to be presized using the specified values. The stream containing the serialized data Number of string tokens to presize Number of object tokens to presize Returns an ArrayList or null from the stream. An ArrayList instance. Returns a BitArray or null from the stream. A BitArray instance. Returns a BitVector32 value from the stream. A BitVector32 value. Reads the specified number of bytes directly from the stream. The number of bytes to read A byte[] containing the read bytes Returns a DateTime value from the stream. A DateTime value. Returns a Guid value from the stream. A DateTime value. Returns an object based on the SerializedType read next from the stream. An object instance. Called ReadOptimizedString(). This override to hide base BinaryReader.ReadString(). A string value. Returns a string value from the stream. A string value. Returns a TimeSpan value from the stream. A TimeSpan value. Returns a Type or null from the stream. Throws an exception if the Type cannot be found. A Type instance. Returns a Type or null from the stream. Throws an exception if the Type cannot be found and throwOnError is true. A Type instance. Returns an ArrayList from the stream that was stored optimized. An ArrayList instance. Returns a BitArray from the stream that was stored optimized. A BitArray instance. Returns a BitVector32 value from the stream that was stored optimized. A BitVector32 value. Returns a DateTime value from the stream that was stored optimized. A DateTime value. Returns a Decimal value from the stream that was stored optimized. A Decimal value. Returns an Int32 value from the stream that was stored optimized. An Int32 value. Returns an Int16 value from the stream that was stored optimized. An Int16 value. Returns an Int64 value from the stream that was stored optimized. An Int64 value. Returns an object[] from the stream that was stored optimized. An object[] instance. Returns an object[] from the stream that was stored optimized. The returned array will be typed according to the specified element type and the resulting array can be cast to the expected type. e.g. string[] myStrings = (string[]) reader.ReadOptimizedObjectArray(typeof(string)); An exception will be thrown if any of the deserialized values cannot be cast to the specified elementType. The Type of the expected array elements. null will return a plain object[]. An object[] instance. Returns a pair of object[] arrays from the stream that were stored optimized. A pair of object[] arrays. Returns a string value from the stream that was stored optimized. A string value. Returns a TimeSpan value from the stream that was stored optimized. A TimeSpan value. Returns a Type from the stream. Throws an exception if the Type cannot be found. A Type instance. Returns a Type from the stream. Throws an exception if the Type cannot be found and throwOnError is true. A Type instance. Returns a UInt16 value from the stream that was stored optimized. A UInt16 value. Returns a UInt32 value from the stream that was stored optimized. A UInt32 value. Returns a UInt64 value from the stream that was stored optimized. A UInt64 value. Returns a typed array from the stream. A typed array. Returns a new, simple generic dictionary populated with keys and values from the stream. The key Type. The value Type. A new, simple, populated generic Dictionary. Populates a pre-existing generic dictionary with keys and values from the stream. This allows a generic dictionary to be created without using the default constructor. The key Type. The value Type. Returns a generic List populated with values from the stream. The list Type. A new generic List. Returns a Nullable struct from the stream. The value returned must be cast to the correct Nullable type. Synonym for ReadObject(); A struct value or null Returns a Nullable Boolean from the stream. A Nullable Boolean. Returns a Nullable Byte from the stream. A Nullable Byte. Returns a Nullable Char from the stream. A Nullable Char. Returns a Nullable DateTime from the stream. A Nullable DateTime. Returns a Nullable Decimal from the stream. A Nullable Decimal. Returns a Nullable Double from the stream. A Nullable Double. Returns a Nullable Guid from the stream. A Nullable Guid. Returns a Nullable Int16 from the stream. A Nullable Int16. Returns a Nullable Int32 from the stream. A Nullable Int32. Returns a Nullable Int64 from the stream. A Nullable Int64. Returns a Nullable SByte from the stream. A Nullable SByte. Returns a Nullable Single from the stream. A Nullable Single. Returns a Nullable TimeSpan from the stream. A Nullable TimeSpan. Returns a Nullable UInt16 from the stream. A Nullable UInt16. Returns a Nullable UInt32 from the stream. A Nullable UInt32. Returns a Nullable UInt64 from the stream. A Nullable UInt64. Returns a Byte[] from the stream. A Byte instance; or null. Returns a Char[] from the stream. A Char[] value; or null. Returns a Double[] from the stream. A Double[] instance; or null. Returns a Guid[] from the stream. A Guid[] instance; or null. Returns an Int16[] from the stream. An Int16[] instance; or null. Returns an object[] or null from the stream. A DateTime value. Returns an object[] or null from the stream. The returned array will be typed according to the specified element type and the resulting array can be cast to the expected type. e.g. string[] myStrings = (string[]) reader.ReadObjectArray(typeof(string)); An exception will be thrown if any of the deserialized values cannot be cast to the specified elementType. The Type of the expected array elements. null will return a plain object[]. An object[] instance. Returns a Single[] from the stream. A Single[] instance; or null. Returns an SByte[] from the stream. An SByte[] instance; or null. Returns a string[] or null from the stream. An string[] instance. Returns a UInt16[] from the stream. A UInt16[] instance; or null. Returns a Boolean[] from the stream. A Boolean[] instance; or null. Returns a DateTime[] from the stream. A DateTime[] instance; or null. Returns a Decimal[] from the stream. A Decimal[] instance; or null. Returns an Int32[] from the stream. An Int32[] instance; or null. Returns an Int64[] from the stream. An Int64[] instance; or null. Returns a string[] from the stream that was stored optimized. An string[] instance. Returns a TimeSpan[] from the stream. A TimeSpan[] instance; or null. Returns a UInt[] from the stream. A UInt[] instance; or null. Returns a UInt64[] from the stream. A UInt64[] instance; or null. Returns a Boolean[] from the stream. A Boolean[] instance; or null. Returns a DateTime[] from the stream. A DateTime[] instance; or null. Returns a Decimal[] from the stream. A Decimal[] instance; or null. Returns a Int16[] from the stream. An Int16[] instance; or null. Returns a Int32[] from the stream. An Int32[] instance; or null. Returns a Int64[] from the stream. A Int64[] instance; or null. Returns a TimeSpan[] from the stream. A TimeSpan[] instance; or null. Returns a UInt16[] from the stream. A UInt16[] instance; or null. Returns a UInt32[] from the stream. A UInt32[] instance; or null. Returns a UInt64[] from the stream. A UInt64[] instance; or null. Allows an existing object, implementing IOwnedDataSerializable, to retrieve its owned data from the stream. Any IOwnedDataSerializable object. An optional, arbitrary object to allow context to be provided. Returns the object associated with the object token read next from the stream. An object. Initializes the token tables. The string token table presize. The object token table presize. Returns a TimeSpan decoded from packed data. This routine is called from ReadOptimizedDateTime() and ReadOptimizedTimeSpan(). This routine uses a parameter to allow ReadOptimizedDateTime() to 'peek' at the next byte and extract the DateTimeKind from bits one and two (IsNegative and HasDays) which are never set for a Time portion of a DateTime. The first of two always-present bytes. A decoded TimeSpan Creates a BitArray representing which elements of a typed array are serializable. The type of typed array. A BitArray denoting which elements are serializable. Returns an object based on supplied SerializedType. An object instance. Determine whether the passed-in type code refers to an array type and deserializes the array if it is. Returns null if not an array type. The SerializedType to check. The Type of array element; null if to be read from stream. Returns the string value associated with the string token read next from the stream. A DateTime value. Returns the SerializedType read next from the stream. A SerializedType value. Internal implementation returning a Bool[]. A Bool[]. Internal implementation returning a Byte[]. A Byte[]. Internal implementation returning a Char[]. A Char[]. Internal implementation returning a Decimal[]. A Decimal[]. Internal implementation returning a Double[]. A Double[]. Internal implementation returning a Guid[]. A Guid[]. Internal implementation returning an SByte[]. An SByte[]. Internal implementation returning a Single[]. A Single[]. Returns the number of bytes or serialized remaining to be processed. Useful for checking that deserialization is complete. Warning: Retrieving the Position in certain stream types can be expensive, e.g. a FileStream, so use sparingly unless known to be a MemoryStream. Small class which helps with versioning in binary normal serialization code. It allows swallowing of exceptions which occur when incompatible binary data is deserialized with newer code which expects members to be there. Will try to read the value for the field named as the name specified in fieldName. If the field doesn't exist, an empty string is returned. info structure which values. name of field to read. Must be string field the value read from info, otherwise an empty string Will try to read the value for the field named as the name specified in fieldName. If the field doesn't exist, an empty string is returned. info structure which values. name of field to read. Must be string field the default value to return, if the value to deserialize isn't found the value read from info, otherwise an empty string Will try to read the value for the field named as the name specified in fieldName. If the field doesn't exist, false is returned. info structure which values. name of field to read. Must be boolean field the value read from info, otherwise false Will try to read the value for the field named as the name specified in fieldName. If the field doesn't exist, 0 is returned. info structure which values. name of field to read. Must be boolean field the value read from info, otherwise false Will try to read the value for the field named as the name specified in fieldName. If the field doesn't exist, 0 is returned. info structure which values. name of field to read. Must be boolean field the value to return if the value to deserialize isn't found the value read from info, otherwise false Will try to read the value for the field named as the name specified in fieldName. If the field doesn't exist, null is returned. info structure which values. name of field to read. Must be boolean field type of the value to read the value read from info, otherwise false Class which defines the writer for serialized data using the fast serialization optimization. A SerializationWriter instance is used to store values and objects in a byte array.

Once an instance is created, use the various methods to store the required data. ToArray() will return a byte[] containing all of the data required for deserialization. This can be stored in the SerializationInfo parameter in an ISerializable.GetObjectData() method. As an alternative to ToArray(), if you want to apply some post-processing to the serialized bytes, such as compression, call AppendTokenTables first to ensure that the string and object token tables are appended to the stream, and then cast BaseStream to MemoryStream. You can then access the MemoryStream's internal buffer as follows: writer.AppendTokenTables(); MemoryStream stream = (MemoryStream) writer.BaseStream; serializedData = MyCompressor.Compress(stream.GetBuffer(), (int)stream.Length);
Default capacity for the underlying MemoryStream The Default setting for the OptimizeForSize property. The Default setting for the PreserveDecimalScale property. Holds a list of optional IFastSerializationTypeSurrogate instances which SerializationWriter and SerializationReader will use to serialize objects not directly supported. It is important to use the same list on both client and server ends to ensure that the same surrogated-types are supported. Section masks used for packing DateTime values Section masks used for packing TimeSpan values Holds the highest Int16 that can be optimized into less than the normal 2 bytes Holds the highest Int32 that can be optimized into less than the normal 4 bytes Holds the highest Int64 that can be optimized into less than the normal 8 bytes Dumps the type usage. Private class used to wrap an object that is to be tokenized, and recreated at deserialization by its type. Initializes a new instance of the class. The value. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Gets the type of the wrapped. The type of the wrapped. Provides a faster way to store string tokens both maintaining the order that they were added and providing a fast lookup. Based on code developed by ewbi at http://ewbi.blogs.com/develops/2010/10/uniquestringlis.html Initializes a new instance of the class. Expands this instance. Reindexes this instance. Gets the index of the bucket. The value. Gets the count. The count. Creates a FastSerializer with the Default Capacity (1kb) Creates a FastSerializer with the specified capacity Creates a FastSerializer around the specified stream Will store token table presize info if the stream is seekable Creates a FastSerializer around the specified stream Notes: If the stream is not seekable then the allowStoreTokenTablePresizeInfo parameter is ignored The stream in which to store data true if token table presize information can be stored; false otherwise Writes an ArrayList into the stream using the fewest number of bytes possible. Stored Size: 1 byte upwards depending on data content Notes: A null Arraylist takes 1 byte. An empty ArrayList takes 2 bytes. The contents are stored using WriteOptimized(ArrayList) which should be used if the ArrayList is guaranteed never to be null. The ArrayList to store. Writes a BitArray value into the stream using the fewest number of bytes possible. Stored Size: 1 byte upwards depending on data content Notes: A null BitArray takes 1 byte. An empty BitArray takes 2 bytes. The BitArray value to store. Writes a BitVector32 into the stream. Stored Size: 4 bytes. The BitVector32 to store. Writes a DateTime value into the stream. Stored Size: 8 bytes The DateTime value to store. Writes a Guid into the stream. Stored Size: 16 bytes. Allows any object implementing IOwnedDataSerializable to serialize itself into this SerializationWriter. A context may also be used to give the object an indication of what data to store. As an example, using a BitVector32 gives a list of flags and the object can conditionally store data depending on those flags. The IOwnedDataSerializable object to ask for owned data An arbtritrary object but BitVector32 recommended Stores an object into the stream using the fewest number of bytes possible. Stored Size: 1 byte upwards depending on type and/or content. 1 byte: null, DBNull.Value, Boolean 1 to 2 bytes: Int16, UInt16, Byte, SByte, Char, 1 to 4 bytes: Int32, UInt32, Single, BitVector32 1 to 8 bytes: DateTime, TimeSpan, Double, Int64, UInt64 1 or 16 bytes: Guid 1 plus content: string, object[], byte[], char[], BitArray, Type, ArrayList Any other object be stored using a .Net Binary formatter but this should only be allowed as a last resort: Since this is effectively a different serialization session, there is a possibility of the same shared object being serialized twice or, if the object has a reference directly or indirectly back to the parent object, there is a risk of looping which will throw an exception. The type of object is checked with the most common types being checked first. Each 'section' can be reordered to provide optimum speed but the check for null should always be first and the default serialization always last. Once the type is identified, a SerializedType byte is stored in the stream followed by the data for the object (certain types/values may not require storage of data as the SerializedType may imply the value). For certain objects, if the value is within a certain range then optimized storage may be used. If the value doesn't meet the required optimization criteria then the value is stored directly. The checks for optimization may be disabled by setting the OptimizeForSize property to false in which case the value is stored directly. This could result in a slightly larger stream but there will be a speed increate to compensate. The object to store. Calls WriteOptimized(string). This override to hide base BinaryWriter.Write(string). The string to store. Writes a TimeSpan value into the stream. Stored Size: 8 bytes The TimeSpan value to store. Stores a Type object into the stream. Stored Size: Depends on the length of the Type's name and whether the fullyQualified parameter is set. A null Type takes 1 byte. The Type to store. true to store the AssemblyQualifiedName or false to store the FullName. Writes an non-null ArrayList into the stream using the fewest number of bytes possible. Stored Size: 1 byte upwards depending on data content Notes: An empty ArrayList takes 1 byte. The ArrayList to store. Must not be null. Writes a BitArray into the stream using the fewest number of bytes possible. Stored Size: 1 byte upwards depending on data content Notes: An empty BitArray takes 1 byte. The BitArray value to store. Must not be null. Writes a BitVector32 into the stream using the fewest number of bytes possible. Stored Size: 1 to 4 bytes. (.Net is 4 bytes) 1 to 7 bits takes 1 byte 8 to 14 bits takes 2 bytes 15 to 21 bits takes 3 bytes 22 to 28 bits takes 4 bytes ------------------------------------------------------------------- 29 to 32 bits takes 5 bytes - use Write(BitVector32) method instead Try to order the BitVector32 masks so that the highest bits are least-likely to be set. The BitVector32 to store. Must not use more than 28 bits. Writes a DateTime value into the stream using the fewest number of bytes possible. Stored Size: 3 bytes to 7 bytes (.Net is 8 bytes) Notes: A DateTime containing only a date takes 3 bytes (except a .NET 2.0 Date with a specified DateTimeKind which will take a minimum of 5 bytes - no further optimization for this situation felt necessary since it is unlikely that a DateTimeKind would be specified without hh:mm also) Date plus hh:mm takes 5 bytes. Date plus hh:mm:ss takes 6 bytes. Date plus hh:mm:ss.fff takes 7 bytes. The DateTime value to store. Must not contain sub-millisecond data. Writes a Decimal value into the stream using the fewest number of bytes possible. Stored Size: 1 byte to 14 bytes (.Net is 16 bytes) Restrictions: None The Decimal value to store Write an Int16 value using the fewest number of bytes possible. 0x0000 - 0x007f (0 to 127) takes 1 byte 0x0080 - 0x03FF (128 to 16,383) takes 2 bytes ---------------------------------------------------------------- 0x0400 - 0x7FFF (16,384 to 32,767) takes 3 bytes All negative numbers take 3 bytes Only call this method if the value is known to be between 0 and 16,383 otherwise use Write(Int16 value) The Int16 to store. Must be between 0 and 16,383 inclusive. Write an Int32 value using the fewest number of bytes possible. 0x00000000 - 0x0000007f (0 to 127) takes 1 byte 0x00000080 - 0x000003FF (128 to 16,383) takes 2 bytes 0x00000400 - 0x001FFFFF (16,384 to 2,097,151) takes 3 bytes 0x00200000 - 0x0FFFFFFF (2,097,152 to 268,435,455) takes 4 bytes ---------------------------------------------------------------- 0x10000000 - 0x07FFFFFF (268,435,456 and above) takes 5 bytes All negative numbers take 5 bytes Only call this method if the value is known to be between 0 and 268,435,455 otherwise use Write(Int32 value) The Int32 to store. Must be between 0 and 268,435,455 inclusive. Write an Int64 value using the fewest number of bytes possible. 0x0000000000000000 - 0x000000000000007f (0 to 127) takes 1 byte 0x0000000000000080 - 0x00000000000003FF (128 to 16,383) takes 2 bytes 0x0000000000000400 - 0x00000000001FFFFF (16,384 to 2,097,151) takes 3 bytes 0x0000000000200000 - 0x000000000FFFFFFF (2,097,152 to 268,435,455) takes 4 bytes 0x0000000010000000 - 0x00000007FFFFFFFF (268,435,456 to 34,359,738,367) takes 5 bytes 0x0000000800000000 - 0x000003FFFFFFFFFF (34,359,738,368 to 4,398,046,511,103) takes 6 bytes 0x0000040000000000 - 0x0001FFFFFFFFFFFF (4,398,046,511,104 to 562,949,953,421,311) takes 7 bytes 0x0002000000000000 - 0x00FFFFFFFFFFFFFF (562,949,953,421,312 to 72,057,594,037,927,935) takes 8 bytes ------------------------------------------------------------------ 0x0100000000000000 - 0x7FFFFFFFFFFFFFFF (72,057,594,037,927,936 to 9,223,372,036,854,775,807) takes 9 bytes 0x7FFFFFFFFFFFFFFF - 0xFFFFFFFFFFFFFFFF (9,223,372,036,854,775,807 and above) takes 10 bytes All negative numbers take 10 bytes Only call this method if the value is known to be between 0 and 72,057,594,037,927,935 otherwise use Write(Int64 value) The Int64 to store. Must be between 0 and 72,057,594,037,927,935 inclusive. Writes a string value into the stream using the fewest number of bytes possible. Stored Size: 1 byte upwards depending on string length Notes: Encodes null, Empty, 'Y', 'N', ' ' values as a single byte Any other single char string is stored as two bytes All other strings are stored in a string token list: The TypeCode representing the current string token list is written first (1 byte), followed by the string token itself (1-4 bytes) When the current string list has reached 128 values then a new string list is generated and that is used for generating future string tokens. This continues until the maximum number (128) of string lists is in use, after which the string lists are used in a round-robin fashion. By doing this, more lists are created with fewer items which allows a smaller token size to be used for more strings. The first 16,384 strings will use a 1 byte token. The next 2,097,152 strings will use a 2 byte token. (This should suffice for most uses!) The next 268,435,456 strings will use a 3 byte token. (My, that is a lot!!) The next 34,359,738,368 strings will use a 4 byte token. (only shown for completeness!!!) The string to store. Writes a TimeSpan value into the stream using the fewest number of bytes possible. Stored Size: 2 bytes to 8 bytes (.Net is 8 bytes) Notes: hh:mm (time) are always stored together and take 2 bytes. If seconds are present then 3 bytes unless (time) is not present in which case 2 bytes since the seconds are stored in the minutes position. If milliseconds are present then 4 bytes. In addition, if days are present they will add 1 to 4 bytes to the above. The TimeSpan value to store. Must not contain sub-millisecond data. Stores a non-null Type object into the stream. Stored Size: Depends on the length of the Type's name. If the type is a System type (mscorlib) then it is stored without assembly name information, otherwise the Type's AssemblyQualifiedName is used. The Type to store. Must not be null. Write a UInt16 value using the fewest number of bytes possible. 0x0000 - 0x007f (0 to 127) takes 1 byte 0x0080 - 0x03FF (128 to 16,383) takes 2 bytes ---------------------------------------------------------------- 0x0400 - 0xFFFF (16,384 to 65,536) takes 3 bytes Only call this method if the value is known to be between 0 and 16,383 otherwise use Write(UInt16 value) The UInt16 to store. Must be between 0 and 16,383 inclusive. Write a UInt32 value using the fewest number of bytes possible. 0x00000000 - 0x0000007f (0 to 127) takes 1 byte 0x00000080 - 0x000003FF (128 to 16,383) takes 2 bytes 0x00000400 - 0x001FFFFF (16,384 to 2,097,151) takes 3 bytes 0x00200000 - 0x0FFFFFFF (2,097,152 to 268,435,455) takes 4 bytes ---------------------------------------------------------------- 0x10000000 - 0xFFFFFFFF (268,435,456 and above) takes 5 bytes Only call this method if the value is known to be between 0 and 268,435,455 otherwise use Write(UInt32 value) The UInt32 to store. Must be between 0 and 268,435,455 inclusive. Write a UInt64 value using the fewest number of bytes possible. 0x0000000000000000 - 0x000000000000007f (0 to 127) takes 1 byte 0x0000000000000080 - 0x00000000000003FF (128 to 16,383) takes 2 bytes 0x0000000000000400 - 0x00000000001FFFFF (16,384 to 2,097,151) takes 3 bytes 0x0000000000200000 - 0x000000000FFFFFFF (2,097,152 to 268,435,455) takes 4 bytes 0x0000000010000000 - 0x00000007FFFFFFFF (268,435,456 to 34,359,738,367) takes 5 bytes 0x0000000800000000 - 0x000003FFFFFFFFFF (34,359,738,368 to 4,398,046,511,103) takes 6 bytes 0x0000040000000000 - 0x0001FFFFFFFFFFFF (4,398,046,511,104 to 562,949,953,421,311) takes 7 bytes 0x0002000000000000 - 0x00FFFFFFFFFFFFFF (562,949,953,421,312 to 72,057,594,037,927,935) takes 8 bytes ------------------------------------------------------------------ 0x0100000000000000 - 0x7FFFFFFFFFFFFFFF (72,057,594,037,927,936 to 9,223,372,036,854,775,807) takes 9 bytes 0x7FFFFFFFFFFFFFFF - 0xFFFFFFFFFFFFFFFF (9,223,372,036,854,775,807 and above) takes 10 bytes Only call this method if the value is known to be between 0 and 72,057,594,037,927,935 otherwise use Write(UInt64 value) The UInt64 to store. Must be between 0 and 72,057,594,037,927,935 inclusive. Writes a Boolean[] into the stream. Notes: A null or empty array will take 1 byte. Calls WriteOptimized(Boolean[]). The Boolean[] to store. Writes a Byte[] into the stream. Notes: A null or empty array will take 1 byte. The Byte[] to store. Writes a Char[] into the stream. Notes: A null or empty array will take 1 byte. The Char[] to store. Writes a DateTime[] into the stream. Notes: A null or empty array will take 1 byte. The DateTime[] to store. Writes a Decimal[] into the stream. Notes: A null or empty array will take 1 byte. Calls WriteOptimized(Decimal[]). The Decimal[] to store. Writes a Double[] into the stream. Notes: A null or empty array will take 1 byte. The Double[] to store. Writes a Single[] into the stream. Notes: A null or empty array will take 1 byte. The Single[] to store. Writes a Guid[] into the stream. Notes: A null or empty array will take 1 byte. The Guid[] to store. Writes an Int32[] into the stream. Notes: A null or empty array will take 1 byte. The Int32[] to store. Writes an Int64[] into the stream. Notes: A null or empty array will take 1 byte. The Int64[] to store. Writes an object[] into the stream. Stored Size: 2 bytes upwards depending on data content Notes: A null object[] takes 1 byte. An empty object[] takes 2 bytes. The contents of the array will be stored optimized. The object[] to store. Writes an SByte[] into the stream. Notes: A null or empty array will take 1 byte. The SByte[] to store. Writes an Int16[]or a null into the stream. Notes: A null or empty array will take 1 byte. Calls WriteOptimized(decimal[]). The Int16[] to store. Writes a TimeSpan[] into the stream. Notes: A null or empty array will take 1 byte. The TimeSpan[] to store. Writes a UInt32[] into the stream. Notes: A null or empty array will take 1 byte. The UInt32[] to store. Writes a UInt64[] into the stream. Notes: A null or empty array will take 1 byte. The UInt64[] to store. Writes a UInt16[] into the stream. Notes: A null or empty array will take 1 byte. The UInt16[] to store. Writes an optimized Boolean[] into the stream using the fewest possible bytes. Notes: A null or empty array will take 1 byte. Stored as a BitArray. The Boolean[] to store. Writes a DateTime[] into the stream using the fewest possible bytes. Notes: A null or empty array will take 1 byte. The DateTime[] to store. Writes a Decimal[] into the stream using the fewest possible bytes. Notes: A null or empty array will take 1 byte. The Decimal[] to store. Writes a not-null object[] into the stream using the fewest number of bytes possible. Stored Size: 2 bytes upwards depending on data content Notes: An empty object[] takes 1 byte. The contents of the array will be stored optimized. The object[] to store. Must not be null. Writes a pair of object[] arrays into the stream using the fewest number of bytes possible. The arrays must not be null and must have the same length The first array's values are written optimized The second array's values are compared against the first and, where identical, will be stored using a single byte. Useful for storing entity data where there is a before-change and after-change set of value pairs and, typically, only a few of the values will have changed. The first object[] value which must not be null and must have the same length as values2 The second object[] value which must not be null and must have the same length as values1 Writes an Int16[] into the stream using the fewest possible bytes. Notes: A null or empty array will take 1 byte. The Int16[] to store. Writes an Int32[] into the stream using the fewest possible bytes. Notes: A null or empty array will take 1 byte. The Int32[] to store. Writes an Int64[] into the stream using the fewest possible bytes. Notes: A null or empty array will take 1 byte. The Int64[] to store. Writes a TimeSpan[] into the stream using the fewest possible bytes. Notes: A null or empty array will take 1 byte. The TimeSpan[] to store. Writes a UInt16[] into the stream using the fewest possible bytes. Notes: A null or empty array will take 1 byte. The UInt16[] to store. Writes a UInt32[] into the stream using the fewest possible bytes. Notes: A null or empty array will take 1 byte. The UInt32[] to store. Writes a UInt64[] into the stream using the fewest possible bytes. Notes: A null or empty array will take 1 byte. The UInt64[] to store. Writes a Nullable type into the stream. Synonym for WriteObject(). The Nullable value to store. Writes a non-null generic Dictionary into the stream. The key and value types themselves are not stored - they must be supplied at deserialization time. An array of keys is stored followed by an array of values. The key Type. The value Type. The generic dictionary. Writes a non-null generic List into the stream. The list type itself is not stored - it must be supplied at deserialization time. The list contents are stored as an array. The list Type. The generic List. Writes a null or a typed array into the stream. The array to store. Ensures that the size of the string and object token tables are appended to the stream and that their offset is written into the first 4 bytes of the stream. Does nothing if the stream is not seekable or the constructor specified not to store presize information. Notes: Called automatically by ToArray() otherwise must be called manually. 0 Returns a byte[] containing all of the serialized data where the underlying stream is a MemoryStream. Only call this method once all of the data has been serialized. A byte[] containing all serialized data. Writes a byte[] directly into the stream. The size of the array is not stored so only use this method when the number of bytes will be known at deserialization time. A null value will throw an exception The byte[] to store. Must not be null. Writes a non-null string directly to the stream without tokenization. The string to store. Must not be null. Writes a token (an Int32 taking 1 to 4 bytes) into the stream that represents the object instance. The same token will always be used for the same object instance. The object will be serialized once and recreated at deserialization time. Calls to SerializationReader.ReadTokenizedObject() will retrieve the same object instance. The object to tokenize. Must not be null and must not be a string. Writes a token (an Int32 taking 1 to 4 bytes) into the stream that represents the object instance. The same token will always be used for the same object instance. When recreateFromType is set to true, the object's Type will be stored and the object recreated using Activator.GetInstance with a parameterless contructor. This is useful for stateless, factory-type classes. When recreateFromType is set to false, the object will be serialized once and recreated at deserialization time. Calls to SerializationReader.ReadTokenizedObject() will retrieve the same object instance. The object to tokenize. Must not be null and must not be a string. true if the object can be recreated using a parameterless constructor; false if the object should be serialized as-is Finds the surrogate type for the type passed in. The type. Creates the binary formatter. Encodes a TimeSpan into the fewest number of bytes. Has been separated from the WriteOptimized(TimeSpan) method so that WriteOptimized(DateTime) can also use this for .NET 2.0 DateTimeKind information. By taking advantage of the fact that a DateTime's TimeOfDay portion will never use the IsNegative and HasDays flags, we can use these 2 bits to store the DateTimeKind and, since DateTimeKind is unlikely to be set without a Time, we need no additional bytes to support a .NET 2.0 DateTime. The TimeSpan to store. True if the TimeSpan is the TimeOfDay from a DateTime; False if a real TimeSpan. The intial data for the BitVector32 - contains DateTimeKind or 0 Checks whether an optimization condition has been met and throw an exception if not. This method has been made conditional on THROW_IF_NOT_OPTIMIZABLE being set at compile time. By default, this isn't set but could be set explicitly if exceptions are required and the evaluation overhead is acceptable. If not set, then this method and all references to it are removed at compile time. Leave at the default for optimum usage. An expression evaluating to true if the optimization condition is met, false otherwise. The message to include in the exception should the optimization condition not be met. Stores a 32-bit signed value into the stream using 7-bit encoding. The value is written 7 bits at a time (starting with the least-significant bits) until there are no more bits to write. The eighth bit of each byte stored is used to indicate whether there are more bytes following this one. See Write(Int32) for details of the values that are optimizable. The Int32 value to encode. Stores a 64-bit signed value into the stream using 7-bit encoding. The value is written 7 bits at a time (starting with the least-significant bits) until there are no more bits to write. The eighth bit of each byte stored is used to indicate whether there are more bytes following this one. See Write(Int64) for details of the values that are optimizable. The Int64 value to encode. Stores a 32-bit unsigned value into the stream using 7-bit encoding. The value is written 7 bits at a time (starting with the least-significant bits) until there are no more bits to write. The eighth bit of each byte stored is used to indicate whether there are more bytes following this one. See Write(UInt32) for details of the values that are optimizable. The UInt32 value to encode. Stores a 64-bit unsigned value into the stream using 7-bit encoding. The value is written 7 bits at a time (starting with the least-significant bits) until there are no more bits to write. The eighth bit of each byte stored is used to indicate whether there are more bytes following this one. See Write(ULong) for details of the values that are optimizable. The ULong value to encode. Internal implementation to store a non-null Boolean[]. Stored as a BitArray for optimization. The Boolean[] to store. Internal implementation to store a non-null Byte[]. The Byte[] to store. Internal implementation to store a non-null Char[]. The Char[] to store. Internal implementation to write a non, null DateTime[] using a BitArray to determine which elements are optimizable. The DateTime[] to store. A BitArray indicating which of the elements which are optimizable; a reference to constant FullyOptimizableValueArray if all the elements are optimizable; or null if none of the elements are optimizable. Internal implementation to store a non-null Decimal[]. All elements are stored optimized. The Decimal[] to store. Internal implementation to store a non-null Double[]. The Double[] to store. Internal implementation to store a non-null Single[]. The Single[] to store. Internal implementation to store a non-null Guid[]. The Guid[] to store. Internal implementation to write a non-null Int16[] using a BitArray to determine which elements are optimizable. The Int16[] to store. A BitArray indicating which of the elements which are optimizable; a reference to constant FullyOptimizableValueArray if all the elements are optimizable; or null if none of the elements are optimizable. Internal implementation to write a non-null Int32[] using a BitArray to determine which elements are optimizable. The Int32[] to store. A BitArray indicating which of the elements which are optimizable; a reference to constant FullyOptimizableValueArray if all the elements are optimizable; or null if none of the elements are optimizable. Internal implementation to writes a non-null Int64[] using a BitArray to determine which elements are optimizable. The Int64[] to store. A BitArray indicating which of the elements which are optimizable; a reference to constant FullyOptimizableValueArray if all the elements are optimizable; or null if none of the elements are optimizable. Internal implementation to store a non-null SByte[]. The SByte[] to store. Internal implementation to store a non-null Int16[]. The Int16[] to store. Internal implementation to write a non-null TimeSpan[] using a BitArray to determine which elements are optimizable. The TimeSpan[] to store. A BitArray indicating which of the elements which are optimizable; a reference to constant FullyOptimizableValueArray if all the elements are optimizable; or null if none of the elements are optimizable. Internal implementation to write a non-null UInt16[] using a BitArray to determine which elements are optimizable. The UInt16[] to store. A BitArray indicating which of the elements which are optimizable; a reference to constant FullyOptimizableValueArray if all the elements are optimizable; or null if none of the elements are optimizable. Internal implementation to write a non-null UInt32[] using a BitArray to determine which elements are optimizable. The UInt32[] to store. A BitArray indicating which of the elements which are optimizable; a reference to constant FullyOptimizableValueArray if all the elements are optimizable; or null if none of the elements are optimizable. Internal implementation to store a non-null UInt16[]. The UIn16[] to store. Internal implementation to write a non-null UInt64[] using a BitArray to determine which elements are optimizable. The UInt64[] to store. A BitArray indicating which of the elements which are optimizable; a reference to constant FullyOptimizableValueArray if all the elements are optimizable; or null if none of the elements are optimizable. Writes the values in the non-null object[] into the stream. Sequences of null values and sequences of DBNull.Values are stored with a flag and optimized count. Other values are stored using WriteObject(). This routine is called by the Write(object[]), WriteOptimized(object[]) and Write(object[], object[])) methods. Stores the specified SerializedType code into the stream. By using a centralized method, it is possible to collect statistics for the type of data being stored in DEBUG mode. Use the DumpTypeUsage() method to show a list of used SerializedTypes and the number of times each has been used. This method and the collection code will be optimized out when compiling in Release mode. The SerializedType to store. Internal implementation to write a non-null typed array into the stream. Checks first to see if the element type is a primitive type and calls the correct routine if so. Otherwise determines the best, optimized method to store the array contents. An array of object elements never stores its type. The non-null typed array to store. True if the type should be stored; false otherwise Checks whether instances of a Type can be created. A Value Type only needs to implement IOwnedDataSerializable. A Reference Type needs to implement IOwnedDataSerializableAndRecreatable and provide a default constructor. The Type to check true if the Type is recreatable; false otherwise. Checks whether a type has a default/empty constructor. The Type to check true if the Type has a default/empty constructor; false otherwise. Checks whether each element in an array is of the same type. The array to check The expected element type. Writes the TypeCode for the Typed Array followed by the number of elements. gets the list of optional IFastSerializationTypeSurrogate instances which SerializationWriter and SerializationReader will use to serialize objects not directly supported. It is important to use the same list on both client and server ends to ensure that the same surrogated-types are supported. Returns the number of strings in the string token table. Returns the number of objects in the object token table. Gets a boolean flag which indicates whether AppendTokenTables will store the presize information for the string and object token tables. Gets or Sets a boolean flag to indicate whether to optimize for size (default) by storing data as packed bits or sections where possible. Setting this value to false will turn off this optimization and store data directly which increases the speed. Note: This only affects optimization of data passed to the WriteObject method and direct calls to the WriteOptimized methods will always pack data into the smallest space where possible. Gets or Sets a boolean flag to indicate whether to preserve the scale within a Decimal value when it would have no effect on the represented value. Note: a 2m value and a 2.00m value represent the same value but internally they are stored differently - the former has a value of 2 and a scale of 0 and the latter has a value of 200 and a scale of 2. The scaling factor also preserves any trailing zeroes in a Decimal number. Trailing zeroes do not affect the value of a Decimal number in arithmetic or comparison operations. However, trailing zeroes can be revealed by the ToString method if an appropriate format string is applied. From a serialization point of view, the former will take 2 bytes whereas the latter would take 4 bytes, therefore it is preferable to not save the scale where it doesn't affect the represented value. Class which finds all derived table definitions in the object to traverse, e.g. a relation collection. Initializes a new instance of the class. Traverses the specified derived table The object to traverse. Resets the datastructures in this instance Gets the list of derived tables found. Class which is used to find all fields in query elements which target a derived table. These fields then can be post-processed to see if they have to be renamed because they're in an inheritance hierarchy. Initializes a new instance of the class. The known derived tables. If set to true, the routine which check if the alias of the field is present in the derived table if the fieldname itself isn't. Traverses the specified fields. The fields. The select list alias to use. If empty, the fields are expected to have their own objectalias property set Finds the fields which target a derived table. The object to traverse. Traverses the specified field and related objects. The field. Traverses the specified entity relation to traverse. The object to traverse. Traverses the specified field. The field. The object alias. Traverses the predicate field. The field as found in the predicate. The object alias set in the predicate for the field . Gets the fields found which target a derived table. Key is field, value is value if the field is present under its alias in the derived table under its name or not at all. Gets the derived table targeted per field. Class which crawls over a predicate, expression etc. and finds all containingentitynames and actualentitynames of the fields found. Initializes a new instance of the class. Initializes a new instance of the class. the flag to traverse the inner elements of a FieldCompareSetPredicate. (default is true). Set to false if you use the findings of this crawler to adjust an outer query, as the inner elements of a fieldcompareset are a different scope. Finds all containingObjectNames and ActualContainingObjectNames of all fields in the object passed in and enclosed fields in enclosed objects. The field. Traverses the specified expression The object to traverse. Traverses the specified predicate and enclosed objects. The object to traverse. Finds all containingObjectNames and ActualContainingObjectNames of all fields in the object passed in and enclosed fields in enclosed objects. The field. The object alias. Traverses the predicate field. The field as found in the predicate. The object alias set in the predicate for the field . Finds all containingObjectNames and ActualContainingObjectNames of all fields in the object passed in and enclosed fields in enclosed objects. The object to traverse. Gets the found containing object names and all the aliases they're stored under. Gets the found actual containing object names and all the aliases they're stored under. Gets or sets a value indicating whether correlation predicates should be ignored (true) or not (false, so they're traversed) Gets or sets a value indicating whether scalar query expressions have to be ignored (true) or not (false, so they're traversed) Class which crawls over a predicateexpression and finds all predicates of the given type. Initializes a new instance of the class. the flag to traverse the inner elements of a FieldCompareSetPredicate. (default is false). Keep this value to false if you use the findings of this crawler to adjust an outer query, as the inner elements of a fieldcompareset are a different scope. this ctor finds all predicates, regardless of type. Initializes a new instance of the class. The predicate type to find. the flag to traverse the inner elements of a FieldCompareSetPredicate. (default is false). Keep this value to false if you use the findings of this crawler to adjust an outer query, as the inner elements of a fieldcompareset are a different scope. Traverses the specified predicate and enclosed objects. The object to traverse. Gets the found predicates. Class which is used to traverse over an llblgen pro object, like a derivedtable, predicate expression etc. and access all inner objects, including fields. Initializes a new instance of the class. Traverses the specified object The object to traverse. Traverses the object specified and its contents. Traverses the specified object and its contents Traverses the specified object and its contents Traverses the specified derived table The object to traverse. Traverses the specified field and related objects. The field. Traverses the specified predicate and enclosed objects. The object to traverse. Traverses the predicate expression. The object to traverse. Traverses the predicate expression element specified The object to traverse. Traverses the predicate specified. The object to traverse. Traverses the predicate field. The field as found in the predicate. The object alias set in the predicate for the field . Traverses the specified relationcollection and the relations in it. The object to traverse. Traverses the specified entity relation to traverse. The object to traverse. Traverses the specified dynamic relation to traverse. The object to traverse. Traverses the specified expression The object to traverse. Traverses the specified expression operand. The operand to traverse. Traverses the specified scalar query expression and contained objects. The object to traverse. Traverses the specified dbfunction call and contained objects. The object to traverse. Traverses the specified sortexpression and contained objects. The object to traverse. Traverses the specified groupby collection and contained objects. The object to traverse. Gets / sets the flag to traverse the inner elements of a FieldCompareSetPredicate. (default is true). Set to false if you use the findings of this crawler to adjust an outer query, as the inner elements of a fieldcompareset are a different scope. Class which traverses a set of fields and their expressions and finds all fields which are actually mapped fields, so which have their ContainingObjectName set. These fields can then be used to be the containing field object for an expression instead of an empty expression field which doesn't have a mapping. This is necessary as llblgen pro doesn't have a 'source' definition, it determines that on the fly, which can go wrong if the projection has just expression fields and there are no relations specified. Initializes a new instance of the class. Traverses the specified field and related objects. The field. Gets the fields found. FieldInfoProvider class which is used by generated code to provide IFieldInfo objects and nametoindex dictionaries for EntityFields(2) objects. private class which is used to store mapping info of an element. Initializes a new instance of the class. Creates internal structures from the information added to this class. Gets the overriden field indices. The overriden field indices. Gets the pk field indices. The pk field indices. Gets the entity names of fields. Gets the element's field infos, stored by field name. Gets the indexes of the element field infos of this element. Gets the element field indexes. The element field indexes. Gets the field infos. The field infos. Gets the field info for the field specified with the field index. Index of the field. Creates an EntityField2 representing the field with the index specified Index of the field Gets the field info for the field passed in for the element passed in Name of the element. Name of the element field. Gets the field info for the field passed in for the element passed in Name of the element. Index of the element field. Gets the field infos for the element passed in. Name of the element. Gets the field indexes object for the element passed in. This is an object which is used by EntityFields(2) objects to quickly find a field based on the field name. Name of the element. Gets the entityfields2 object for the typedview with the name specified (e.g. "InvoicesTypedView") the name of the typed view Gets the entityfields object for the typedview with the name specified (e.g. "InvoicesTypedView") the name of the typed view Fills the entity fields object for the adapter entity with the name specified. The inheritance provider. The persistence info provider. Name of the entity. SelfServicing specific Fills the entity fields object for the adapter entity with the name specified. The inheritance provider. Name of the entity. Adapter specific Gets the entity fields array. Name of the entity. array of the fields which solely belong to the entity specified so no inherited fields are present. Adapter specific. Gets the entity fields array. Name of the entity. The persistence provider. Is null in adapter scenarios array of the fields which solely belong to the entity specified so no inherited fields are present. Adds the field index enum - element name pair The field index enum. Name of the element. Inits the class. Adds an element field info object for the element name.elementfieldname field. Name of the element. Name of the element field. Type of the data. if set to true [is primary key]. if set to true [is foreign key]. if set to true [is read only]. if set to true [is nullable]. Index of the field. Length of the max. The scale. The precision. Constructs the element field objects, which are used by EntityFields(2) object to find back an entity field based on the name and also for creating fields. This routine utilizes the inheritance info provider to understand the full fields list of an entity (if applicable). The inheritance info provider. Creates the static container which is the heart of the entity fields objects for entity instances. Name of the entity. The element fields. Processes the element fields for the element with the name elementName. This processing is necessary because entities in an inheritance hierarchy inherit fields from their supertype and these aren't in the fieldsinfo yet. This process routine makes sure that's done. The inheritance info provider. The names processed. Name of the element. the fieldsinfo for the element with elementName specified. Gets the element field infos for a given element. Name of the element. Implements the inheritance provider datastructure. Private class which contains the entity information for an entity added to the provider's store. CTor Name. Name of the super type. Relation factory. Entity factory. the number of distinguishing field indexes. If this is 0, no pk fields are distinguishing (root), otherwise they're the indexes of the pk fields of the subtype relative to the start of the subtype's fields, so we just pass the amount, as we can then create the list of indexes, starting with 0. TargetPerEntity specific constructor CTor Name. Name of the super type. Entity factory. Index of the discriminator column Discriminator column value which distinguishes this entity type. TargetPerEntityHierarchy specific constructor adds the name passed in as a subtype of this entity. Gets / sets discriminatorValueToTypeName. This hashtable is only set in entityinfo objects of root entities in TargetPerEntityHierarchy hierarchies. returns true if relationfactory is set, which is typical for TargetPerEntity hierarchies. Gets / sets discriminatorColumnIndex Gets / sets discriminatorColumnValue Gets / sets entityFactory Gets / sets distinguishingFieldIndexes Gets / sets name Gets / sets superTypeName Gets / sets relationFactory Gets / sets subTypeNames Gets if the entity has any subtypes. Gets a value indicating whether this instance has super type. Gets or sets the index of the entity. This is a unique number used internally in this provider. CTor Gets the list of entity names on hierarchy path. This routine will first obtain the list of entity names from the passed in inheritance info object. If the hierarchy is of type TargetPerEntityHierarchy, it will suffix each name with ';1'. If the inheritance hierarchy is TargetPerEntityHierarchy, it will suffix each name with ';2'. This suffix is then used in DbSpecificCreatorBase to produce the proper aliases: a different one for each Alias - Entity combination if the hierarchy type is TargetPerEntityHierarchy, and the same for each Alias - Entity combination if they're in the same hierarchy. The info. List of names, suffixed with the hierarchy type. Adds a new entity to the store. The supertype name is enough to build the complete hierarchy. name of the entity to add, e.g. "CustomerEntity" the name of the supertype of the passed in entity, e.g. "EmployeeEntity". the relation factory of the entity with name, to produce relations to supertype and subtype. Entity factory. the number of distinguishing field indexes. If this is 0, no pk fields are distinguishing (root), otherwise they're the indexes of the pk fields of the subtype relative to the start of the subtype's fields, so we just pass the amount, as we can then create the list of indexes, starting with 0. TargetPerEntity specific version Adds a new entity to the store. The supertype name is enough to build the complete hierarchy. name of the entity to add, e.g. "CustomerEntity" the name of the supertype of the passed in entity, e.g. "EmployeeEntity". Entity factory. Index of the discriminator column. Discriminator column value which distinguishes this entity TargetPerEntityHierarchy specific version Builds the hierarchy information from the added information though AddEntityInfo calls. Constructs the path from entity to root of the hierarchy the entity is in. It also constructs entity to hierarchy leafs Name of the entity. Determines if typeToCheck is a subtype of superType. Type to check. The super. true if typeToCheck is a subtype of supertype, false otherwise. Also returns false is supertype isn't in a hierarchy. Determines whether the entity with the name specified is in an inheritance hierarchy or not. Name of the entity, e.g. "CustomerEntity". true if the entity is in an inheritance hierarchy, false otherwise Gets an IInheritanceInfo object with the inheritance information for the entity with the supplied name. name of the entity, like "CustomerEntity". This name is used for retrieving the information from a thread safe hashtable Set to if the relations in have to start with the root and walk downwards to the entityName entity, or set to false if the relations have to start at the entityname and move upwards to the root. Ready to use IInheritanceInfo object if entityName is part of a hierarchy. If entityName isn't part of a hierarchy, null is returned. (not part of a hierarchy means: not a supertype nor a subtype This method returns all relations from the entityName to the root and from the entityName downwards to all the reachable leafs from entityName. All relations to the root are INNER JOIN, all relations from entityName to leafs are LEFT JOIN name of the current entity on the path of which the hierarchy has to be determined. Example: "CustomerEntity" The object alias to set on all elements in the relations. collection with relations if entityName was found, or null if not or if the entity is in a TargetPerEntityHierarchy. This routine uses no subroutines to avoid thread unsafety. This method returns all relations from the entityName to the root and from the entityName downwards to all the reachable leafs from entityName, if includePathsToReachableLeafs is set to true. All relations to the root are INNER JOIN, all relations from entityName to leafs are LEFT JOIN name of the current entity on the path of which the hierarchy has to be determined. Example: "CustomerEntity" The object alias to set on all elements in the relations. If set to true, it will include the relations for all paths to leafs below the entity passed in collection with relations if entityName was found, or null if not or if the entity is in a TargetPerEntityHierarchy. This routine uses no subroutines to avoid thread unsafety. This method returns all relations from the lowest entity found in the passed in entityNames to the root and from the lowest entityName downwards to all the reachable leafs from entityName. All relations to the root are INNER JOIN, all relations from the lowest entityName to leafs are LEFT JOIN. 1 or more names of entities on the same path of which the hierarchy has to be determined. Example of a name: "CustomerEntity" The object alias to specify on all elements in the relations. collection with relations if all entityNames were found, or null if not. This method is a wrapper around GetHierarchyRelations(name), to make finding the right collection more efficient. It finds the lowest entityname in the hierarchy and calls GetHierarchyRelations(name) with that name. It assumes the names are on the same path to the root. when not all entities specified in entityNames are on the same hierarchical path This method returns an array of IEntityFieldCore objects which contains all fields of all entities on the path: entityName upwards to the root and entityName downwards to all leafs reachable from entityName, including entityName. name of the current entity on the path of which the hierarchy fields has to be determined. Example: "CustomerEntity" Array of IEntityFieldCore objects, each element represents one field, or null if entityName isn't found. When fields are returned, their aliases are set from front to back as 'Fx' where x is the index in the array, starting with 0. This method is used to produce fields which are used for select query construction for inheritance entities. Gets the hierarchy field alias to use for targeting this field in an entity fetch. The alias is of the format FentityIndex_fieldIndex which is the same alias as for the fields returned by GetHierarchyFields. The field. field alias if the field is in a hierarchy entity, otherwise empty string. Gets the type of the hierarchy. Name of the entity. the type of the hierarchy of the entity name specified Retrieves the factory for the entity represented by the values passed in, or null if entityName isn't present. The values have to represent an entity of the type entityName or a subtype of that type. name of the entity, like 'CustomerEntity'. This is the name of the root of the hierarchy to consider. For example when fetching all managers, and manager derives from employee, this parameter is 'ManagerEntity', and only the manager type or its subtypes (direct or indirect) are considered. Field values read from the db, to determine which factory to return, based on the field values passed in. indexes into values where per entity type their own fields start. the factory for the entity which is represented by the values passed in. Gets the entity type filters for the entity names specified. It will use the object aliases specified for the entity names. It will filter out supertypes if the subtype is also in the list. Routine is used to add type filters to typedlists automatically. It will return null (so no type filters) if siblings are detected, i.e. a name is detected that's not in the hierarchy path of the deepest leaf. The entity names with per entity name (key) the object alias. PredicateExpression with per entity which needed a typefilter a predicate, added with AND Gets a predicateexpression which filters on the entity with type 'entityName'. Example of a valid name is 'CustomerEntity'. Name of the entity to filter on, like 'CustomerEntity' Flag to produce a NOT filter, (true), or a normal filter (false). ready to use predicateexpression, or an empty predicate expression if entityName's value isn't an entity which is a hierarchical type. Only useful in entity fetches. Gets a predicateexpression which filters on the entity with type 'entityName'. Example of a valid name is 'CustomerEntity'. Name of the entity to filter on, like 'CustomerEntity' The object alias to use for the filter. Flag to produce a NOT filter, (true), or a normal filter (false). ready to use predicateexpression, or an empty predicate expression if entityName's value isn't an entity which is a hierarchical type. Only useful in entity fetches. Gets all entity names in the provider. List with all entity names in the provider. Gets the entity names on hierarchy path, from this entity to the root starting with the root of the hierarchy and ending with the name specified as entityName. If entityName entity is a root entity, this collection contains one name: entityName. Name of the entity. Retrieves the factory for the entity represented by the values passed in, or null if entityName isn't present. The values have to represent an entity of the type entityName or a subtype of that type. name of the entity, like 'CustomerEntity'. This is the name of the root of the hierarchy to consider. For example when fetching all managers, and manager derives from employee, this parameter is 'ManagerEntity', and only the manager type or its subtypes (direct or indirect) are considered. Field values read from the db, to determine which factory to return, based on the field values passed in. indexes into values where per entity type their own fields start. the factory for the entity which is represented by the values passed in. Retrieves the factory for the entity represented by the values passed in, or null if entityName isn't present. The values have to represent an entity of the type entityName or a subtype of that type. name of the entity, like 'CustomerEntity'. As all entity types are in the same target, the routine considers all subtypes. Field values read from the db, to determine which factory to return, based on the field values passed in. the factory for the entity which is represented by the values passed in. Abstract base class for the InfoProvider generated class which contains both the field info provider and the inheritance info provider. CTor Creates a new relation object from the information specified. The type of relation. Name of the mapped field in the start entity onto this relation. Set to true if the start entity of the relation is the PK side of the relation. This is set in the generated code. This property is true in 1:n relations and in 1:1 relations where the start entity is the PK side and the end entity is thus the FK side. Required for determining which alias belongs to which entity. the fields forming the relation. Field at index 0 is related to field at index 1, field at index 2 is related to field at index 3 etc. Creates a new hierarchy relation using the fields specified. A hierarchy relation is a 1:1 relation used for inheritance information. Set to true if the start entity of the relation is the PK side of the relation. This is set in the generated code. This property is true in 1:n relations and in 1:1 relations where the start entity is the PK side and the end entity is thus the FK side. Required for determining which alias belongs to which entity. Initializes the class Adds the field index enum - element name pair The field index enum. Name of the element. Adds an element field info object for the element name.elementfieldname field. Name of the element. Name of the element field. Type of the data. if set to true [is primary key]. if set to true [is foreign key]. if set to true [is read only]. if set to true [is nullable]. Index of the field. Length of the max. The scale. The precision. Builds the internal datastructures from the information added to this object Adds a new entity to the store. The supertype name is enough to build the complete hierarchy. name of the entity to add, e.g. "CustomerEntity" the name of the supertype of the passed in entity, e.g. "EmployeeEntity". Entity factory. Index of the discriminator column. Discriminator column value which distinguishes this entity TargetPerEntityHierarchy specific version Adds a new entity to the store. The supertype name is enough to build the complete hierarchy. name of the entity to add, e.g. "CustomerEntity" the name of the supertype of the passed in entity, e.g. "EmployeeEntity". the relation factory of the entity with name, to produce relations to supertype and subtype. Entity factory. the number of distinguishing field indexes. If this is 0, no pk fields are distinguishing (root), otherwise they're the indexes of the pk fields of the subtype relative to the start of the subtype's fields, so we just pass the amount, as we can then create the list of indexes, starting with 0. TargetPerEntity specific version Gets the entity fields for the entity passed in. Only the fields defined in the entity are returned Name of the entity to grab the fields for array of IEntityFieldCore fields the default implementation returns adapter fields Gets the entity fields for the entity passed in. Only the fields defined in the entity are returned Name of the entity to grab the fields for The persistence info provider array of IEntityFieldCore fields selfservicing specific Abstract class for the persistence info provider class which is used to provide FieldPersistenceInfo objects for fields/entities. private class which is used to store mapping info of an element. Initializes a new instance of the class. Name of the catalog. Name of the schema. Name of the target. The number of fields. The action combination. Initializes a new instance of the class. Name of the catalog. Name of the schema. Name of the target. The number of fields. if set to true [TVF call return element mapping]. The action combination defined for this entity mapping. Gets the action combination. Gets or sets the name of the catalog. The name of the catalog. Gets or sets the name of the schema. The name of the schema. Gets or sets the name of the target. The name of the target. Gets the element field mappings. The element field mappings. Gets the indexes of the element field mappings. The index of the element field mappings on. Gets a value indicating whether [TVF call return element mapping]. Gets the persistence info for the tvf call with the name specified. Name of the TVF call. Retrieves for each field of entity / typed view with the name passed in the corresponding IFieldPersistenceInfo instance. The order of these IFieldPersistenceInfo objects is the same as the corresponding fields in an entity / typed view with the name objectName. Name of the entity / typed view to retrieve the IFieldPersistenceInfo objects for. Example: CustomerEntity Array of IFieldPersistenceInfo objects Retrieves for each field of the entity instance passed in the corresponding IFieldPersistenceInfo instance. Entity instance to return the IFieldPersistenceInfo objects for. Array of IFieldPersistenceInfo objects Retrieves for the field with name fieldName of entity / typed view with the name passed in the corresonding IFieldPersistenceInfo instance. Name of the entity / typed view the field belongs to. Example: CustomerEntity Name of the field which fieldpersistenceinfo should be returned. Example: CustomerID Requested IFieldPersistenceInfo object Determines whether the entity with the name specified is allowed to perform the action specified in actionToCheck. Is compared against the specified actioncombination defined with the entity mapping. Name of the entity. The action to check. true if the entity is allowed to perform the action, false otherwise. Inits the class. Adds an element mapping. Defaults to Retrieve for allowed action combinations. Use for typed views. Name of the element. Name of the catalog. Name of the schema. Name of the target. The number of fields. elementName ' + elementName + ' is already added to this provider.;elementName Adds an element mapping. Name of the element. Name of the catalog. Name of the schema. Name of the target. The number of fields. The action combination. This is the numeric value of the enum ActionCombinationType elementName ' + elementName + ' is already added to this provider.;elementName Specifies that the element with the name elementName is mapped onto the resultset of the tvf call with the name tvfCallName. Name of the element. Name of the TVF call. Adds an element field mapping for the element name.elementfieldname field. Name of the element. Name of the element field. Name of the source column. if set to true [is source column nullable]. string representation of the ADO.NET specific enum value of the db type of the field. Length of the source column max. The source column precision. The source column scale. if set to true [is identity]. Name of the identity value sequence. The type converter to use. Type of the actual dot net. Index of the field. Adds the TVF call field persistence info object specified. the Tvf call persistence info object to add. Gets the element mapping info. Name of the element. Interface for creating project elements from somewhere else, like inside Linq providers. Gets the factory of the Entity type with the EntityType value passed in The entity type value. the entity factory of the entity type or null if not found Gets the factory of the Entity type with the .NET type passed in The type of entity. the entity factory of the entity type or null if not found Creates a new resultset fields object with the number of field slots reserved as specified The number of fields. ready to use resultsetfields object Gets an instance of the TypedListDAO class to execute dynamic lists and projections. ready to use typedlistDAO Interface definition for the PrefetchPathElement type, which instances are used in a PrefetchPath instance. Selfservicing specific The subpath containing path elements to retrieve in the ToFetch entity of this PrefetchPathElement. Can be empty. The entity collection to fill (and to use to retrieve the entities to fetch). After the fetch, this collection contains the entities to merge with the instances of the parent entity. Interface definition for the PrefetchPath type, which specifies a prefetch path to fetch related entities during a fetch. SelfServicing specific. Adds the specified element to the path. The PrefetchPathElement to add the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement Additional sort clauses to be added added to the sortexpression already in the PrefetchPathElement the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement Additional sort clauses to be added added to the sortexpression already in the PrefetchPathElement The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the element added, so chaining of commands is possible When the elementToAdd is a node definition which is already added to this path. Indexer in the prefetch path Interface for the EntityField type. An EntityField is the unit which is used to hold the value for a given property of an entity. SelfServicing specific. Sets the entity field's ObjectAlias property to the specified value value to set The entity field object the method was called on, for command chaining Sets the EntityField's AggregateFunctionToApply property Function to apply. The entity field object the method was called on, for command chaining Sets the Entity Field's ExpressionToToApply property Expression to to apply. The entity field object the method was called on, for command chaining Sets the entity field's OverClauseToApply property the over clause to apply to the field the entity field object the method was called on, for command chaining Sets the field alias. The field alias. The entity field object the method was called on, for command chaining Converts this EntityField2 to an XmlNode. The aspect flags to control the format of the XML produced the XmlDocument which will contain the node this method will return. This document is required to create the new node object The output parameter which will represent this EntityField2 as XmlNode Interface for the EntityFields type. An EntityFields type is a collection of IEntityField objects which forms the total amount of fields for a given entity. SelfServicing specific Returns the complete list of IEntityField objects as an array of IFieldPersistenceInfo objects. IEntityField objects implement IFieldPersistenceInfo. Array of IFieldPersistenceInfo objects Converts this EntityFields object to a set of XmlNodes with all the fields as individual nodes. The aspect flags to control the format of the XML produced the XmlDocument which will contain the nodes this method will create. This document is required to create the new nodes for the fields the node the fields will have to be added to. Clones this instance and its contents using a deep copy. an exact, deep copy of this EntityFields object and its contents. Clones this object to a new EntityFields object where all fields are changed and the object itself is marked dirty. Creates a shallow copy of this instance, which means that a new EntityFields object is created but all membervariables are kept the same. Shallow copy of this instance Gets / sets the EntityField on the specified Index. When the index specified is not found in the internal datastorage. When the passed in is null When the passed in is already added. Fields have to be unique. Gets the EntityField with the specified name. When the specified name is the empty string or contains only spaces This property is read-only. If you want to set a value, use the int indexer List of IEntityField references which form the primary key Interface used for all Entity classes, it's the interface implemented by the abstract base class which is used to derive every entity class from SelfServicing specific Async variant of . Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. true if Delete succeeded, false otherwise The delete action of an entity failed, probably due to the set delete restriction provided. The entity which failed is enclosed. When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Async variant of . Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. The cancellation token. true if Delete succeeded, false otherwise The delete action of an entity failed, probably due to the set delete restriction provided. The entity which failed is enclosed. When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Async variant of . Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. Predicate expression, meant for concurrency checks in a delete query. Overrules the predicate returned by a set ConcurrencyPredicateFactory object. true if Delete succeeded, false otherwise The delete action of an entity failed, probably due to the set delete restriction provided. The entity which failed is enclosed. When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Async variant of . Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. Predicate expression, meant for concurrency checks in a delete query. Overrules the predicate returned by a set ConcurrencyPredicateFactory object. The cancellation token. true if Delete succeeded, false otherwise The delete action of an entity failed, probably due to the set delete restriction provided. The entity which failed is enclosed. When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. The cancellation token. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. The cancellation token. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. The cancellation token. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. The cancellation token. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Collection with 0 or more IEntity objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Collection with 0 or more IEntity objects, referenced by this entity Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the Save logic to perform recursive saves. Only 1:n related collections are returned. Collection with 0 or more IEntityCollection objects, referenced by this entity Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. Will not recursively save internal dirty entities. Uses, if applicable, the ConcurrencyPredicateFactory to supply the predicate to limit save activity. true if Save succeeded, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. Uses, if applicable, the ConcurrencyPredicateFactory to supply the predicate to limit save activity. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if Save succeeded, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Will not recursively save internal dirty entities. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. true if Save succeeded, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if Save succeeded, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. Uses, if applicable, the ConcurrencyPredicateFactory to supply the predicate to limit delete activity. true if Delete succeeded, false otherwise When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. Predicate expression, meant for concurrency checks in a delete query. Overrules the predicate returned by a set ConcurrencyPredicateFactory object. true if Delete succeeded, false otherwise When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Refetches the Entity from the persistent storage. Refetch is used to re-load an Entity which is marked "Out-of-sync", due to a save action. Refetching an empty Entity has no effect. true if Refetch succeeded, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Returns a new ready to use factory for the type of this instance. a new ready to use factory for the type of this instance. Loads the data for the excluded fields specified in the list of excluded fields into this entity. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. The internal presentation of the data, which is an EntityFields object, which implements . Returns true if this entity instance is in the middle of a serialization process, for example during a WriteXml() call. For internal use only. List of IEntityField references which form the primary key. Reads/Affects .Fields.PrimaryKeyFields Interface for the definition of a Transaction class which is used to control a serie of actions on multiple entities or entity collection classes. SelfServicing specific Creates a savepoint with the name savePointName in the current transaction. You can roll back to this savepoint using . name of savepoint. Must be unique in an active transaction If no transaction is in progress. if savePointName is empty or null if the .NET database provider doesn't support transaction saving or when COM+ is used. Rolls back the transaction in action to the savepoint with the name savepointName. No internal objects are being reset when this method is called, so call this Rollback overload only to roll back to a savepoint. To roll back a complete transaction, call Rollback() without specifying a savepoint name. Create a savepoint by calling Save(savePointName) name of the savepoint to roll back to. If no transaction is in progress. if savePointName is empty or null if the .NET database provider doesn't support transaction rolling back a transaction to a named point or when COM+ is used. Not supported when using COM+ Adds the passed in object as a participant of this transaction. The ITransactionalElement implementing object which actions have to be included in this transaction Removes the passed in object from the transaction. The ITransactionalElement implementing object which should be removed from this transaction Adds the auditor passed in to the set of auditors to get audit entities from at commit. To add. Gets the isolation level the transaction should use. Only settable with the constructor. Gets the name of the transaction. Only settable with the constructor. Gets the connection string used for the connection with the database. Only settable with the constructor. The connection object to use with this transaction. The physical transaction object used over . List of GUID's of the entities currently participating in this transaction. This collection is used to keep track of which entities already have been added during a recursive save. Interface which is necessary for the Transaction class. Every class which has to be controlled by a Transaction object has to implement this interface. Examples are: an Entity class and an Entity Collection Class. SelfServicing specific The this ITransactionalElement implementing object is participating in. Only valid if is true. If set to null, the ITransactionalElement is no longer participating in a transaction. Flag to check if the ITransactionalElement implementing object is participating in a transaction or not. When the in which this element participates is commited, this element can succesfully finish actions performed by this element. This method is called by , you should not call it by yourself. When this element doesn't participate in a transaction it finishes the actions itself, calling this method is not needed. When the in which this element participates is rolled back, this element has to roll back its internal variables. This method is called by , you should not call it by yourself. Interface for Data Access Objects (DAO). Every IEntity implementation has one specific Dao object SelfServicing specific. Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. the cancellationToken A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. the cancellationToken The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of Executes the specified plain SQL query using this DAO. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Async variant of Executes the specified plain SQL query using this DAO. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery A containing transaction if caller is added to a transaction, or null of not. The cancellation token. The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Async variant of Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. A containing transaction if caller is added to a transaction, or null of not. The cancellation token. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The cancellation token. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Calls the specified action stored procedure in the database. If a transaction is in progress, it will participate in that transaction. Stored procedure to call array of parameters to pass The transaction. The cancellation token. the number of rows affected. Async variant of Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. The cancellation token. Async variant of . Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The parameters. The cancellation token. Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). Type of the return elements, one for each row The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). Type of the return elements, one for each row The query to execute. The cancellation token. List of instances of T, one for each row in the resultset of queryToExecute Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is specified, the command is wired to the transaction and executed inside the transaction. Type of the return elements, one for each row A containing transaction if caller is added to a transaction, or null of not. The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is specified, the command is wired to the transaction and executed inside the transaction. Type of the return elements, one for each row A containing transaction if caller is added to a transaction, or null of not. The query to execute. The cancellation token. List of instances of T, one for each row in the resultset of queryToExecute Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The cancellation token. The field data is set like a normal field value set, so authorization is applied to it. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the entitycollection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The entity factory of the passed in entities collection is null. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the entitycollection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The cancellation token. The entity factory of the passed in entities collection is null. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The reader behavior to set. The parameters. The cancellation token. Open, ready to use IDataReader parameters Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Async variant of . Executes the passed in retrievalquery and returns an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. The reader behavior to set. The cancellation token. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Async variant of . Adds the given fields to the database as a new entity. The EntityField data to use for the insert. A containing transaction, if caller is added to a transaction, or null if not. The cancellation token. true if the addition was succesful, false otherwise fields;fields can't be null When fields is null Async variant of . Updates an existing entity using the given fields. The EntityField data to use for the update A containing transaction, if caller is added to a transaction, or null if not. Predicate expression, meant for concurrency checks in an Update query The cancellation token. true if the update was succesful, false otherwise fields;fields can't be null When fields is null Async variant of . Deletes an entity from the persistent storage. Which entity is deleted is determined from the passed in EntityFields object. The EntityField data to use for the deletion A containing transaction, if caller is added to a transaction, or null if not. Predicate expression, meant for concurrency checks in a delete query. Can be null. The cancellation token. true if the delete was succesful, false otherwise fields;fields can't be null When fields is null Async variant of . Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. IEntity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to update. Set of relations to walk to construct the total query The cancellation token. Number of entities affected, if the used persistent storage has rowcounting enabled. Use the returned value to determine if the update succeeded (value > 0) Async variant of . Deletes from the persistent storage all 'Employee' entities which match with the specified filter, formulated in the predicate or predicate expression definition. A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to delete. The set of relations to walk to construct the total query. The cancellation token. Number of entities affected, if the used persistent storage has rowcounting enabled. Not supported for deleting entities which are part of a TargetPerEntity hierarchy Async variant of Executes the passed in action query and, if not null, runs it inside the passed in transaction. ActionQuery to execute. A containing transaction if caller is added to a transaction, or null of not. The cancellation token. execution result, which is the amount of rows affected (if applicable) Calls the specified action stored procedure in the database. If a transaction is in progress, it will participate in that transaction. Stored procedure to call array of parameters to pass The transaction. the number of rows affected. Calls the specified retrieval stored procedure in the database. Fills the specified datatable. Will participate in the transaction if a transaction is in progress. Stored procedure to call array of parameters to specify Datatable to fill by the stored procedure The transaction. true if succeeded, false otherwise Calls the specified retrieval stored procedure in the database. Fills the specified DataSet. Will participate in the transaction if a transaction is in progress. Stored procedure to call array of parameters to specify DataSet to fill by the stored procedure The transaction. true if succeeded, false otherwise Creates a new closed ADO.NET Connection object based on the connection string read from the *.config file of the appdomain. The connection string is stored in a key with the name defined in the constant connectionKeyString A ready to use, closed, sqlconnection object Creates a new ADO.NET Connection Conectionstring To use A ready to use, closed, ADO.NET connection object Determines which connection to use: the connection held by the passed in transaction (if any) or a new one (if no Transaction was passed in) A transaction the caller participates in. If null, the caller is not participating in a transaction A ready to use connection object Creates a new ADO.NET DataAdapter. Ready to use DbDataAdapter Creates a new ADO.NET transaction the connection to use the isolation level to use new ADO.NET transaction object. Adds the given fields to the database as a new entity. The EntityField data to use for the insert. A containing transaction, if caller is added to a transaction, or null if not. true if the addition was succesful, false otherwise When fields is null Updates an existing entity using the given fields. The EntityField data to use for the update A containing transaction, if caller is added to a transaction, or null if not. true if the update was succesful, false otherwise When fields is null Updates an existing entity using the given fields. The EntityField data to use for the update A containing transaction, if caller is added to a transaction, or null if not. Predicate expression, meant for concurrency checks in an Update query true if the update was succesful, false otherwise When fields is null Reads the data of the entity passed in, and returns that object. Which data is read is determined using the set Primary Key field(s). If specified, it also processes the prefetch path. The entity to fetch. Contained data will be overwritten. A containing transaction, if caller is added to a transaction, or null if not. Select filter. the PrefetchPath which defines the graph of objects to fetch. The context to fetch the prefetch path with. The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. Retrieves entities of the type this dao is for in a datatable which match the specified filter. It will always create a new connection to the database. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. a filled datatable if succeeded, false otherwise Retrieves entities of the type this dao is for in a datatable which match the specified filter. It will always create a new connection to the database. The maximum number of items to return with this retrieval query. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. The page number to retrieve. The page size of the page to retrieve. a filled datatable if succeeded, false otherwise Retrieves entities of the type this dao is for in a datatable which match the specified filter. It will always create a new connection to the database. The maximum number of items to return with this retrieval query. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. The page number to retrieve. The page size of the page to retrieve. a filled datatable if succeeded, false otherwise Retrieves the results of the query specified into the tableToFill. The fields used to produce the query or tableToFill. The table to fill. The query to use. The transaction to use. true if succeeded, false otherwise Used with stored procedure calling IRetrievalQuery instances to fill a typed view mapped onto a resultset. Be sure to call Dispose() on the passed in query, as it's not disposed in this method. Retrieves rows in the datatable provided which match the specified filter, containing the fields specified. It will always create a new connection to the database. IEntityFields implementation which forms the definition of the resultset to return. The datatable to fill with the rows retrieved The order by specifications for the sorting of the resultset. If null is specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. Flag to allow duplicate rows or not The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. true if succeeded, false otherwise Retrieves rows in the datatable provided which match the specified filter, containing the fields specified. It will always create a new connection to the database. IEntityFields implementation which forms the definition of the resultset to return. The datatable to fill with the rows retrieved The maximum number of items to return with this retrieval query. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. If null is specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. Flag to allow duplicate rows or not The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in the calling Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. Collection to fill with the entity objects retrieved The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The EntityFactory to use when creating entity objects during a GetMulti() call. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in the calling Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. Collection to fill with the entity objects retrieved The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The EntityFactory to use when creating entity objects during a GetMulti() call. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. the PrefetchPath which defines the graph of objects to fetch. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in the calling entity collection object all entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. It will also prefetch all related objects defined in the prefetchpath specified. A containing transaction, if caller is added to a transaction, or null if not. Collection to fill with the entity objects retrieved The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The EntityFactory to use when creating entity objects during a GetMulti() call. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. the PrefetchPath which defines the graph of objects to fetch. true if succeeded, false otherwise Retrieves in the calling Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. Collection to fill with the entity objects retrieved The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The EntityFactory to use when creating entity objects during a GetMulti() call. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. the PrefetchPath which defines the graph of objects to fetch. The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Deletes from the persistent storage all entities which match with the specified filter, formulated in the predicate or predicate expression definition, of the type and subtypes of the entity owning this DAO. A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to delete. Number of entities affected, if the used persistent storage has rowcounting enabled. Not supported for deleting entities which are part of a TargetPerEntity hierarchy Deletes from the persistent storage all 'Employee' entities which match with the specified filter, formulated in the predicate or predicate expression definition. A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to delete. The set of relations to walk to construct the total query. Number of entities affected, if the used persistent storage has rowcounting enabled. Not supported for deleting entities which are part of a TargetPerEntity hierarchy Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. IEntity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to update. Number of entities affected, if the used persistent storage has rowcounting enabled. Use the returned value to determine if the update succeeded (value > 0) Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. IEntity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to update. Set of relations to walk to construct the total query Number of entities affected, if the used persistent storage has rowcounting enabled. Use the returned value to determine if the update succeeded (value > 0) Executes the expression defined with the field in the fields collection specified, using the various elements defined. The expression is executed as a scalar query and a single value is returned. IEntityFields instance with a single field with an expression defined and eventually aggregates A containing transaction, if caller is added to a transaction, or null if not. filter to use The relations to walk The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. the value which is the result of the expression defined on the specified field Executes the expression defined with the field in the fields collection specified, using the various elements defined. The expression is executed as a scalar query and a single value is returned. IEntityFields instance with a single field with an expression defined and eventually aggregates A containing transaction, if caller is added to a transaction, or null if not. filter to use The relations to walk The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. Allow duplicates in the resultset. the value which is the result of the expression defined on the specified field Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields instance with a single field with an expression defined and eventually aggregates A containing transaction, if caller is added to a transaction, or null if not. filter to use The relations to walk The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. the number of rows in the set defined by the query elements passed in Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields instance with a single field with an expression defined and eventually aggregates A containing transaction, if caller is added to a transaction, or null if not. filter to use The relations to walk The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. Allow duplicates in the resultset. the number of rows in the set defined by the query elements passed in Performs the polymorphic entity fetch for the entity type of this DAO. It will produce an entity of that type or a subtype of that type, based on the values retrieved, or an empty entity if not found. The passed in fields object has its PK fields filled, which are used to produce a PK filter. Containing transaction. Fields required for PK construction Context to use for fetch The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. New entity with the data filtered by the passed in PK filter, or an empty entity if not found. Entity can be of type produced by the set entity factory (which produces entities of the type this DAO is for) or a subtype. Reads the data of an entity into the specified EntityFields object and returns that object. Which data is read is determined using the passed in Primary Key field(s). If specified, it also processes the prefetch path. The entity to fetch. Contained data will be overwritten. A containing transaction, if caller is added to a transaction, or null if not. the PrefetchPath which defines the graph of objects to fetch. The context to fetch the prefetch path with. The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. When fieldsToFetch is null Deletes an entity from the persistent storage. Which entity is deleted is determined from the passed in EntityFields object. The EntityField data to use for the deletion A containing transaction, if caller is added to a transaction, or null if not. Predicate expression, meant for concurrency checks in a delete query. Can be null. true if the delete was succesful, false otherwise When fields is null Executes the specified plain SQL query using this DAO. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Executes the passed in action query and, if not null, runs it inside the passed in transaction. ActionQuery to execute. A containing transaction if caller is added to a transaction, or null of not. execution result, which is the amount of rows affected (if applicable) Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 row. Retrieval query to execute A containing transaction if caller is added to a transaction, or null of not. The IEntityFields object to store the fetched data in The field persistence info objects used to produce the query. This array contains null for all excluded fields and is necessary for the row fetcher. Overriders of this method should pass fieldsToFill.GetAsPersistenceInfoArray() to this parameter Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 row. Retrieval query to execute A containing transaction if caller is added to a transaction, or null of not. Collection to fill with the retrieved rows. Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query The field persistence info objects used to produce the query. This array contains null for all excluded fields and is necessary for the row fetcher. Overriders of this method should pass fieldsToFill.GetAsPersistenceInfoArray() to this parameter Executes the passed in query as a scalar query and returns the value returned from this scalar execution. a scalar query, which is a SELECT query which returns a single value A containing transaction if caller is added to a transaction, or null of not. the scalar value returned from the query. Executes the passed in retrievalquery and returns an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. The reader behavior to set. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The reader behavior to set. The max number of items to return. Specify 0 to return all elements If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. The group by clause. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The reader behavior to set. The parameters. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The max number of items to return. Specify 0 to return all elements If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The max number of items to return. Specify 0 to return all elements The sort clauses. The group by clause. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The parameters. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The reader which points to the first row of a resultset Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. The resultset won't be cached in the resultset cache. To cache the resultset, use the overload which accepts the IRetrievalQuery executed Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. the query object executed which produced the reader. Pass the executed query object to make sure resultset caching is possible. The reader which points to the first row of a resultset Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will occur if the passed in executedQuery is setup to cache its resultset. Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is specified, the command is wired to the transaction and executed inside the transaction. Type of the return elements, one for each row The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is specified, the command is wired to the transaction and executed inside the transaction. Type of the return elements, one for each row A containing transaction if caller is added to a transaction, or null of not. The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open Type of the return elements, one for each row The open reader to project the active resultset of List of instances of T, one for each row in the resultset of reader Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will not occur. To use resultset caching, use the overload which accepts an IRetrievalQuery Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open Type of the return elements, one for each row The open reader to project the active resultset of the query object executed which produced the reader. Pass the executed query object to make sure resultset caching is possible. List of instances of T, one for each row in the resultset of reader Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will occur if the passed in executedQuery is setup to cache its resultset. Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the passed in entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the passed in collection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterizedThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Gets / sets entityFactory to use Gets the function mappings for the DQE related to this object. These function mappings are static and therefore not changeable. Interface for the EntityCollection type. The collection defines typed basic collection behavior. Selfservicing specific Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in this collection. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*DaoBase.ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. The parameters for the query. The cancellation token. true if succeeded, false otherwise Async variant of . Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. Amount of entities affected, if the used persistent storage has rowcounting enabled. Async variant of . Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. The cancellation token. Amount of entities affected, if the used persistent storage has rowcounting enabled. Async variant of . Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. The set of relations to walk to construct the total query. Amount of entities affected, if the used persistent storage has rowcounting enabled. Async variant of . Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. The set of relations to walk to construct the total query. The cancellation token. Amount of entities affected, if the used persistent storage has rowcounting enabled. Async variant of . Deletes all Entities in the IEntityCollection from the persistent storage. If this IEntityCollection is added to a transaction, the delete processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the deletes are done in a/ new Transaction. Deleted entities are marked deleted and are removed from the collection. Amount of entities deleted Async variant of . Deletes all Entities in the IEntityCollection from the persistent storage. If this IEntityCollection is added to a transaction, the delete processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the deletes are done in a/ new Transaction. Deleted entities are marked deleted and are removed from the collection. The cancellation token. Amount of entities deleted Async variant of . Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage The cancellation token. Not supported for entities which are in a hierarchy of TargetPerEntity Async variant of . Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage Not supported for entities which are in a hierarchy of TargetPerEntity Async variant of . Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage The set of relations to walk to construct the total query. Not supported for entities which are in a hierarchy of TargetPerEntity Async variant of . Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage The set of relations to walk to construct the total query. The cancellation token. Not supported for entities which are in a hierarchy of TargetPerEntity Async variant of . Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.). Will not recursively save entities inside the collection. Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Async variant of . Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.) The cancellation token. Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Async variant of . Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.) If true, will recursively save the entities inside the collection Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Async variant of . Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.) If true, will recursively save the entities inside the collection The cancellation token. Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Adds an IEntity object to the list. Entity to add Index in list Adds the range of objects passed in. Objects have to be IEntity implementing objects Collection to add Inserts an IEntity on position Index Index where to insert the Object Entity Entity to insert Remove given IEntity from the list. Entity object to remove from list. Returns true if the list contains the given IEntity Object Entity object to check. true if Entity exists in list. Returns index in the list of given IEntity object. Entity Object to check index in list. copy the complete list of IEntity objects to an array of IEntity objects. Array of IEntity Objects wherein the contents of the list will be copied. Start index to copy from Sets the entity information of the entity object containing this collection. Call this method only from entity classes which contain IEntityCollection members, like 'Customer' which contains 'Orders' entity collection. The entity containing this entity collection as a member variable The field the containing entity has mapped onto the relation which delivers the entities contained in this collection Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.). Will not recursively save entities inside the collection. Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.) If true, will recursively save the entities inside the collection Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Deletes all Entities in the IEntityCollection from the persistent storage. If this IEntityCollection is added to a transaction, the delete processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the deletes are done in a new Transaction (which is created in an inherited method.) Deleted entities are marked deleted and are removed from the collection. Amount of entities deleted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage Amount of entities affected, if the used persistent storage has rowcounting enabled. Not supported for entities which are in a hierarchy of TargetPerEntity Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage The set of relations to walk to construct the total query. Not supported for entities which are in a hierarchy of TargetPerEntity Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. Can be null, which will result in an update action which will affect all Customer entities. Amount of entities affected, if the used persistent storage has rowcounting enabled. Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. The set of relations to walk to construct the total query. Amount of entities affected, if the used persistent storage has rowcounting enabled. Converts this entity collection to XML, recursively. Uses "EntityCollection" for the rootnode name The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. Uses "EntityCollection" for the rootnode name the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML. name of root element to use when building a complete XML representation of this entity collection. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML, recursively. Uses "EntityCollection" for the rootnode name The aspect flags to control the format of the XML produced The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. Uses "EntityCollection" for the rootnode name The aspect flags to control the format of the XML produced the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity collection. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Will fill the entity collection and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCollection.WriteXml() and the Xml has to be compatible with the structure of this entity collection. XmlNode with Xml data which should be read into this entity and its members. Node's root element is the root element of the entity collection's Xml data Will fill the entity collection and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCollection.WriteXml() and the Xml has to be compatible with the structure of this entity collection. string with Xml data which should be read into this entity collection and its members. This string has to be in the correct format and should be loadable into a new XmlDocument without problems Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) The maximum number of items to return with this retrieval query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The maximum number of items to return with this retrieval query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct the total query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) the PrefetchPath which defines the graph of objects to fetch. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the PrefetchPath which defines the graph of objects to fetch. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. the PrefetchPath which defines the graph of objects to fetch. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. the PrefetchPath which defines the graph of objects to fetch. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. the PrefetchPath which defines the graph of objects to fetch. The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. The parameters for the query. true if succeeded, false otherwise Gets the amount of Entity objects in the database. the amount of objects found Gets the amount of Entity objects in the database, when taking into account the filter specified. the filter to apply the amount of objects found Gets the amount of Entity objects in the database, when taking into account the filter specified and the relations specified. the filter to apply The relations to walk the amount of objects found Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection. Per entity type found, a new datatable is created inside destination or if one with the name of the entity is already present, that one is used. It will simply project every data element. The destination dataset in which the projection result is stored. Each DataTable has the name of the entity contained, e.g. "CustomerEntity". DataRelations are created between the data if applicable. Data in destination's datatables (if present) is removed before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection, using the collectionProjections data passed in. Per entity type found, a new datatable is created inside destination or if one with the name of the entity is already present, that one is used. The projection data per entity type The destination dataset in which the projection result is stored. Each DataTable has the name of the entity contained, e.g. "CustomerEntity". DataRelations are created between the data if applicable. Data in destination's datatables (if present) is removed before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection. Per entity type found, an entry is stored inside the destination dictionary. It will simply project every data element. The destination dictionary in which the projection result is stored. destination is cleared before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection, using the collectionProjections data passed in. Per entity type found, an entry is stored inside the destination dictionary. The projection data per entity type The destination dictionary in which the projection result is stored. destination is cleared before a projection is performed. Creates a new EntityView object of the right type on this collection with no filter nor sorter applied. new EntityView on this collection Creates a new EntityView object of the right type on this collection with the passed in filter applied The filter. new EntityView on this collection Creates a new EntityView object of the right type on this collection with the passed in filter and sorter applied to it. The filter. The sorter. new EntityView on this collection Creates a new EntityView object of the right type on this collection with the passed in filter and sorter applied to it and the dataChangeAction set to the passed in value. The filter. The sorter. The data change action to take if data in the related collection changes. new EntityView on this collection Loads the data for the excluded fields specified in the list of excluded fields into all the entities in this collection. The excludedIncludedFields object as it is used when fetching the passed in collection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*DaoBase.ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Gets the default view for this entitycollection. The returned value is the same instance every time this property is read. It's a new entity view without a filter or a sorter. The default view. Returns a readonly collection of entities which are flagged as dirty. This collection is determined on the fly, you can use this collection to remove dirty entities from this entity collection. The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. Returns true if this collection contains dirty objects. If this collection contains dirty objects, an already filled collection should not be refreshed until a save is performed. This property is calculated in real time and can be time consuming when the collection contains a lot of objects. Use this property only in cases when the value of this property is used to do a refetch or not. The EntityFactory to use when creating entity objects during a GetMulti() call or other logic which requires the creation of new entities. Surpresses the removal of all contents of the collection in a GetMulti*() call. Used by code in related entities to prevent the removal of objects when collection properties are accessed. Gets / sets the IConcurrencyPredicateFactory instance to use when creating entity objects during a GetMulti() call or when AddNew is called. Gets or sets the at the specified index. When set to true, an entity passed to Add() or Insert() will be tested if it's already present. If so, the index is returned and the object is not added again. If set to false (default: true) this check is not performed. Setting this property to true can slow down fetch logic. DataAccessAdapter's fetch logic sets this property to false during a multi-entity fetch. Gets / sets the initial capacity of the entity collection. Gets or sets the entity collection which should be used as removed entities tracker. If this property is set to an IEntityCollection2 instance, all entities which are removed from this collection are marked for deletion and placed in this removed entities tracker collection. This collection can then later on be used to delete these entities from the database in one go. Interface for EntityFactory objects used by several methods which have to create entity objects on the fly. SelfServicing specific Creates a new instance the new IEntity instance Creates a new instance but uses a special constructor which will set the Fields object of the new IEntity instance to the passed in fields object. Implement this method to support multi-type in single table inheritance. Populated IEntityFields object for the new entity to create Fully created and populated (due to the IEntityFields object) IEntity object Creates, using the generated EntityFieldsFactory, the IEntityFields object for the entity to create. This method is used by internal code to create the fields object to store fetched data. Empty IEntityFields object. Creates the hierarchy fields for the entity to which this factory belongs. IEntityFields object with the fields of all the entities in the hierarchy of this entity or the fields of this entity if the entity isn't in a hierarchy. This method retrieves, using the InheritanceInfoprovider, the factory for the entity represented by the values passed in. Field values read from the db, to determine which factory to return, based on the field values passed in. indexes into values where per entity type their own fields start. Creates a new entity collection for the entity of this factory. ready to use new entity collection, typed. Creates a new entity instance using the GeneralEntityFactory in the generated code, using the passed in entitytype value The entity type value of the entity to create an instance for. new IEntity instance interface for the factory which creates different sets of property descriptor sets. Required for complex databinding. Selfservicing specific. Creates a new propertydescriptorcollection using the specialized methods of the types stored INSIDE the type specified. type which contains other types which properties we're interested in. filled propertydescriptorcollection of type inside the type specified. Constructs the actual property descriptor collection. entity instance which properties should be included in the collection full type of the entity filled in property descriptor collection Interface for TypedView classes. Selfservicing specific. Fills itself with data. it builds a dynamic query and loads itself with that query. Will use no sort filter, no select filter, will allow duplicate rows and will not limit the amount of rows returned true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query. Will not use a filter, will allow duplicate rows. The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query. Will not use a filter. The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate expression to filter on the rows inserted in this TypedView object. true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate expression to filter on the rows inserted in this TypedView object. The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate expression to filter on the rows inserted in this TypedView object. The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. GroupByCollection with fields to group by on. true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate expression to filter on the rows inserted in this TypedView object. The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. GroupByCollection with fields to group by on. the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied true if fill succeeded, false otherwise Gets the amount of rows in the database for this typed view, not skipping duplicates the number of rows in the set defined by the passed in query elements Gets the amount of rows in the database for this typed view. Flag to allow duplicate rows (true) or not (false) the number of rows in the set defined by the passed in query elements Gets the amount of rows in the database for this typed view. Flag to allow duplicate rows (true) or not (false) The filter to apply for the count retrieval the number of rows in the set defined by the passed in query elements Gets the amount of rows in the database for this typed view. Flag to allow duplicate rows (true) or not (false) The filter to apply for the count retrieval group by clause to embed in the query the number of rows in the set defined by the passed in query elements Gets the fields of this typed view IEntityFields object Returns the amount of rows in this typed view. Interface for TypedList classes. ITypedList is already defined in .NET, that's why it is suffixed with Lgp. Selfservicing specific. Fills itself with data. it builds a dynamic query and loads itself with that query. Will use no sort filter, no select filter, will allow duplicate rows and will not limit the amount of rows returned true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query. Will not use a filter, will allow duplicate rows. The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query. Will not use a filter. The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate which is used to filter the rows to insert in this Typed List instance true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate which is used to filter the rows to insert in this Typed List instance The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate which is used to filter the rows to insert in this Typed List instance The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. GroupByCollection with fields to group by on. true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate which is used to filter the rows to insert in this Typed List instance The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. GroupByCollection with fields to group by on. the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied true if fill succeeded, false otherwise Gets the amount of rows in the database for this typed list, not skipping duplicates the number of rows in the set defined by the passed in query elements Gets the amount of rows in the database for this typed list. Flag to allow duplicate rows (true) or not (false) the number of rows in the set defined by the passed in query elements Gets the amount of rows in the database for this typed list. Flag to allow duplicate rows (true) or not (false) The filter to apply for the count retrieval the number of rows in the set defined by the passed in query elements Gets the amount of rows in the database for this typed list. Flag to allow duplicate rows (true) or not (false) The filter to apply for the count retrieval The relations for the filter to apply the number of rows in the set defined by the passed in query elements Gets the amount of rows in the database for this typed list. Flag to allow duplicate rows (true) or not (false) The filter to apply for the count retrieval The relations for the filter to apply group by clause to embed in the query the number of rows in the set defined by the passed in query elements Builds the relation set for this typed list. ready to use relation set Builds the resultset fields. ready to use resultset General interface to access common properties of an EntityView(Of TEntity) without knowing the type of TEntity. Event which is fired when the entity collection related to this entityview is changed. Determines whether this entity view contains the entity passed in. This method returns false if the entity is outside the filter, but in the related entity collection, as it's then not contained in the entity view. The entity to check True if the entity is present, otherwise false. Determines the index of the entity passed in in the entity view in filtered and sorted state. The entity to get the index of. Index of the entity in this entityview Copies all entities in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. New collection with all entities in this view Copies all entities starting at startIndex in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. The start index for the interval to copy to the entity collection New collection with all entities in this view Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the project does with the data is up to the projector. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the project does with the data is up to the projector. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the project does with the data is up to the projector. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Gets or sets the sorter for this entity view. Setting this property will re-sort the view and will reset the view in databinding scenario's. The sort expression to use. Gets or sets the filter to use for this entity view. The filter to use Gets the count of the view. The count. Gets the at the specified index in the view Gets/sets whether you can add items to the list using . true if you can add items to the list using ; otherwise, false. if the related collection is set to readonly, this operation is a no-op Gets whether you can remove items from the list, using or . if the related collection is set to readonly, this operation is a no-op Gets / sets whether you can update items in the list. true if you can update the items in the list; otherwise, false. if the related collection is set to readonly, this operation is a no-op Gets the related collection set for this view. The related collection. Gets or sets the data change action which specifies what to do when the data in the related collection of an entity view changes. A change in data can be: entity added or changed. If an entity is removed from the underlying collection, the entity is simply removed from the entity view, as the view doesn't contain any data by itself. The data change action. Internal interface for entity collection method access when the type of the collection isn't known. Async variant of . Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. The parameters. The cancellation token. true if succeeded, false otherwise special version which is used by prefetch path code, and which modifies the relation collection and filter for hierarchical fetches Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. The parameters. true if succeeded, false otherwise special version which is used by prefetch path code, and which modifies the relation collection and filter for hierarchical fetches Interface for creating project elements from somewhere else, like inside Linq providers. Gets the factory of the Entity type with the EntityType value passed in The entity type value. the entity factory of the entity type or null if not found Gets the factory of the Entity type with the .NET type passed in The type of entity. the entity factory of the entity type or null if not found Creates a new resultset fields object with the number of field slots reserved as specified The number of fields. ready to use resultsetfields object Interface definition for the PrefetchPathElement2 type, which instances are used in a PrefetchPath2 instance. Adapter specific The subpath containing path elements to retrieve in the ToFetch entity of this PrefetchPathElement. Can be empty. The entity collection to fill (and to use to retrieve the entities to fetch). After the fetch, this collection contains the entities to merge with the instances of the parent entity. The factory to use during the fetch of the entities defined by this path element. If this property is not set, the entity factory in the RetrievalCollection is used. Use this property to override the default factory, Interface definition for the PrefetchPath2 type, which specifies a prefetch path to fetch related entities during a fetch. Adapter specific. Adds the specified element to the path. The PrefetchPathElement to add the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add The entity factory to use to produce the related entities. the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement The entity factory to use to produce the related entities. the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement The entity factory to use to produce the related entities. the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement Additional sort clauses to be added added to the sortexpression already in the PrefetchPathElement the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement Additional sort clauses to be added added to the sortexpression already in the PrefetchPathElement The entity factory to use to produce the related entities. the element added, so chaining of commands is possible When elementToAdd is not specifying a fetch meant for an entity of type rootEntityType set in the constructor of this class Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement Additional sort clauses to be added added to the sortexpression already in the PrefetchPathElement The entity factory to use to produce the related entities. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the element added, so chaining of commands is possible When the elementToAdd is a node definition which is already added to this path. Indexer in the prefetch path Interface for the EntityField2 type. An EntityField2 is the unit which is used to hold the value for a given property of an entity. Adapter specific. Sets the entity field's ObjectAlias property to the specified value value to set The entity field object the method was called on, for command chaining Sets the EntityField's AggregateFunctionToApply property Function to apply. The entity field object the method was called on, for command chaining Sets the Entity Field's ExpressionToToApply property Expression to to apply. The entity field object the method was called on, for command chaining Sets the entity field's OverClauseToApply property the over clause to apply to the field the entity field object the method was called on, for command chaining Sets the field alias. The field alias. The entity field object the method was called on, for command chaining Interface for the EntityFields2 type. An EntityFields2 type is a collection of IEntityField2 objects which forms the total amount of fields for a given entity. Adapter specific Clones this instance and its contents using a deep copy. an exact, deep copy of this EntityFields object and its contents. Creates a shallow copy of this instance, which means that a new EntityFields2 object is created but all membervariables are kept the same. Shallow copy of this instance Clones this object to a new EntityFields object where all fields are changed and the object itself is marked dirty. Gets / sets the EntityField2 on the specified Index. When the index specified is not found in the internal datastorage. When the passed in is null When the passed in is already added. Fields have to be unique. Gets the EntityField with the specified name. When the specified name is the empty string or contains only spaces This property is read-only. If you want to set a value, use the int indexer List of IEntityField2 references which form the 'primary key', or uniquely identifying set of values for this set of fields, thus for the entity holding these fields. Interface used for all Entity2 classes Adapter specific Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Collection with 0 or more IEntity2 objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Collection with 0 or more IEntity2 objects, referenced by this entity Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the DataAccessAdapter to perform recursive saves. Only 1:n related collections are returned. Collection with 0 or more IEntityCollection2 objects, referenced by this entity Returns a new ready to use factory for the type of this instance. a new ready to use factory for the type of this instance. Converts this entity to XML The writer to write the output to. The aspect flags to control the format of the XML produced Converts this entity to XML The writer to write the output to. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity. Converts this entity to XML The writer to write the output to. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity. The objectIDs of entities already serialized. Used for serializing embedded entity data in for example auditors. Detaches this entity from all referencing entities and resets all references in this entity to other entities, including many-to-many relationships. It can't reset references in other entities to this entity instance if this entity instance has no reference to said other entities, which means those references will still be present after calling this method. This method starts with this entity and dereferences itself from entities known by this entity. The internal presentation of the data, which is an EntityFields2 object, which implements . List of IEntityField2 references which form the primary key. Reads/Affects .Fields.PrimaryKeyFields Interface for EntityFactory2 objects used by several methods which have to create entity objects on the fly. Factories have to add a valid validator object to the entities. Adapter specific Creates a new instance the new IEntity2 instance Creates a new instance but uses a special constructor which will set the Fields object of the new IEntity2 instance to the passed in fields object. Implement this method to support multi-type in single table inheritance. Populated IEntityFields2 object for the new entity2 to create Fully created and populated (due to the IEntityFields2 object) IEntity2 object Creates, using the generated EntityFieldsFactory, the IEntityFields2 object for the entity to create. This method is used by internal code to create the fields object to store fetched data. Empty IEntityFields2 object. Creates the hierarchy fields for the entity to which this factory belongs. IEntityFields2 object with the fields of all the entities in the hierarchy of this entity or the fields of this entity if the entity isn't in a hierarchy. This method retrieves, using the InheritanceInfoprovider, the factory for the entity represented by the values passed in. Field values read from the db, to determine which factory to return, based on the field values passed in. indexes into values where per entity type their own fields start. Gets a predicateexpression which filters on the entity with type belonging to this factory. Uses string.Empty for object alias Flag to produce a NOT filter, (true), or a normal filter (false). ready to use predicateexpression, or an empty predicate expression if the belonging entity isn't a hierarchical type. Gets a predicateexpression which filters on the entity with type belonging to this factory. Uses the passed in objectAlias for aliasing the elements in the filters. Flag to produce a NOT filter, (true), or a normal filter (false). The object alias to use for the predicate(s). ready to use predicateexpression, or an empty predicate expression if the belonging entity isn't a hierarchical type. Creates a new entity instance using the GeneralEntityFactory in the generated code, using the passed in entitytype value The entity type value of the entity to create an instance for. new IEntity2 instance Creates a new generic EntityCollection(Of T) for the entity to which this factory belongs. ready to use generic EntityCollection(Of T) with this factory set as the factory Interface for Data Access Adapter (DAA) objects. Instances of this interface are used as 'adapters' to work with databases. Adapter specific. Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. the cancellationToken The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this adapter and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. the cancellationToken The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of Executes the specified plain SQL query using this adapter. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Async variant of Executes the specified plain SQL query using this adapter. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery The cancellation token. The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Async variant of Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. The cancellation token. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The cancellation token. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of . Fetches one or more entities which match the filter information in the parameters into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. It will apply paging and it will from there use a prefetch path fetch using the read page. It's important that pageSize is smaller than the set . If pagesize is larger than the limits set for the value, the query is likely to be slower than expected, though will work. If pageNumber / pageSize are set to values which disable paging, a normal prefetch path fetch will be performed. The parameters. The cancellation token. If the passed in collectionToFill doesn't contain an entity factory. Async variant Async variant of Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. The cancellation token. Async variant of . Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The parameters. The cancellation token. parameters Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The query to execute. The cancellation token. List of instances of T, one for each row in the resultset of queryToExecute Async variant of . Executes the passed in retrievalquery and returns an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The query to execute. The reader behavior to set. The cancellation token. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open. It can be, if the query is set to cache its resultset, that the reader returned is actually a reader over the cached resultset. If you ordered the query to be cached, be sure to pass queryToExecute to the FetchProjection method to cache the resultset. Async variant of . Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The reader behavior to set. The parameters. The cancellation token. Open, ready to use IDataReader parameters Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Async variant of . Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() The datatable object to fill with the data for the fields in fieldCollectionToFetch The parameters. The cancellation token. parameters Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. The excludedIncludedFields object as it is used when fetching the passed in entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. The excludedIncludedFields object as it is used when fetching the passed in entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The cancellation token. The field data is set like a normal field value set, so authorization is applied to it. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. The excludedIncludedFields object as it is used when fetching the passed in collection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The entity factory of the passed in entities collection is null. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterizedThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. The excludedIncludedFields object as it is used when fetching the passed in collection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The cancellation token. The entity factory of the passed in entities collection is null. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterizedThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Opens the active connection object. If the connection is already open, nothing is done. If no connection object is present, a new one is created DataAccessAdapterBase;This DataAccessAdapter instance has already been disposed, you can't use it for further persistence activity Async variant of . Opens the active connection object. If the connection is already open, nothing is done. If no connection object is present, a new one is created The cancellation token. DataAccessAdapterBase;This DataAccessAdapter instance has already been disposed, you can't use it for further persistence activity Async variant of . Starts a new transaction. All database activity after this call will be ran in this transaction and all objects will participate in this transaction until its committed or rolled back. If there is a transaction in progress, an exception is thrown. Will create and open a new connection if a transaction is not open and/or available. The isolation level to use for this transaction The name for this transaction If a transaction is already in progress. If this DataAccessAdapter is in a System.Transactions.Transaction, no real ado.net transaction will be started, as a transaction is already in progress. In that situation, this method will just open the connection if required. Async variant of . Starts a new transaction. All database activity after this call will be ran in this transaction and all objects will participate in this transaction until its committed or rolled back. If there is a transaction in progress, an exception is thrown. Will create and open a new connection if a transaction is not open and/or available. The isolation level to use for this transaction The name for this transaction The cancellation token. If a transaction is already in progress. If this DataAccessAdapter is in a System.Transactions.Transaction, no real ado.net transaction will be started, as a transaction is already in progress. In that situation, this method will just open the connection if required. Async variant of . Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The name of the entity to retrieve persistence information. For example "CustomerEntity". This name can be retrieved from an existing entity's LLBLGenProEntityName property. filter information to filter out the entities to delete the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy.
This overload doesn't support Authorization or Auditing. It's recommended, if you want to use authorization and/or auditing on this method, use the overload of DeleteEntitiesDirectly which accepts a type.
Async variant of . Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The name of the entity to retrieve persistence information. For example "CustomerEntity". This name can be retrieved from an existing entity's LLBLGenProEntityName property. filter information to filter out the entities to delete The cancellation token. the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy.
This overload doesn't support Authorization or Auditing. It's recommended, if you want to use authorization and/or auditing on this method, use the overload of DeleteEntitiesDirectly which accepts a type.
Async variant of . Deletes all entities of the type passed in from the persistent storage if they match the filter supplied in filterBucket. The type of the entity to retrieve persistence information. filter information to filter out the entities to delete the amount of physically deleted entities typeOfEntity;typeOfEntity can't be null Not supported for entities which are in a TargetPerEntity hierarchy.
This overload performs authorization. Use this overload instead of the one which accepts a name instead of a type instance if you want to have authorization support at runtime.
Async variant of . Deletes all entities of the type passed in from the persistent storage if they match the filter supplied in filterBucket. The type of the entity to retrieve persistence information. filter information to filter out the entities to delete The cancellation token. the amount of physically deleted entities typeOfEntity;typeOfEntity can't be null Not supported for entities which are in a TargetPerEntity hierarchy.
This overload performs authorization. Use this overload instead of the one which accepts a name instead of a type instance if you want to have authorization support at runtime.
Async variant of . Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. Entity object which contains the new values for the entities of the same type and which match the filter in filterBucket. Only fields which are changed are updated. filter information to filter out the entities to update. the number of physically updated entities. Use this number only to test if the update succeeded (so value is > 0). Async variant of . Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. Entity object which contains the new values for the entities of the same type and which match the filter in filterBucket. Only fields which are changed are updated. filter information to filter out the entities to update. The cancellation token. the number of physically updated entities. Use this number only to test if the update succeeded (so value is > 0). Async variant of . Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. If the passed in entity has a concurrency predicate factory object, the returned predicate expression is used to restrict the delete process. The entity instance to delete from the persistent storage true if the delete was succesful, otherwise false. Async variant of . Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. If the passed in entity has a concurrency predicate factory object, the returned predicate expression is used to restrict the delete process. The entity instance to delete from the persistent storage The cancellation token. true if the delete was succesful, otherwise false. Async variant of . Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. The entity instance to delete from the persistent storage Predicate expression, meant for concurrency checks in a delete query true if the delete was succesful, otherwise false. Will throw an ORMConcurrencyException if the delete fails. Async variant of . Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. The entity instance to delete from the persistent storage Predicate expression, meant for concurrency checks in a delete query The cancellation token. true if the delete was succesful, otherwise false. Will throw an ORMConcurrencyException if the delete fails. Async variant of . Saves the passed in entity to the persistent storage. Will not refetch the entity after this save. The entity will stay out-of-sync. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. Will not refetch the entity after this save. The entity will stay out-of-sync. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save The cancellation token. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. The cancellation token. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. The cancellation token. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. Predicate expression, meant for concurrency checks in an Update query. Will be ignored if the entity is new. This predicate is used instead of a predicate produced by a set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. The cancellation token. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Async variant of . Deletes all dirty objects inside the collection passed from the persistent storage. It will do this inside a transaction if a transaction is not yet available. Entities which are physically deleted from the persistent storage are marked with the state 'Deleted' but are not removed from the collection. EntityCollection with one or more dirty entities which have to be persisted the amount of physically deleted entities Async variant of . Deletes all dirty objects inside the collection passed from the persistent storage. It will do this inside a transaction if a transaction is not yet available. Entities which are physically deleted from the persistent storage are marked with the state 'Deleted' but are not removed from the collection. EntityCollection with one or more dirty entities which have to be persisted The cancellation token. the amount of physically deleted entities Async variant of . Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. Will not refetch saved entities and will not recursively save the entities. EntityCollection with one or more dirty entities which have to be persisted the amount of persisted entities Async variant of . Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. Will not refetch saved entities and will not recursively save the entities. EntityCollection with one or more dirty entities which have to be persisted The cancellation token. the amount of persisted entities Async variant of . Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. EntityCollection with one or more dirty entities which have to be persisted Refetches a saved entity from the database, so the entity will not be 'out of sync' When true, it will save all dirty objects referenced (directly or indirectly) by the entities inside collectionToSave also. the amount of persisted entities Async variant of . Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. EntityCollection with one or more dirty entities which have to be persisted Refetches a saved entity from the database, so the entity will not be 'out of sync' When true, it will save all dirty objects referenced (directly or indirectly) by the entities inside collectionToSave also. The cancellation token. the amount of persisted entities Async variant of . Executes the passed in action query and, if not null, runs it inside the passed in transaction. ActionQuery to execute. The cancellation token. execution result, which is the amount of rows affected (if applicable) Async variant of . Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 or more rows. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute the factory object which can produce the entities this method has to fill. Collection to fill with the retrieved rows. The persistence information for the fields of the entity created by entityFactory Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query The cancellation token. Async variant of . Executes the passed in retrieval query and returns the results in thedatatable specified using the passed in data-adapter. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute The dataadapter to use to fill the datatable. DataTable to fill Fields persistence info objects for the fields used for the query. Required for type conversion on values. The cancellation token. true if succeeded, false otherwise Executes the specified plain SQL query using this adapter. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Creates a new predicate expression which filters on the primary key fields and the set values for the given primary key fields. If no primary key fields are specified, null is returned. ArrayList with IEntityField2 instances which form the primary key for which the filter has to be constructed filled in predicate expression or null if no primary key fields are specified. Call this method passing IEntity2.Fields.PrimaryKeyFields Executes the passed in action query and, if not null, runs it inside the passed in transaction. ActionQuery to execute. execution result, which is the amount of rows affected (if applicable) Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 row. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute The IEntityFields2 object to store the fetched data in The IFieldPersistenceInfo objects for the fieldsToFill fields Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 or more rows. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute the factory object which can produce the entities this method has to fill. Collection to fill with the retrieved rows. The persistence information for the fields of the entity created by entityFactory Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query Executes the passed in retrieval query and returns the results as a datatable using the passed in data-adapter. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute The dataadapter to use to fill the datatable. Fields persistence info objects for the fields used for the query. Required for type conversion on values. DataTable with the rows requested Executes the passed in retrieval query and returns the results in thedatatable specified using the passed in data-adapter. It sets the connection object of the command object of query object passed in to the connection object of this class. Retrieval query to execute The dataadapter to use to fill the datatable. DataTable to fill Fields persistence info objects for the fields used for the query. Required for type conversion on values. true if succeeded, false otherwise Starts a new transaction. All database activity after this call will be ran in this transaction and all objects will participate in this transaction until its committed or rolled back. If there is a transaction in progress, an exception is thrown. Will create and open a new connection if a transaction is not open and/or available. The isolation level to use for this transaction The name for this transaction If a transaction is already in progress. Creates a savepoint with the name savePointName in the current transaction. You can roll back to this savepoint using . name of savepoint. Must be unique in an active transaction If no transaction is in progress. if savePointName is empty or null if the .NET database provider doesn't support transaction saving or when COM+ is used. Rolls back the transaction in action to the savepoint with the name savepointName. No internal objects are being reset when this method is called, so call this Rollback overload only to roll back to a savepoint. To roll back a complete transaction, call Rollback() without specifying a savepoint name. Create a savepoint by calling SaveTransaction(savePointName) If no transaction is in progress. if savePointName is empty or null if the .NET database provider doesn't support transaction rolling back a transaction to a named point or when COM+ is used. name of the savepoint to roll back to. Opens the active connection object. If the connection is already open, nothing is done. If no connection object is present, a new one is created Closes the active connection. If no connection is available or the connection is closed, nothing is done. Saves the passed in entity to the persistent storage. Will not refetch the entity after this save. The entity will stay out-of-sync. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. The entity to save true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will do a recursive save. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Saves the passed in entity to the persistent storage. If the entity is new, it will be inserted, if the entity is existent, the changed entity fields will be changed in the database. Will pass the concurrency predicate returned by GetConcurrencyPredicate(ConcurrencyPredicateType.Save) as update restriction. The entity to save When true, it will refetch the entity from the persistent storage so it will be up-to-date after the save action. When true, it will save all dirty objects referenced (directly or indirectly) by entityToSave also. true if the save was succesful, false otherwise. Will use a current transaction if a transaction is in progress Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object) The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object) The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object) The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. The context to add the entity to if the fetch was succesful. Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object) The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the passed in Entity2 object using a primary key filter. The primary key fields of the entity passed in have to have the primary key values. (Example: CustomerID has to have a value, when you want to fetch a CustomerEntity from the persistent storage into the passed in object). All fields specified in excludedFields are excluded from the fetch so the entity won't get any value set for those fields. excludedFields can be null or empty, in which case all fields are fetched (default). The entity object in which the fetched entity data will be stored. The primary key fields have to have a value. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. Will use a current transaction if a transaction is in progress, so MVCC or other concurrency scheme used by the database can be utilized true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the object specified using the filter specified. Use the entity's uniqueconstraint filter construction methods to construct the required uniqueConstraintFilter for the unique constraint you want to use. The entity object in which the fetched entity data will be stored. The filter which should filter on fields with a unique constraint. true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the object specified using the filter specified. Use the entity's uniqueconstraint filter construction methods to construct the required uniqueConstraintFilter for the unique constraint you want to use. The entity object in which the fetched entity data will be stored. The filter which should filter on fields with a unique constraint. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the object specified using the filter specified. Use the entity's uniqueconstraint filter construction methods to construct the required uniqueConstraintFilter for the unique constraint you want to use. The entity object in which the fetched entity data will be stored. The filter which should filter on fields with a unique constraint. The context to add the entity to if the fetch was succesful. true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the object specified using the filter specified. Use the entity's uniqueconstraint filter construction methods to construct the required uniqueConstraintFilter for the unique constraint you want to use. The entity object in which the fetched entity data will be stored. The filter which should filter on fields with a unique constraint. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. true if the Fetch was succesful, false otherwise Fetches an entity from the persistent storage into the object specified using the filter specified. Use the entity's uniqueconstraint filter construction methods to construct the required uniqueConstraintFilter for the unique constraint you want to use. The entity object in which the fetched entity data will be stored. The filter which should filter on fields with a unique constraint. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. true if the Fetch was succesful, false otherwise Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The new entity fetched. Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The new entity fetched. Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The context to add the entity to if the fetch was succesful. The new entity fetched, or a previous entity fetched if that entity was in the context specified Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The new entity fetched, or a previous entity fetched if that entity was in the context specified Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the passed in entity factory. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) The factory which will be used to create a new entity object which will be fetched the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The new entity fetched, or a previous entity fetched if that entity was in the context specified Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the specified generic type. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The new entity fetched. The type of entity to fetch TEntity can't be a type which is an abstract entity. If you want to fetch an instance of an abstract entity (e.g. polymorphic fetch) please use the overload which accepts an entity factory instead Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the specified generic type. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The context to add the entity to if the fetch was succesful. The new entity fetched, or a previous entity fetched if that entity was in the context specified The type of entity to fetch TEntity can't be a type which is an abstract entity. If you want to fetch an instance of an abstract entity (e.g. polymorphic fetch) please use the overload which accepts an entity factory instead Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the specified generic type. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The new entity fetched. The type of entity to fetch TEntity can't be a type which is an abstract entity. If you want to fetch an instance of an abstract entity (e.g. polymorphic fetch) please use the overload which accepts an entity factory instead Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the specified generic type. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The new entity fetched, or a previous entity fetched if that entity was in the context specified The type of entity to fetch TEntity can't be a type which is an abstract entity. If you want to fetch an instance of an abstract entity (e.g. polymorphic fetch) please use the overload which accepts an entity factory instead Fetches a new entity using the filter/relation combination filter passed in via filterBucket and the new entity is created using the specified generic type. Use this method when fetching a related entity using a current entity (for example, fetch the related Customer entity of an existing Order entity) the completely filled in IRelationPredicateBucket object which will be used as a filter for the fetch. The fetch will only load the first entity loaded, even if the filter results into more entities being fetched The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The context to add the entity to if the fetch was succesful, and before the prefetch path is fetched. This ensures that the prefetch path is fetched using the context specified and will re-use already loaded entity objects. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The new entity fetched, or a previous entity fetched if that entity was in the context specified The type of entity to fetch TEntity can't be a type which is an abstract entity. If you want to fetch an instance of an abstract entity (e.g. polymorphic fetch) please use the overload which accepts an entity factory instead Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. The entity instance to delete from the persistent storage true if the delete was succesful, otherwise false. Deletes the specified entity from the persistent storage. The entity is not usable after this call, the state is set to OutOfSync. Will use the current transaction if a transaction is in progress. The entity instance to delete from the persistent storage Predicate expression, meant for concurrency checks in a delete query true if the delete was succesful, otherwise false. Fetches one or more entities which match the filter information in the parameters into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. It will apply paging and it will from there use a prefetch path fetch using the read page. It's important that pageSize is smaller than the set . If pagesize is larger than the limits set for the value, the query is likely to be slower than expected, though will work. If pageNumber / pageSize are set to values which disable paging, a normal prefetch path fetch will be performed. The parameters. If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. This overload returns all found entities and doesn't apply sorting EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. This overload returns all found entities and doesn't apply sorting EntityCollection object containing an entity factory which has to be filled The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. This overload returns all found entities and doesn't apply sorting EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. This overload doesn't apply sorting EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. The prefetch path to use for this fetch, which will fetch all related entities defined by the path as well. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. It will apply paging and it will from there use a prefetch path fetch using the read page. It's important that pageSize is smaller than the set ParameterisedPrefetchPathThreshold. It will work, though if pagesize is larger than the limits set for the ParameterisedPrefetchPathThreshold value, the query is likely to be slower than expected. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. Prefetch path to use. the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied If the passed in collectionToFill doesn't contain an entity factory. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. It will apply paging and it will from there use a prefetch path fetch using the read page. It's important that pageSize is smaller than the set . If pagesize is larger than the limits set for the value, the query is likely to be slower than expected, though will work. If pageNumber / pageSize are set to values which disable paging, a normal prefetch path fetch will be performed. EntityCollection object containing an entity factory which has to be filled filter information for retrieving the entities. If null, all entities are returned of the type created by the factory in the passed in EntityCollection instance. The maximum amount of entities to return. If 0, all entities matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. Prefetch path to use. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied If the passed in collectionToFill doesn't contain an entity factory. Special thanks to Marcus Mac Innes (http://www.styledesign.biz) for the paging optimization code. Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. Will not refetch saved entities and will not recursively save the entities. EntityCollection with one or more dirty entities which have to be persisted the amount of persisted entities Saves all dirty objects inside the collection passed to the persistent storage. It will do this inside a transaction if a transaction is not yet available. EntityCollection with one or more dirty entities which have to be persisted Refetches a saved entity from the database, so the entity will not be 'out of sync' When true, it will save all dirty objects referenced (directly or indirectly) by the entities inside collectionToSave also. the amount of persisted entities Deletes all dirty objects inside the collection passed from the persistent storage. It will do this inside a transaction if a transaction is not yet available. Entities which are physically deleted from the persistent storage are marked with the state 'Deleted' but are not removed from the collection. If the passed in entity has a concurrency predicate factory object, the returned predicate expression is used to restrict the delete process. EntityCollection with one or more dirty entities which have to be persisted the amount of physically deleted entities Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The name of the entity to retrieve persistence information. For example "CustomerEntity". This name can be retrieved from an existing entity's Name property. filter information to filter out the entities to delete the amount of physically deleted entities Deletes all entities of the name passed in as entityName (e.g. "CustomerEntity") from the persistent storage if they match the filter supplied in filterBucket. The type of the entity to retrieve persistence information. filter information to filter out the entities to delete the amount of physically deleted entities Not supported for entities which are in a TargetPerEntity hierarchy. Updates all entities of the same type of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entity object which contains the new values for the entities of the same type and which match the filter in filterBucket. Only fields which are changed are updated. filter information to filter out the entities to update. the amount of physically updated entities Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. Doesn't apply any sorting, doesn't limit the resultset on the amount of rows to return, does allow duplicates. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. Doesn't apply any sorting, doesn't limit the resultset on the amount of rows to return. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. Doesn't apply any sorting. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. Use the typed list's method GetFieldsInfo() to retrieve this IEntityField2 information The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. Use the typed list's method GetFieldsInfo() to retrieve this IEntityField2 information The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. GroupByCollection with fields to group by on Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() IEntityField2 collection which contains the fields to fetch into the datatable. The fields inside this object are used to construct the selection resultset. Use the typed list's method GetFieldsInfo() to retrieve this IEntityField2 information The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. GroupByCollection with fields to group by on the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a typed list object. For TypedView filling, use the method FetchTypedView() The datatable object to fill with the data for the fields in fieldCollectionToFetch The parameters. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in the passed in typed list. For TypedView filling, use the method FetchTypedView() Typed list to fill. Grabs the fields list and relations set from the typed list passed in. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in the passed in typed list. For TypedView filling, use the method FetchTypedView() Typed list to fill. An additional filter to use to filter the fetch of the typed list. If you need a more sophisticated filter approach, please use the overload which accepts an IRelationalPredicateBucket and add your filter to the bucket you receive when calling typedListToFill.GetRelationInfo(). Grabs the fields list and relations set from the typed list passed in. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in the passed in typed list. For TypedView filling, use the method FetchTypedView() Typed list to fill. An additional filter to use to filter the fetch of the typed list. If you need a more sophisticated filter approach, please use the overload which accepts an IRelationalPredicateBucket and add your filter to the bucket you receive when calling typedListToFill.GetRelationInfo(). The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Grabs the fields list and relations set from the typed list passed in. Fetches the fields passed in fieldCollectionToFetch from the persistent storage using the relations and filter information stored in the passed in typed list. For TypedView filling, use the method FetchTypedView() Typed list to fill. An additional filter to use to filter the fetch of the typed list. If you need a more sophisticated filter approach, please use the overload which accepts an IRelationalPredicateBucket and add your filter to the bucket you receive when calling typedListToFill.GetRelationInfo(). The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied Grabs the fields list and relations set from the typed list passed in. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage into the DataTable object passed in. Doesn't apply any sorting, doesn't limit the amount of rows returned by the query, doesn't apply any filtering, allows duplicate rows. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. The datatable object to fill with the data for the fields in fieldCollectionToFetch Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the filter information stored in filterBucket into the DataTable object passed in. Doesn't apply any sorting, doesn't limit the amount of rows returned by the query. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. Use the Typed View's method GetFieldsInfo() to get this IEntityField2 field collection The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. To fill a DataTable with entity rows, use this method as well, by passing the Fields collection of an entity of the same type as the one you want to fetch as fieldCollectionToFetch. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. Use the Typed View's method GetFieldsInfo() to get this IEntityField2 field collection The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. GroupByCollection with fields to group by on To fill a DataTable with entity rows, use this method as well, by passing the Fields collection of an entity of the same type as the one you want to fetch as fieldCollectionToFetch. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the filter information stored in filterBucket into the DataTable object passed in. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. Use the Typed View's method GetFieldsInfo() to get this IEntityField2 field collection The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. GroupByCollection with fields to group by on the page number to retrieve. First page is 1. When set to 0, no paging logic is applied the size of the page. When set to 0, no paging logic is applied To fill a DataTable with entity rows, use this method as well, by passing the Fields collection of an entity of the same type as the one you want to fetch as fieldCollectionToFetch. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the filter information stored in filterBucket into the DataTable object passed in. Doesn't apply any sorting Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. The datatable object to fill with the data for the fields in fieldCollectionToFetch filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage into the DataTable object passed in. Doesn't apply any sorting, doesn't limit the amount of rows returned by the query, doesn't apply any filtering. Use this routine to fill a TypedView object. IEntityField2 collection which contains the fields of the typed view to fetch into the datatable. The datatable object to fill with the data for the fields in fieldCollectionToFetch When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the typed view, using the query specified. The typed view to fill. The query to use. Used with stored procedure calling IRetrievalQuery instances to fill a typed view mapped onto a resultset. Be sure to call Dispose() on the passed in query, as it's not disposed in this method. Fetches the Typed View fields passed in fieldCollectionToFetch from the persistent storage using the query information stored in parameters into the DataTable object passed in. Use this routine to fill a TypedView object. The data table to fill. The parameters. Fetches the Typed View passed in from the persistent storage Doesn't apply any sorting, doesn't limit the amount of rows returned by the query, doesn't apply any filtering, allows duplicate rows. Use this routine to fill a TypedView object. Typed view to fill. Fetches the Typed View passed in from the persistent storage Doesn't apply any sorting, doesn't limit the amount of rows returned by the query. Use this routine to fill a TypedView object. Typed view to fill. filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the Typed View passed in from the persistent storage Typed view to fill. filter information (relations and predicate expressions) for retrieving the data. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. To fill a DataTable with entity rows, use this method as well, by passing the Fields collection of an entity of the same type as the one you want to fetch as fieldCollectionToFetch. Fetches the Typed View passed in from the persistent storage Typed view to fill. filter information (relations and predicate expressions) for retrieving the data. The maximum amount of rows to return. If 0, all rows matching the filter are returned SortClause expression which is applied to the query executed, sorting the fetch result. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. GroupByCollection with fields to group by on To fill a DataTable with entity rows, use this method as well, by passing the Fields collection of an entity of the same type as the one you want to fetch as fieldCollectionToFetch. Fetches the Typed View passed in from the persistent storage Doesn't apply any sorting. Use this routine to fill a TypedView object. Typed view to fill. filter information (relations and predicate expressions) for retrieving the data. Use the TypedList's method GetRelationInfo() to retrieve this bucket. The maximum amount of rows to return. If 0, all rows matching the filter are returned When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Fetches the Typed View passed in from the persistent storage Doesn't apply any sorting, doesn't limit the amount of rows returned by the query, doesn't apply any filtering. Use this routine to fill a TypedView object. Typed view to fill. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. Executes the passed in retrievalquery and returns an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The query to execute. The reader behavior to set. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The reader behavior to set. The parameters. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The fields to use to build the query. The filter. The reader behavior to set. The max number of items to return. Specify 0 to return all elements If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The fields to use to build the query. The filter. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The fields to use to build the query. The filter. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is in progress, the command is wired to the transaction. The fields to use to build the query. The filter. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. The group by clause. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the dataaccessadapter's connection is also open Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The fields to use to build the query. The filter. The max number of items to return. Specify 0 to return all elements If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The fields to use to build the query. The filter. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The fields to use to build the query. The filter. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The fields to use to build the query. The filter. The max number of items to return. Specify 0 to return all elements The sort clauses. The group by clause. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The query to execute. Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The reader which points to the first row of a resultset Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. The resultset won't be cached in the resultset cache. To cache the resultset, use the overload which accepts the IRetrievalQuery executed Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The reader which points to the first row of a resultset the query object executed which produced the reader. Pass the executed query object to make sure resultset caching is possible. Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will occur if the passed in executedQuery is setup to cache its resultset. Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The parameters. Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. Type of the return elements, one for each row The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open Type of the return elements, one for each row The open reader to project the active resultset of List of instances of T, one for each row in the resultset of reader Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will not occur. To use resultset caching, use the overload which accepts an IRetrievalQuery Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open Type of the return elements, one for each row The open reader to project the active resultset of the query object executed which produced the reader. Pass the executed query object to make sure resultset caching is possible. List of instances of T, one for each row in the resultset of reader Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will occur if the passed in executedQuery is setup to cache its resultset. Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Executes the specified plain SQL query using this adapter and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Gets a scalar value, calculated with the aggregate and expression specified. the field specified is the field the expression and aggregate are applied on. Field to which to apply the aggregate function and expression Aggregate function to apply. the scalar value requested Gets a scalar value, calculated with the aggregate and expression specified. the field specified is the field the expression and aggregate are applied on. Field to which to apply the aggregate function and expression The expression to execute. Can be null Aggregate function to apply. the scalar value requested Gets a scalar value, calculated with the aggregate and expression specified. the field specified is the field the expression and aggregate are applied on. Field to which to apply the aggregate function and expression The expression to execute. Can be null Aggregate function to apply. The filter to apply to retrieve the scalar the scalar value requested Gets a scalar value, calculated with the aggregate and expression specified. the field specified is the field the expression and aggregate are applied on. Field to which to apply the aggregate function and expression The expression to execute. Can be null Aggregate function to apply. The filter to apply to retrieve the scalar The groupby clause to apply to retrieve the scalar the scalar value requested Gets a scalar value, calculated with the aggregate and expression specified. the field specified is the field the expression and aggregate are applied on. Field to which to apply the aggregate function and expression The expression to execute. Can be null Aggregate function to apply. The filter to apply to retrieve the scalar The groupby clause to apply to retrieve the scalar The relations part of the filter. the scalar value requested Executes the expression defined with the field in the fields collection specified, using the various elements defined. The expression is executed as a scalar query and a single value is returned. IEntityFields2 instance with a single field with an expression defined and eventually aggregates filter to use The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. the value which is the result of the expression defined on the specified field Executes the expression defined with the field in the fields collection specified, using the various elements defined. The expression is executed as a scalar query and a single value is returned. IEntityFields2 instance with a single field with an expression defined and eventually aggregates filter to use The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. The relations part of the filter. the value which is the result of the expression defined on the specified field Gets the estimated number of objects returned by a query for objects to store in the entity collection passed in, using the filter and groupby clause specified. The number is estimated as duplicate objects can be present in the plain query results, but will be filtered out when the query result is transformed into objects. EntityCollection instance which will be fetched by the query to get the rowcount for filter to use by the query to get the rowcount for the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Gets the estimated number of objects returned by a query for objects to store in the entity collection passed in, using the filter and groupby clause specified. The number is estimated as duplicate objects can be present in the plain query results, but will be filtered out when the query result is transformed into objects. EntityCollection instance which will be fetched by the query to get the rowcount for filter to use by the query to get the rowcount for The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields2 instance with the fields returned by the query to get the rowcount for filter to use by the query to get the rowcount for the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields2 instance with the fields returned by the query to get the rowcount for filter to use by the query to get the rowcount for The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields2 instance with the fields returned by the query to get the rowcount for filter to use by the query to get the rowcount for The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. When true, it will not filter out duplicate rows, otherwise it will DISTINCT duplicate rows. the number of rows the query for the fields specified, using the filter, relations and groupbyClause specified. This method performs a SELECT COUNT(*) FROM (actual query) and executes that as a scalar query. This construct is not supported on Firebird. You can try to achieve the same results by using GetScalar and AggregateFunction.CountRow, though those results can differ from the result returned by GetDbCount if you use a group by clause. Executes the passed in query as a scalar query and returns the value returned from this scalar execution. a scalar query, which is a SELECT query which returns a single value the scalar value returned from the query. Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. The excludedIncludedFields object as it is used when fetching the passed in entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. The excludedIncludedFields object as it is used when fetching the passed in collection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Gets or sets the parameterised prefetch path threshold. This threshold is used to determine when the prefetch path logic should switch to a subquery or when it should use a WHERE field IN (value1, value2, ... valueN) construct, based on the # of elements in the parent collection. If that # of elements exceeds this threshold, a subquery is constructed, otherwise field IN (value1, value2, ...) construct is used. The default value is 50. On average, this is faster than using a subquery which returns 50 elements. Use this to tune prefetch path fetch logic for your particular needs.

This threshold is also used to determine if paging is possible. A page size bigger than this threshold will disable the paging functionality when using paging + prefetch paths.
Testing showed that values larger than 300 will be slower than a subquery.

Special thanks to Marcus Mac Innes (http://www.styledesign.biz) for this optimization code.
Gets / sets the isolation level a transaction should use. Setting this during a transaction in progress has no effect on the current running transaction. Gets the name of the transaction. Setting this during a transaction in progress has no effect on the current running transaction. Gets / sets the connection string to use for the connection with the database. Gets / sets KeepConnectionOpen, a flag used to keep open connections after a database action has finished. Gets / sets the timeout value to use with the command object(s) created by the adapter. Default is 30 seconds Set this prior to calling a method which executes database logic. Gets a value indicating whether a System.Transactions transaction is going on. If not, false is returned. true if [in system transaction]; otherwise, false. Gets the function mappings for the DQE related to this object. These function mappings are static and therefore not changeable. Gets or sets the active recovery strategy to use with supported actions on this DataAccessAdapter. If null (default), no recovery strategy is used and all exceptions are fatal. The flag (default true) to signal the adapter that entities participating in a transaction controlled by this adapter are tracked during the transaction and which values are rolled back after a rollback of the transaction itself. Only set this flag to false if the entities participating in a transaction are not kept in memory during or after the transaction's life time. Gets / sets the size of the batch command when performing multiple entity insert / update / delete statements. If set to a value of 0, every entity insert / update / delete statement will be executed using its own DbCommand. If set to a value of 2 or higher, insert / update / delete statements are packed together into a single DbCommand, the number of packed statements is equal or lower than the value of BatchSize. Packed statements are queries with multiple SQL statements packed together in a single DbCommand. It's not recommended to set this property to a very high value, as databases process packed SQL statements slower than single commands and as parameter names are unique across the complete SQL string, re-using execution plans is not always possible. Set BatchSize to a value of 30 or lower for most operations; it's primarily used to mitigate network latency: the higher the network latency the higher BatchSize can become, to the point where processing the packed SQL string by the database is slower than the combined network latency of all single SQL statements. Not all databases support packing multiple SQL statements into a single DbCommand. Please consult the LLBLGen Pro Runtime Framework user manual for a list of databases which support this feature. If the database used with this DataAccessAdapter doesn't support batching, setting this property has no effect, it will always be reset to 0, and all SQL statements are executed in their own DbCommand When set to a value of -1 or lower Gets/sets the flag whether an active recovery strategy should be used. This property is true by default. If false, a query will executed outside the active recovery strategy set on this adapter. Interface for the EntityCollection2 type. The collection defines typed basic collection behavior. Adapter specific Adds an IEntity2 object to the list. Entity2 to add Index in list Adds the range of objects passed in. Objects have to be IEntity2 implementing objects Collection to add Inserts an IEntity2 on position Index Index where to insert the Object Entity Entity2 to insert Remove given IEntity2 instance from the list. Entity2 object to remove from list. Removes the IEntity instance at the index given. Index in list to remove the element. Returns true if the list contains the given IEntity2 Object Entity2 object to check. true if Entity2 exists in list. Returns index in the list of given IEntity2 object. Entity2 Object to check index in list. copy the complete list of IEntity2 objects to an array of IEntity objects. Array of IEntity2 Objects wherein the contents of the list will be copied. Start index to copy from Sets the entity information of the entity object containing this collection. Call this method only from entity classes which contain EntityCollection members, like 'Customer' which contains 'Orders' entity collection. The entity containing this entity collection as a member variable The field the containing entity has mapped onto the relation which delivers the entities contained in this collection Converts this entity collection to XML, recursively. Uses "EntityCollection" for the rootnode name The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. Uses "EntityCollection" for the rootnode name the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML. name of root element to use when building a complete XML representation of this entity collection. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML, recursively. Uses "EntityCollection" for the rootnode name The aspect flags to control the format of the XML produced The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. Uses "EntityCollection" for the rootnode name The aspect flags to control the format of the XML produced the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity collection. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML The writer to write the output to. The aspect flags to control the format of the XML produced Converts this entity collection to XML The writer to write the output to. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity collection. Will fill the entity collection and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCollection2.WriteXml() and the Xml has to be compatible with the structure of this entity collection. XmlNode with Xml data which should be read into this entity and its members. Node's root element is the root element of the entity collection's Xml data Will fill the entity collection and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCollection2.WriteXml() and the Xml has to be compatible with the structure of this entity collection. string with Xml data which should be read into this entity collection and its members. This string has to be in the correct format and should be loadable into a new XmlDocument without problems Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection. Per entity type found, a new datatable is created inside destination or if one with the name of the entity is already present, that one is used. It will simply project every data element. The destination dataset in which the projection result is stored. Each DataTable has the name of the entity contained, e.g. "CustomerEntity". DataRelations are created between the data if applicable. Data in destination's datatables (if present) is removed before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection, using the collectionProjections data passed in. Per entity type found, a new datatable is created inside destination or if one with the name of the entity is already present, that one is used. The projection data per entity type The destination dataset in which the projection result is stored. Each DataTable has the name of the entity contained, e.g. "CustomerEntity". DataRelations are created between the data if applicable. Data in destination's datatables (if present) is removed before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection. Per entity type found, an entry is stored inside the destination dictionary. It will simply project every data element. The destination dictionary in which the projection result is stored. destination is cleared before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection, using the collectionProjections data passed in. Per entity type found, an entry is stored inside the destination dictionary. The projection data per entity type The destination dictionary in which the projection result is stored. destination is cleared before a projection is performed. Creates a new EntityView2 object of the right type on this collection with no filter nor sorter applied. new EntityView2 on this collection Creates a new EntityView2 object of the right type on this collection with the passed in filter applied The filter. new EntityView2 on this collection Creates a new EntityView2 object of the right type on this collection with the passed in filter and sorter applied to it. The filter. The sorter. new EntityView2 on this collection Creates a new EntityView2 object of the right type on this collection with the passed in filter and sorter applied to it and the dataChangeAction set to the passed in value. The filter. The sorter. The data change action to take if data in the related collection changes. new EntityView2 on this collection Gets the default view for this entitycollection. The returned value is the same instance every time this property is read. It's a new entity view without a filter or a sorter. The default view. Returns true if this collection contains dirty objects. If this collection contains dirty objects, an already filled collection should not be refreshed until a save is performed. The EntityFactory2 to use when creating entity objects when bound to a control and AddNew is enabled. Simple indexer. Returns a readonly collection of entities which are flagged as dirty. This collection is determined on the fly, you can use this collection to remove dirty entities from this entity collection. When set to true, an entity passed to Add() or Insert() will be tested if it's already present. If so, the index is returned and the object is not added again. If set to false (default: true) this check is not performed. Setting this property to true can slow down fetch logic. DataAccessAdapter's fetch logic sets this property to false during a multi-entity fetch. Gets / sets the IConcurrencyPredicateFactory instance to use when creating entity objects during an entity collection fetch Gets / sets the initial capacity of the entity collection. Gets or sets the entity collection which should be used as removed entities tracker. If this property is set to an IEntityCollection2 instance, all entities which are removed from this collection are marked for deletion and placed in this removed entities tracker collection. This collection can then later on be used to delete these entities from the database in one go. Interface for TypedView classes. Adapter specific. Gets the IEntityFields2 collection of fields of this typed view. Use this method in combination with the FetchTypedView() methods in DataAccessAdapter. Ready to use IEntityFields2 collection object. Returns the amount of rows in this typed view. Interface for TypedList classes. ITypedList is already defined in .NET, that's why it is suffixed with Lgp. Adapter specific. Gets the IEntityFields2 collection of fields of this typed view. Use this method in combination with the FetchTypedView() methods in DataAccessAdapter. Ready to use IEntityFields2 collection object. Gets the IRelationPredicateBucket object which contains the relation information for this Typed List. Use this method in combination with the FetchTypedList() methods in DataAccessAdapter. Ready to use IRelationPredicateBucket object. General interface to access common properties of an EntityView(Of TEntity) without knowing the type of TEntity. Event which is fired when the entity collection related to this entityview is changed. Determines whether this entity view contains the entity passed in. This method returns false if the entity is outside the filter, but in the related entity collection, as it's then not contained in the entity view. The entity to check True if the entity is present, otherwise false. Determines the index of the entity passed in in the entity view in filtered and sorted state. The entity to get the index of. Index of the entity in this entityview Copies all entities in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. New collection with all entities in this view Copies all entities starting at startIndex in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. The start index for the interval to copy to the entity collection New collection with all entities in this view Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the project does with the data is up to the projector. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the project does with the data is up to the projector. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the project does with the data is up to the projector. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Gets or sets the sorter for this entity view. Setting this property will re-sort the view and will reset the view in databinding scenario's. The sort expression to use. Gets or sets the filter to use for this entity view. The filter to use Gets the count of the view. The count. Gets the at the specified index in the view Gets/sets whether you can add items to the list using . true if you can add items to the list using ; otherwise, false. if the related collection is set to readonly, this operation is a no-op Gets whether you can remove items from the list, using or . if the related collection is set to readonly, this operation is a no-op Gets / sets whether you can update items in the list. true if you can update the items in the list; otherwise, false. if the related collection is set to readonly, this operation is a no-op Gets the related collection set for this view. The related collection. Gets or sets the data change action which specifies what to do when the data in the related collection of an entity view changes. A change in data can be: entity added or changed. If an entity is removed from the underlying collection, the entity is simply removed from the entity view, as the view doesn't contain any data by itself. The data change action. Interface for a cache which caches resultsets Adds the specified toCache to this cache under the key specified for the duration specified The key. The resultset to cache The duration how long the resultset will stay in the cache. If an object is already present under 'key', Add is a no-op. Adds the specified toCache to this cache under the key specified for the duration specified The key. The resultset to cache The duration how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. Adds the specified toCache to this cache under the key specified for the duration specified and assigns the tag specified to it. The key. The resultset to cache The duration how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. The tag under which the resultset has to be cached. Gets the cached resultset under the key specified. The key. The cached resultset, if present, otherwise null Gets the cached resultsets with the tag specified. The tag which resultsets have to be returned. the cached resultsets which have the specified tag assigned to them, otherwise empty list. Purges the resultset cached under the key specified from the cache, if present. The key. Purges the resultsets cached with the tag specified from the cache, if present. The tag. Interface which is used to set the context on an element which isn't participating in an active context. Gets or sets the context to use for the query. Interface for unit of work classes. Resets the inner contents of this Unit of work object Adds the passed in entity for deletion. The entity to delete via this unit of work true if the entity is accepted, false if the entity is rejected (entity is new) Adds the passed in entity for saving. No refetching will be applied. Save is recursive. The entity to save via this unit of work true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the passed in entity for saving. No refetching will be applied. Save is recursive. The entity to save via this unit of work When true, it will refetch the entity saved after the save action. true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the collection with entities for saving. No recursion and no refetch are done for these entities. collection with entities to be added for saving Adds the collection with entities for saving. collection with entities to be added for saving When true, it will refetch all entities saved after the save action. When true, the entities in the collection will be saved recursively. Adds the collection with entities for deletion. collection with entities to be added for deletion Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. This order can be controlled by the constructor of the unit of work which allows users to define a different work order. The controller of the ado.net transaction to use. If the controller specified has a transaction open, the auto-commit flag is set to false and the transaction is committed when the transaction of the passed in controller is committed, otherwise the auto-commit flag is set to true as the transaction is started by the unit of work. The total # of entities affected by all actions performed in the Commit method Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. This order can be controlled by the constructor of the unit of work which allows users to define a different work order. The controller of the ado.net transaction to use. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback The total # of entities affected by all actions performed in the Commit method Async variant of Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. This order can be controlled by the constructor of the unit of work which allows users to define a different work order. The controller of the ado.net transaction to use. The cancellation token. The total # of entities affected by all actions performed in the Commit method If the controller specified has a transaction open, the auto-commit flag is set to false and the transaction is committed when the transaction of the passed in controller is committed, otherwise the auto-commit flag is set to true as the transaction is started by the unit of work. Gets whether the unit of work is empty true if there's no work in this unit of work, false otherwise Interface for classes which control an ado.net transaction object and which can commit/rollback this transaction Raised when Commit was successful. Raised when Rollback was successful. Commits the controlled ado.net transaction Rolls back the controlled ado.net transaction Gets IsTransactionInProgress. True when there is a transaction in progress. Interface for the Entity Fields types. An Entity Fields type is a collection of IEntityFieldCore objects which forms the total amount of fields for a given entity. Expands this entity fields object by appending numberOfCells new cells to this object. number of cells to append to this fieldsobject Use with care. Empty cells can cause the DQE's to produce undefined results. Use this routine to append fields to a Typed list in code for example. Contracts the list of fields so all empty slots at the end of the list of fields are removed. Doesn't perform a contract operation if the fields object is empty the new size of the fields object, or if the fields object is completely empty, the full size Compacts the list of fields so all empty slots are removed. Clones this instance and its contents using a deep copy. an exact, deep copy of this IEntityFieldsCore object and its contents. Creates a shallow copy of this instance, which means that a new IEntityFieldsCore object is created but all membervariables are kept the same. Shallow copy of this instance Clones this object to a new IEntityFieldsCore object where all fields are changed and the object itself is marked dirty. Overrides the GetHashCode routine. It will calculate a hashcode for this set of entity fields using the eXclusive OR of the hashcodes of the primary key fields in this set of entity fields. That hashcode is returned. If no primary key fields are present, the hashcode of the base class is returned, which will not be unique. Hashcode for this entity object, based on its primary key field values Returns the complete list of IEntityFieldCore objects as an array of IEntityFieldCore objects. Array of IEntityFieldCore objects Reads the fields which are childnodes of the passed in fieldsElement into this object Writes the XML of this Fields object to the writer specified The writer. The aspects. Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on The alias to use for this field in the resultset Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on the aggregate function to apply to this field. Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on The alias to use for this field in the resultset the aggregate function to apply to this field. Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on The alias to use for this field in the resultset The alias to use for the entity this field belongs to. Required to specify multiple times the same entity in a typed list Adds the specified field on the position indexInFields in the resultset. The field to add. The position in the resultset where the field will be created on The alias to use for this field in the resultset The alias to use for the entity this field belongs to. Required to specify multiple times the same entity in a typed list the aggregate function to apply to this field. Removes the expressions from fields and returns them in the dictionary, key is field index, value is the expression on that field. Only removes expressions from fields which have a non-empty containingobjectname, as those are real entity fields. Dictionary with 0 or more field index - expression pairs. Reassigns the expressions on fields. Specified are the expressions per field index, as returned by CleanAndPreserveExpressionsFromFields Index of the expression per field. Serializes the data of this fields object into the SerializationInfo object specified. The info. Deserializes the data of this fields object from the SerializationInfo object specified. Gets the field states for transaction state save array with field states Sets the field states. Used in transaction state save The field states. Gets the entity names of fields. Gets the current value for the field at index specified. The index. value of the field at the index specified, or null if not found/known Gets the DB value for the field at index specified. The index. DB value of the field at the index specified, or null if not found/known Sets the db value for the field at the index specified. The index. The value. Sets the current value for the field at index specified. The index. The value. Gets the IsChanged flag for the field at the index specified. The index. true if the field's value has been changed, false otherwise Sets the IsChanged flag for the field specified. Sets IsDirty to true if value is true. The index. the value to set Gets the IsNull value for the field with the index specified. The index. Gets the field names of the fields contained in this fields object. Gets the field info for the field at the index specified. The index. Gets the index of the field with the name specified Name of the field. The index or -1 if not found. Sets the values for the fields, when this object is part of an entity. The new values. If this object isn't part of an entity Accepts the changes made. Used in databinding scenarios Rejects the changes made. Used in databinding scenarios Sets the current value for the field with the index specified to the currentValue specified without setting changed flags. From user code, use SetCurrentValue instead. The index. The current value. Sets the current value for the field with the index specified to the currentValue specified and the dbvalue to the dbvalue specified without setting changed flags. From user code, use SetCurrentValue instead. The index. The current value. The db value. Gets the linked super type field for the field with the index specified, or null if not applicable. The index subtype field. Marks the fields as fetched. Copies the current values to the db values and sets the state to fetched. Gets the unique field names. Gets / sets the flag if the contents of the EntityFields2 object is 'dirty', which means that one or more fields are changed. Gets / sets the IEntityFieldCore on the specified Index. When the index specified is not found in the internal datastorage. When the passed in is null When the passed in is already added. Fields have to be unique. Gets the EntityField with the specified name. When the specified name is the empty string or contains only spaces This property is read-only. If you want to set a value, use the int indexer List of IEntityFieldCore references which form the 'primary key', or uniquely identifying set of values for this set of fields, thus for the entity holding these fields. If possible use PrimaryKeyFieldInfos instead. Gets the primary key field infos. Similar to PrimaryKeyFields, but this property doesn't trigger field creation. Gets the primary key field infos of the pk fields owned by this entity, so not the pk fields inherited from a supertype. If this entity isn't in a TPE inheritance hierarchy, this property is equal to PrimaryKeyFieldInfos The state of the IEntityFieldsCore object Flag to signal if the entity fields have changed during an edit cycle which is controlled outside this IEntityFieldsCore object. If set to true, EndEdit will succeed, otherwise EndEdit will ignore any changes, since these are made in a previous edit cycle which is already ended. Gets the number of slots allocated in this fields object. Gets the fields with expression or aggregate. Gets the inheritance info provider to use. Internal interface for entity collection method access when the type of the collection isn't known. Produces the actual XML for this entity collection, recursively. Because it recurses through contained entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity collection. The writer to write the output to. Hashtable with ObjectIDs of all the objects already processed. If an entity's ObjectID is in the hashtable's key list, a ProcessedObjectReference tag is emitted and the entity will not recurse further. The aspect flags to control the format of the XML produced if set to true, the XML will contain the factory name, otherwise it won't. Used in Compact25 format if set to true, the start element produced is the absolute root element of the xml to produce. Produces the actual XML for this entity collection, recursively. Because it recurses through contained entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object Hashtable with ObjectIDs of all the objects already processed. If an entity's ObjectID is in the hashtable's key list, a ProcessedObjectReference tag is emitted and the entity will not recurse further. The aspect flags to control the format of the XML produced The XmlNode representing this complete entitycollection object, including containing data. Performs the actual conversion from Xml to entity collection data. current node which points to an entity collection node. ObjectID's of all entities instantiated list with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Performs the actual conversion from Xml to entity collection data. The reader to read xml from. ObjectID's of all entities instantiated list with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Assumes Compact25 formatted xml is present in the reader. Inserts an IEntityCore on position Index Index where to insert the Object Entity Entity2 to insert Small interface used for accessing the ActiveContext related properties on objects Gets / sets the active context this object is in. Setting this property is not adding the object to the context, it will make contained entities be added to the passed in context. If the object is already in a context, setting this property has no effect. Setting this property is done by framework code, use the Context's Add/Get methods to work with contexts and entities. Core interface for data-access logic which is used by all template groups' core persistence classes (DataAccessAdapterBase, DaoBase) Async variant of . Fetches the excluded field batch defined by the parameters specified. The returned reader is used by the batch fetcher to merge the resultset it represents into the entities hold by the caller. The result fields. The filter. Size of the batch. The cancellation token. Async variant of Calls the specified action stored procedure in the database. If a transaction is in progress, it will participate in that transaction. Stored procedure to call array of parameters to pass The cancellation token. the number of rows affected. Calls the specified action stored procedure in the database. If a transaction is in progress, it will participate in that transaction. Stored procedure to call array of parameters to pass the number of rows affected. Calls the specified retrieval stored procedure in the database. Fills the specified datatable. Will participate in the transaction if a transaction is in progress. Stored procedure to call array of parameters to specify Datatable to fill by the stored procedure true if succeeded, false otherwise Calls the specified retrieval stored procedure in the database. Fills the specified DataSet. Will participate in the transaction if a transaction is in progress. Stored procedure to call array of parameters to specify DataSet to fill by the stored procedure true if succeeded, false otherwise Creates the correct stored procedure name, i.e. with catalog / schema name replaced properly. The stored procedure to call. the stored procedure name to use in a procedure call with schemas etc. properly replaced. Gets the DB provider factory instance. ready to use Db provider factory instance Gets the db specific creator instance for the database this object targets. ready to use creator Fetches the excluded field batch defined by the parameters specified. The returned reader is used by the batch fetcher to merge the resultset it represents into the entities hold by the caller. The result fields. The filter. Size of the batch. Core interface for prefetch paths The EntityType enum value for the entity which is the root type of this path. Set in the constructor Returns the number of elenents in this object Indexer in the prefetch path Interface implemented by both IElementCreator(2) interfaces Gets the typed view fields of the typedview with the typedviewenum type value specified. The typed view type enum value. Creates a new dynamic relation instance The left operand. ready to use dynamic relation Creates a new dynamic relation instance The left operand. Type of the join. If None is specified, Inner is assumed. The right operand. The on clause for the join. ready to use dynamic relation Creates a new dynamic relation instance The left operand. Type of the join. If None is specified, Inner is assumed. Name of the entity, which is used as the right operand. The alias of the right operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The on clause for the join. ready to use dynamic relation Creates a new dynamic relation instance Name of the entity which is used as the left operand. Type of the join. If None is specified, Inner is assumed. Name of the entity, which is used as the right operand. The alias of the left operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The alias of the right operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The on clause for the join. ready to use dynamic relation Creates a new dynamic relation instance The left operand. Type of the join. If None is specified, Inner is assumed. Name of the entity, which is used as the right operand. The alias of the left operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The alias of the right operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The on clause for the join. ready to use dynamic relation Creates a new dynamic relation instance The left operand. Type of the join. If None is specified, Inner is assumed. The right operand. The alias of the left operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty. The on clause for the join. ready to use dynamic relation Obtains the inheritance info provider instance from the singleton Gets the factory of the Entity type with the EntityType value passed in The entity type value. the entity factory of the entity type or null if not found Gets the factory of the Entity type with the .NET type passed in The type of entity. the entity factory of the entity type or null if not found Simple interface for relation which is the base interface for IDynamicRelation and IEntityRelation Enables / disables the artificial aliasing for target per entity relations. This method is used to enable the artificial aliasing of entities which are in a hierarchy of TargetPerEntity and which are in this relation. This is switched on for dyn/typedlist fetches to be sure dyn/typedlists with fields from multiple entities in the same inheritance hierarchy will be retrievable properly, as they need aliasing under the hood but if the developer didn't alias the entities, the query will fail because the supertype(s) aren't joined multiple types. if set to true, enable artificial aliasing, otherwise false (default). Artificial aliasing is disabled by default Gets per alias specified in a relation all entity names covered by that alias. This means that if an entity in a relation is based on multiple entities (through inheritance) it will return all entity names the entity is based on, from the actual entity to the root of the hierarchy path and every entity name in between. Also, if the relation contains derived tables, the fields filed under the alias of the derived table are returned. Entity names per alias multivaluehashtable: per alias (key) all entity names are stored in a uniquevaluelist. The artificial alias per entity. This collection contains per entity (key) the artificial alias (value), IF such an artificial alias has been given out. (only done with entities which are part of a hierarchy of type TargetPerEntity) Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Gets the alias for the left operand. Gets the alias for the right operand. Gets the name of the left operand for hint targeting. This is either AliasLeftOperand, or if that's empty the containing entity name of the left operand field, if applicable otherwise an empty string. Gets the name of the right operand for hint targeting. This is either AliasRightOperand, or if that's empty the containing entity name of the right operand field, if applicable otherwise an empty string. The join type to use. If right operand is null and left operand is a DerivedTableDefinition, this value is ignored. Returns true if the start element of the relation (the left operand) is the Pkside. Gets the left operand's InheritanceInfo Gets the right operand's InheritanceInfo Interface definition for the DynamicRelation class. This interface is implemented on the DynamicRelationBase class. Sets the left operand persistence info. The persistence info. Sets the right operand persistence info. The persistence info. Gets the On clause filter for the On clause in the join. Should be null if a cross-join is used. Gets the left operand. Can be either a DerivedTableDefinition or an entity field (IEntityFieldCore) Gets the right operand. Can be either a DerivedTableDefinition or an entity field (IEntityFieldCore) or null (left operand then has to be a DerivedTableDefinition) Gets the persistence info for the left operand. Is null if left operand is a DerivedTableDefinition instead of an IEntityFieldCore Gets the persistence info for the right operand. Is null if right operand is a DerivedTableDefinition instead of an IEntityFieldCore Returns true of the left operand Is a DerivedTableDefinition Returns true of the right operand Is a DerivedTableDefinition Interface to define a derived table. A derived table is a select statement which is used inside a FROM clause of a query. Use derived table definitions in combination of DynamicRelation objects to build your query. Implemented in DerivedTableDefinition. Returns the IEntityFieldCore part of the field at position index index of field to return the IEntityFieldCore portion of the IEntityFieldCore part of the field at position index Returns the IEntityFieldCore part of the field in this derived table with the alias specified The field alias. field with the alias specified or null if not found. Gets the fields as an IEntityFieldCore array. IEntityFieldCore array with all the fields of the derived table Sets the IFieldPersistenceInfo part of the field at position index. Adapter specific. The field persistence info object to set index of field to set the persistence info of Appends the field passed in to the list of fields. The field to append. Creates a new query element from this derived table. DatabaseSpecificCreator has to be set to a value. Gets or sets the creator for SQL elements Gets / sets alias Gets / sets allowDuplicates Gets / sets filter Gets / sets relations Gets / sets sorter Gets / sets groupBy Gets / sets maxNumberOfItemsToReturn Gets the field count. Gets whether this instance has any unioned queries defined (true) or not (false) Returns the unioned derived table definitions of this instance. Interface for the auditor to be used with entity instances at runtime. Auditors audit at runtime various actions on entities and allow automatic persistence of audit information in audit entities when transactions are committed. Audits when an entity field's value is succesfully obtained from the passed in entity The entity a field's value was obtained. Index of the field which value was obtained. Be careful when using this auditing routine, because a lot of calls will be made to this routine when data is for example shown in a grid. Another thing to realize is that the audit information is stored inside the auditor which is inside an entity which might not be persisted/deleted later on. This means that if you use the audit data to produce entities which are then returned by GetAuditEntitiesToSave are never persisted if the entity this auditor is the auditor of is never persisted/deleted. In that situation, to get reliable journalling, use an external service to log the audit data. Audits when an entity field is set succesfully to a new value. The entity a field was set to a new value. Index of the field which got a new value. The original value of the field with the index passed in before it received a new value. Audits the successful dereference of related entity from the entity passed in. The entity of which the related entity was dereferenced from. The related entity which was dereferenced from entity Name of the mapped field onto the relation from entity to related entity for which the related entity was dereferenced. Audits the successful reference of related entity from the entity passed in. The entity of which the related entity was dereferenced from. The related entity which was dereferenced from entity Name of the mapped field onto the relation from entity to related entity for which the related entity was referenced. Audits the successful insert of a new entity into the database. The entity saved successfully into the database. Audits the successful update of an existing entity in the database The entity updated successfully in the database. Audits the succesful direct update of entities in the database. The entity with the changed values which is used to produce the update query. The filter to filter out the entities to update. Can be null and can be an IPredicateExpression. The relations to use with the filter. Can be null. The number of entities updated. Audits the successful delete of an entity from the database The entity which was deleted. As the entity passed in was deleted succesfully, reading values from the passed in entity is only possible in this routine. After this call, the state of the entity will be reset to Deleted again and reading the fields will result in an exception. It's also recommended not to reference the passed in entity in any audit entity you might want to persist as the entity doesn't exist anymore in the database. Audits the successful load of an entity from the database The entity which was loaded. All data of the entity which was loaded is inside the entity. Be careful when using this auditing routine, because the audit information is stored inside the auditor which is inside an entity which might not be persisted/deleted later on. This means that if you use the audit data to produce entities which are then returned by GetAuditEntitiesToSave are never persisted if the entity this auditor is the auditor of is never persisted/deleted. In that situation, to get reliable journalling, use an external service to log the audit data. Audits the successful direct delete of entities in the database The type of entity of which entities were deleted. The filter to filter out the entities to delete. Can be null and can be an IPredicateExpression. The relations to use with the filter. Can be null. The number of entities deleted. Gets the audit entities to save. Audit entities contain the audit information stored inside this auditor. The list of audit entities to save, or null if there are no audit entities to save Do not remove the audit entities and audit information from this auditor when this method is called, as the transaction in which the save takes place can fail and retried which will result in another call to this method Method which returns true if this auditor expects to have audit entities to persist and therefore needs a transaction. This method is called in the situation when there's no transaction going on though one should be started right before the single-statement action in the case if the auditor has entities to save afterwards. It's recommended to return true if the auditor might have audit entities to persist after an entity save/delete/direct update/direct delete of entities. Default: true The single statement action which is about to be started. true if a transaction should be started prior to the action to perform (entity save/delete/direct update/direct delete of entities) false otherwise. If false is returned and GetAuditEntitiesToSave returns 1 or more entities, a new transaction is started to save these audit entities which means that this transaction isn't re-tryable if this transaction might fail. The transaction with which the audit entities requested from GetAuditEntitiesToSave were saved. Use this method to clear any audit data in this auditor as all audit information is persisted successfully. Method to serialze audit data to XML. Use the aspects passed in to determine various aspects of the XML format. If the audit data consists of entity instances, be sure to pass the passed in processedObjectIDs object to the WriteXml routine of IEntity2, so use the overload of IEntity2.WriteXml() which accepts a reader and the processedObjectIDs. Though it's recommended not to serialize entity objects in audit data, keep audit data as clean as possible from entity references. The start element 'Auditor' has already been written, the end element /Auditor will be written for you after this routine. The writer. The aspects. The objectIDs of entities already serialized. Adapter specific. Reads the auditor data XML. The auditor node, which is the node of the Auditor element. The elements serialized by WriteXml are the children of this node. Adapter specific. Used in Verbose/Compact scenarios. For Compact25 format, use the XmlReader consuming overload. Reads the auditor data XML. The xml reader to read the xml from. The reader is positioned on the Auditor element. The elements serialized by WriteXml are the children of this element. Read all xml till the reader is positioned on the end element of the Auditor element Adapter specific, Compact25 specific. For Verbose/Compact scenario's use the XmlNode consuming overload Gets if the auditor object has data which should be Xml serialized. If this property returns false, no serialization (and thus no deserialization) will take place of the data to XML. Used in Adapter Interface for the authorizer to be used with entity instances at runtime. Authorizers authorize at runtime field get/set actions as well as save/load/delete actions on entities. Determines whether the caller can obtain the value for the field with the index specified from the entity type specified. The entity instance to obtain the value from. Index of the field to obtain the value for. true if the caller is allowed to obtain the value, false otherwise Determines whether the caller can set the value for the field with the index specified of the entity type specified. The entity instance the field is located in. Index of the field to set the value of. true if the caller is allowed to set the value, false otherwise Determines whether the caller is allowed to load the data into the entity instance specified. The entity instance to fill with data true if the caller is allowed to load the data in the entity specified. Data inside the entity is the data fetched from the db. If the method returns false, the entity will be reset with a new set of empty fields Determines whether the caller is allowed to save the new instance passed in. The entity to save. true if the caller is allowed to save the new instance passed in, false otherwise Determines whether the caller is allowed to save the modified existing instance passed in. The entity to save. true if the caller is allowed to save the new instance passed in, false otherwise Determines whether the caller is allowed to update entities directly in the database. the entity which is passed in to the method to batch update the entities directly in the database, e.g. UpdateMulti (Selfservicing) or UpdateEntitiesDirectly (adapter) true if the caller is allowed to perform the update, false otherwise Determines whether the caller is allowed to delete of the entity type passed in The entity to delete. true if the caller is allowed to delete the entity passed in, false otherwise Determines whether the caller is allowed to delete entities directly in the database. the type of the entity to batch delete instances of directly in the database, e.g. DeleteMulti (Selfservicing) or DeleteEntitiesDirectly (adapter) true if the caller is allowed to perform the delete, false otherwise Gets the result hint what to do when authorization fails when fetch a new entity. any of the FetchNewAuthorizationFailureResultHint values Interface for the generic ViewProjectionData class which contains projection data for entity views, used in hierarchical projections of data. The data is applied to a view of all entities with the type specified as TEntity. Gets / sets the list of entity property projectors to project the view's data Gets / sets allowDuplicates, a flag to signal if duplicate results are allowed. Gets the type of the target entity. Gets the additional filter to apply to the data before projection. Only matching entities are projected The additional filter. Interface which is used internally for getting a field's value when passing in an entity. Gets the value for the field implementing this interface for the entity passed in. The entity. the value of the field in the entity passed in. If the field isn't present in the entity passed in, null is returned Interface which is used internally on a Predicate class to make the predicate interpret itself on the passed in entity. Interprets the implementing class on the entity passed in. true if the predicte resolves to true for this entity, false otherwise Interface which is used internally on an Expression class to make the expression interpret itself on the passed in entity. Interprets the implementing expression class on the passed in entity. The entity. The value the expression resolves to based on the entity passed in. Returns DBNull.Value if it resolves to null Interface to define a common interface between the factory interfaces for adapter and selfservicing. Creates a new entity instance. new entity instance Creates a new IEntityCollectionCore implementing collection for the entity to which this factory belongs. ready to use collection with this factory set as the factory Creates the relations collection to the entity to join all targets so this entity can be fetched. Uses string.Empty as alias. null if the entity isn't in a hierarchy of type TargetPerEntity, otherwise the relations collection needed to join all targets together to fetch all subtypes of this entity and this entity itself Creates the relations collection to the entity to join all targets so this entity can be fetched. Uses the passed in objectAlias as alias for the elements in the relations. The object alias to use for the elements in the relations. null if the entity isn't in a hierarchy of type TargetPerEntity, otherwise the relations collection needed to join all targets together to fetch all subtypes of this entity and this entity itself Creates, using the generated EntityFieldsFactory, the IEntityFieldsCore object for the entity to create. This method is used by internal code to create the fields object to store fetched data. Empty IEntityFieldsCore object. Creates the hierarchy fields for the entity to which this factory belongs. IEntityFieldsCore object with the fields of all the entities in the hierarchy of this entity or the fields of this entity if the entity isn't in a hierarchy. This method retrieves, using the InheritanceInfoprovider, the factory for the entity represented by the values passed in. Field values read from the db, to determine which factory to return, based on the field values passed in. indexes into values where per entity type their own fields start. Creates a new entity instance but uses a special constructor which will set the Fields object of the new entity instance to the passed in fields object. Implement this method to support multi-type in single table inheritance. Populated fields object for the new entity to create Fully created and populated entity object Creates the hierarchy fields and sets all field's actual containing object name to the name specified. Name of for entity. returns the name of the entity this factory is for, e.g. "EmployeeEntity" Returns the actual .NET type this factory creates entities of Relation factory interface for the Relations objects for each entity. This interface is used by InheritanceInfoProvider objects to produce relations which relate to the type/entity specified. This interface is only implemented on entities which are in a hierarchy of type TargetPerEntity Returns the relation object the entity, to which this relation factory belongs, has with the subtype with the specified name name of direct subtype which is a subtype of the current entity through the relation to return. relation which makes the current entity a supertype of the subtype entity with the name specified, or null if not applicable/found Returns the relation object the entity, to which this relation factory belongs, has with its supertype, if applicable. relation which makes the current entity a subtype of its supertype entity or null if not applicable/found Interface for inheritanceinfo provider objects and other inheritance information. InheritanceInfo objects provide inheritance information at runtime for the DQE's and helper classes. The information inside these providers has to be statically constructed and should not change at runtime to make it threadsafe. These providers supply the DQE with detailed inheritance information so queries can be formed for any entity hierarchy. Gets an IInheritanceInfo object with the inheritance information for the entity with the supplied name. name of the entity, like "CustomerEntity". This name is used for retrieving the information from a thread safe hashtable Set to if the relations in have to start with the root and walk downwards to the entityName entity, or set to false if the relations have to start at the entityname and move upwards to the root. Ready to use IInheritanceInfo object if entityName is part of a hierarchy. If entityName isn't part of a hierarchy, null is returned. (not part of a hierarchy means: not a supertype nor a subtype This method returns all relations from the entityName to the root and from the entityName downwards to all the reachable leafs from entityName. All relations to the root are INNER JOIN, all relations from entityName to leafs are LEFT JOIN name of the current entity on the path of which the hierarchy has to be determined. Example: "CustomerEntity" The object alias to set on all elements in the relations. collection with relations if entityName was found, or null if not. This method returns all relations from the lowest entity found in the passed in entityNames to the root and from the lowest entityName downwards to all the reachable leafs from entityName. All relations to the root are INNER JOIN, all relations from the lowest entityName to leafs are LEFT JOIN 1 or more names of entities on the same path of which the hierarchy has to be determined. Example of a name: "CustomerEntity" The object alias to specify on all elements in the relations. collection with relations if all entityNames were found, or null if not. This method is a wrapper around GetHierarchyRelations(name), to make finding the right collection more efficient. It finds the lowest entityname in the hierarchy and calls GetHierarchyRelations(name) with that name. This method returns all relations from the entityName to the root and from the entityName downwards to all the reachable leafs from entityName, if includePathsToReachableLeafs is set to true. All relations to the root are INNER JOIN, all relations from entityName to leafs are LEFT JOIN name of the current entity on the path of which the hierarchy has to be determined. Example: "CustomerEntity" The object alias to set on all elements in the relations. If set to true, it will include the relations for all paths to leafs below the entity passed in collection with relations if entityName was found, or null if not or if the entity is in a TargetPerEntityHierarchy. This routine uses no subroutines to avoid thread unsafety. This method returns an array of IEntityFieldCore objects which contains all fields of all entities on the path: entityName upwards to the root and entityName downwards to all leafs reachable from entityName, including entityName. name of the current entity on the path of which the hierarchy fields has to be determined. Example: "CustomerEntity" Array of IEntityFieldCore objects, each element represents one field, or null if entityName isn't found Retrieves the factory for the entity represented by the values passed in, or null if entityName isn't present. The values have to represent an entity of the type entityName or a subtype of that type. name of the entity, like 'CustomerEntity'. This is the name of the root of the hierarchy to consider. For example when fetching all managers, and manager derives from employee, this parameter is 'ManagerEntity', and only the manager type or its subtypes (direct or indirect) are considered. Field values read from the db, to determine which factory to return, based on the field values passed in. indexes into values where per entity type their own fields start. the factory for the entity which is represented by the values passed in. Gets a predicateexpression which filters on the entity with type 'entityName'. Example of a valid name is 'CustomerEntity'. Name of the entity to filter on, like 'CustomerEntity' Flag to produce a NOT filter, (true), or a normal filter (false). ready to use predicateexpression, or an empty predicate expression if entityName's value isn't an entity which is a hierarchical type. Only useful in entity fetches. Gets a predicateexpression which filters on the entity with type 'entityName'. Example of a valid name is 'CustomerEntity'. Name of the entity to filter on, like 'CustomerEntity' The object alias to use for the filter. Flag to produce a NOT filter, (true), or a normal filter (false). ready to use predicateexpression, or an empty predicate expression if entityName's value isn't an entity which is a hierarchical type. Only useful in entity fetches. Determines if typeToCheck is a subtype of superType. Type to check. The supertype. true if typeToCheck is a subtype of supertype, false otherwise. Also returns false is supertype isn't in a hierarchy. Gets the type of the hierarchy. Name of the entity. the type of the hierarchy of the entity name specified Gets all entity names in the provider. List with all entity names in the provider. Gets the entity type filters for the entity names specified. It will use the object aliases specified for the entity names. It will filter out entities which are in a hierarchy of type TargetPerEntity and will also filter out supertypes if the subtype is also in the list. Routine is used to add type filters to typedlists automatically for fields in TargetPerEntityHierarchy hierarchies. The entity names with per entity name (key) the object alias. PredicateExpression with per entity which needed a typefilter a predicate, added with AND Gets the entity names on hierarchy path, from this entity to the root starting with the root of the hierarchy and ending with the name specified as entityName. If entityName entity is a root entity, this collection contains one name: entityName. Name of the entity. Gets the hierarchy field alias to use for targeting this field in an entity fetch. The alias is of the format FentityIndex_fieldIndex which is the same alias as for the fields returned by GetHierarchyFields. The field. field alias if the field is in a hierarchy entity, otherwise empty string. Determines whether the entity with the name specified is in an inheritance hierarchy or not. Name of the entity, e.g. "CustomerEntity". true if the entity is in an inheritance hierarchy, false otherwise Interface for objects which specify inheritance information for a certain entity. Instances of this interface are produced by Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Gets the type of the hierarchy. Gets the relations to hierarchy root, starting at the root, to the owner entity, INNER JOINed Gets the name of the super type entity. Example: "CustomerEntity" The name of the entity which owns this information, of which this object belongs to. List with all the entity names on the path to the root, starting with the hierarchy root and ending with the . If entity is a root entity, this collection contains one name: . List with all the entity names on the paths from the entity to all the leafs in the hierarchy below the . If the is a leaf, this list is empty. Gets the index of the discriminator column. 0 or higher for an entity in a TargetPerEntityHierarchy, otherwise undefined. Gets the discriminator column value. The discriminator value for the entity of this inheritance info, or undefined if the entity is not in a TargetPerEntityHierarchy. Gets the type filter if the entity which owns this information is in a TargetPerEntityHierarchy, null otherwise. Interface for ConcurrencyPredicateFactory objects which can be provided by the developer to produce at runtime predicate objects which will be added to the update query or delete query. The predicate is returned by the IEntity2 method GetConcurrencyPredicate. Especially useful in recursive saves. Creates the requested predicate of the type specified The type of predicate to create the entity object containing this IConcurrencyPredicateFactory instance. A ready to use predicate to use in the query to execute. Can be null/Nothing, in which case the predicate is ignored Interface definition for a bucket class which contains both a predicate expression and a relation collection which are related to each other (the predicate expression works in combination with the relation collection's contents). Used in adapter's context however can also be used in other situations, for example custom templates. The relation collection with EntityRelation objects which is used in combination with the PredicateExpression in this bucket The predicate expression to use in combination with the Relations in this bucket. Optional alias for select list fields. Used in entity fetches where the entity type to fetch has to be aliased because the source of the data is a derived table or requires aliasing because the relations used require that. If specified, all predicates referring to the entity type to fetch have to use the same alias. Gets/Sets Relations.SelectListAlias Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Internal interface for fields. Gets the state. the state in a fieldstatebucket Sets the state of the field from the values in the bucket passed in The state. Sets the field to act as a derived table field. It targets the name specified. The field name to target. Sets the derived table targeting field info. This is required for paging on some databases. The maximum length of the field or 0 if not relevant The precision to use or 0 if not relevant. The scale to use or 0 if not relevant. Sets the actual containing object name in the field info (by making a clone). Gets the derived table targeting field name. Set with SetActAsDerivedTableField. If ActAsDerivedTableField is false, this property will return null or an empty string Gets a value indicating whether this instance is a derived table targeting field. Interface definition which defines the core IEntityField set. Is implemented by other interfaces like IEntityField and IEntityField2. Generic. Overwrites the current value with the value passed. This bypasses value checking and field properties like readonly. Used by internal code only. Do not call this from your code. Value to store as the current value Overwrites the current value with the value passed. This bypasses value checking and field properties like readonly. Used by internal code only. Do not call this from your code. Value to store as the current value the value read from the database. Overrides the GetHashCode() method. It will return the hashcode of the value of the field as the hashcode. hashcode of the value of the field. Returns the hashcode for this field which can be used for an expression key. This value is based on the field info hashcode and alias, as well as expression hashcode (if present) Gets the discriminator column flag. Clones this field instance A clone instance of this field instance Sets the FieldIndex, if FieldInfo is null. Used in DefineField. The new index. Writes the XML of this Field object to the writer specified The writer. The aspects. Serializes the field's definition as xml to the writer specified. The writer. Deserializes the field's definition data on the xml reader into a field instance The reader. The alias to use for this field. Only used when this field object is part of a typed list. Adapter: returns the alias set in the designer SelfServicing: returns Name Gets the current value for this field and sets the new value for this field, by overwriting current value. The value in currentValue is discarded, versioning control has to save the original value of currentValue before this property is called. Calling this property directly will not trigger versioning control, thus calling this property directly is not recommended. Call IEntityCore.SetNewFieldValue(string, object) instead. Type of the new value has to be the same as IFieldInfo.DataType, which is set in the constructor. If this field is set to readonly, an exception is raised. The field is set to readonly and can't be changed. The value specified is not of the same IFieldInfo.DataType as this field. Gets the value read from the database for this field. Use this field in optimistic concurrency predicates. Set by ForcedCurrentValueWrite(object, value) by the object fetcher logic. If the value of this field is changed, this property is set to true. Set when receives a valid value. If the original value in the column for this entityfield is DBNull (NULL), this parameter should be set to true, otherwise to false. In BL Logic, it's impractical to work with NULL values, so these are converted to handable values. The developer can still determine if the original value was DBNull by checking this field. Alias for the object containing the field this entity field is mapped on. Used in typed list selection lists. The aggregate function to apply on this field in a select query. Ignored in INSERT/UPDATE/DELETE queries. Designed to be used in TypedList/TypedView classes. The expression to apply to this field in a select list, update statement or predicate or expression. Expression is applied before AggregateFunctionToApply. The window specification for an OVER() clause to apply to this field in a select list. Not used elsewhere. WindowSpecification results in an OVER() clause which is appended to an aggregatefunction and expression. Gets or sets a value indicating whether this field should be threated as a derived table field. This is necessary when this field is in a query and targets a derived table while this field is actually a full entity field (so it has field info). If this flag is true, the field will result in objectAlias.Alias instead of persistenceinfo.Fieldname as alias (alias only if required) Gets the linked super type field, if this field is a subtype field and it's linked to a supertype field, otherwise null. General interface for static entity field information and isn't related to persistence info. The name of the field. Name cannot be of zero length nor can they consist of solely spaces. Leading and trailing spaces are trimmed. The value specified for Name is invalid. The of the values of this field. If set to true, in the constructor, this field will end up in the PrimaryKey field list of the containing IEntityFields object. Will be true if this field can be set to NULL in the database, false otherwise. The Field Validation logic in an entity will use this flag to check if the field indeed can be set to NULL or not. Set by constructor. Gets the field index related to this IEntityField, so the field can be used to retrieve the field index. Name of the containing object this field belongs to (entity or typed view). This name is required to retrieve persistence information in Adapter Set via constructor. This name is also used by EntityRelation to determine alias - table connection. If set to true, in the constructor, this field is part of a foreign key. This field is not used in LLBLGen Pro's code, however can be useful in user code. If set to true, in the constructor, no changes can be made to this field. The maximum length of the value of the entityfield (string/binary data). Is ignored for entityfields which hold non-string and non-binary values. Value initially set for this field is the length of the database column this field is mapped on. The scale of the value for this field. Value initially set for this field is the scale of the database column this field is mapped on. The precision of the value for this field. Value initially set for this field is the precision of the database column this field is mapped on. The name of the object this field is currently in. Differs only from ContainingObjectName if the field instance is in a subtype while it is originally defined in a supertype. EmployeeEntity.Name and a subtype, ClerkEntity, inherits this field. For ClerkEntity.Name ContainingObjectName is still 'EmployeeEntity' however ActualContainingObjectName is 'ClerkEntity'. Flag to signal if the field is in a multi-target entity. Used for alias production during query building in scenario's with inheritance. Gets a value indicating whether the DataType is an enum type. This is a helper boolean so it doesn't have to be determined for every field set during a fetch. Gets the real datatype. This is the underlying datatype of DataType and if that's a Nullable(Of T) it's the type of T. This is a helper property so it's not determined over and over again for every field during a fetch. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into a fieldinfo instance The reader. Interface implemented on the base class of Entity view classes. Determines the index of the entity passed in in the entity view in filtered and sorted state. The value. Refreshes this view by re-applying filter and sorter on the related collection Gets / sets whether you can update items in the list. true if you can update the items in the list; otherwise, false. if the related collection is set to readonly, this operation is a no-op Gets/sets whether you can add items to the list using . true if you can add items to the list using ; otherwise, false. if the related collection is set to readonly, this operation is a no-op Gets whether you can remove items from the list, using or . if the related collection is set to readonly, this operation is a no-op Gets the number of elements contained in the . The number of elements contained in the . Gets or sets the data change action which specifies what to do when the data in the related collection of an entity view changes. A change in data can be: entity added or changed. If an entity is removed from the underlying collection, the entity is simply removed from the entity view, as the view doesn't contain any data by itself. Gets or sets the filter to use for this entity view. Gets or sets the sorter for this entity view. Setting this property will re-sort the view and will reset the view in databinding scenario's. Gets the element at the specified index in this view. Interface used as the base for all entity collections. (adapter and selfservicing). Event which is raised at the start of the Remove or RemoveAt(index) routine. To cancel the remove action, set cancel to true. Event which is raised at the End of the Remove or RemoveAt(index) routine. Event which is raised at the start of the Add or Insert(index) routine. To cancel the addition action, set cancel to true. Event which is raised at the End of the Add or Insert(index) routine. Event which is raised when the collection changed: an item changed, an item was removed, added, or the collection was cleared. If possible, use one of the Entity* events of this collection. Adds an IEntityCore object to the list. Entity to add Inserts an IEntityCore on position Index Index where to insert the Object Entity Entity to insert Remove given IEntityCore instance from the list. Entity object to remove from list. Returns true if the list contains the given entity Entity to check. true if Entity exists in list. Returns index in the list of given entity. Entity to check index in list. Applies sorting like IBindingList.ApplySort, on the field with the index fieldIndex and with the direction specified. Field to sort on the sort direction Sorts the collection. Field to sort on the sort direction The comparer to use. If null, it will use the default comparer. Sorts the collection. property to sort on the sort direction The comparer to use. If null, it will use the default comparer. Gets all indices of all the entities in the current order of this collection which match the passed in filter. The filter the entity has to match with. If null, all entities match and every index is returned List of indices of all entities matching the filter Clears the collection Clears the collection if true, all existing entities are tracked as 'removed' in a set removal tracker collection Default: true. If set to false, no new entities will be added through databinding. Default: false. If set to true, entities can be removed through databinding. Default: true. If set to false, entities inside this collection won't be editable in a complex databinding scenario. Get / set the readonly flag for this collection. Simple indexer. The amount of IEntity2 elements in this entity collection Gets or sets a value indicating whether this instance is a removal tracker collection. Gets or sets the removed entities tracker for this entity collection The EntityFactory to use when creating entity objects during fetch action or other logic which requires the creation of new entities. Gets the name of the field mapped onto the relation in the opposite entity which is represented by this collection, if this collection is contained by an entity. E.g. it will return "Customer" if the relation Customer - Order has the field 'Customer' mapped onto it in Order and this collection is the Orders collection in Customer. If this collection isn't contained in any entity, an empty string is returned. Gets or sets a value indicating whether this instance is for a M:N relationship. If set to true, it will also set IsReadOnly to true. Interface used for as a base for all Entity classes Event handler declaration for the event that is raised each time the one of values of this entity are changed. The event does not contain the value / field which is changed, it only signals subscribers the entity is changed and the subscriber should act accordingly, f.e. fire a ListChanged event. Event fired when a field / property is changed. To fire this event from a derived class, call OnPropertyChanged. Event handler declaration for the event that is raised each time this entity is persisted. Related entities can subscribe to this event to start housekeeping actions, like syncing internal FK fields with the PK fields of this entity. Event which is raised at the start of the initialization routine of the entity. The entity is clean and has no entity fields object yet. Event which is raised at the end of the initialization routine of the entity. This event is also raised if the entity is pre-filled with a filled EntityFields(2) object. In your handler, check the State property of the entity Fields to see if you're dealing with a new entity or with an entity which is new, but pre-initialized with filled field objects. Gets the inheritance info for this entity, if applicable (it's then overriden) or null if not. InheritanceInfo object if this entity is in a hierarchy of type TargetPerEntity, or null otherwise Gets the inheritance info provider instance of the project this entity instance is located in. ready to use inheritance info provider instance. Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Enumerable with 0 or more IEntityCore objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Enumerable with 0 or more IEntityCore objects, referenced by this entity Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the DataAccessAdapter to perform recursive saves. Only 1:n related collections are returned. Enumerable with 0 or more IEntityCollectionCore objects, referenced by this entity Returns a new ready to use factory for the type of this instance. a new ready to use factory for the type of this instance. Method which will fire the AfterSave event to signal that this entity is persisted and refetched succesfully. Sets the EntityField with the name fieldName to the new value value. Marks also the entityfields as dirty. Will refetch the complete entity's fields from the database if necessary (i.e. the entity is outofsync.). Name of EntityField to set the new value of Value to set true if the value is actually set, false otherwise. The value specified is not of the same IEntityField.DataType as the field. The value specified has a size that is larger than the maximum size defined for the related column in the databas Sets the EntityField on index fieldIndex to the new value value. Marks also the entityfields as dirty. Will refetch the complete entity's fields from the database if necessary (i.e. the entity is outofsync.). Index of EntityField to set the new value of Value to set true if the value is actually set, false otherwise. Gets the current value of the EntityField with the index fieldIndex. Will refetch the complete entity's fields from the database if necessary (i.e. the entity is outofsync.). Index of EntityField to get the current value of The current value of the EntityField specified When the entity is marked as deleted. When fieldIndex is smaller than 0 or bigger than the amount of fields in the fields collection. Routine which will flag all subscribers of the EntityContentsChanged event that this entity's contents is changed. Helper method which performs a lookup in the fields based on the name specified. the name of the field to search the field with the name specified or null if not found Creates the requested predicate of the type specified. If no IConcurrencyPredicateFactory instance is stored in this entity instance, null is returned. The type of predicate to create A ready to use predicate to use in the query to execute, or null/Nothing if no IConcurrencyPredicateFactory instance is present, in which case the predicate is ignored Saves the current set of fields under the name specified in an internal hashtable. All data inside the field objects is preserved. If there is already a set of fields saved under the name specified, that set of fields is overwritten. Name to store the fields under. Case sensitive Creates a deep copy of the fields object. when this method is called while the object is participating in a transaction. Replaces the current set of fields with the fields saved under the name specified. If no set of fields is found with the name specified an exception is thrown. Removes the entry after a succesful rollback. Name under which the fields are stored which have to replace the current set of fields. Case sensitive replaces the current set of fields with the set of fields saved under the name specified. The current set of fields, with all the data are lost after a succesful rollback. thrown when the name specified is not found. when this method is called while the object is participating in a transaction. Removes all saved field sets from the internal hashtable, clearing up space. This method is also called when an entity is saved. Accepts the changes made to the fields. Used in databinding/service scenarios. Calls AcceptChange on the fields in this entity Rejects the changes made to the fields. Used in databinding/service scenarios. Calls RejectChange on the fields in this entity Determines whether this entity is a subType of the entity represented by the passed in enum value, which represents a value in the EntityType enum Type of entity. true if the passed in type is a supertype of this entity, otherwise false Sets the error message which is returned by IDataErrorInfo.Error the message to set Sets the error message for the field specified. If there's already a message stored for this field, it's overwritten unless append is set to true, which appends the message to the existing error using a semi-colon as separator. The message stored is returned by IDataErrorInfo[fieldName]; name of the field message to store If true, the value is appended to an already existing error message. As separator a semi-colon is used. General validation method which isn't used by the LLBLGen Pro framework, but can be used by your own code to validate an entity at any given moment. Converts the data inside inside this entity into XML, recursively. The complete outer XML as string, representing this complete entity object, including containing data. Converts the data inside inside this entity into XML, recursively. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entity object, including containing data. Converts the data inside inside this entity into XML, recursively. name of root element to use when building a complete XML representation of this entity. The complete outer XML as string, representing this complete entity object, including containing data. Converts the data inside inside this entity into XML, recursively. name of root element to use when building a complete XML representation of this entity. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entity object, including containing data. Converts this entity to XML, recursively. The aspect flags to control the format of the XML produced The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity to XML, recursively. Uses the LLBLGenProEntityName for the rootnode name The aspect flags to control the format of the XML produced the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entity object, including containing data. Converts this entity to XML, recursively. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity to XML, recursively. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entity object, including containing data. Will fill the entity and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntity.WriteXml() and the Xml has to be compatible with the structure of this entity. XmlNode with Xml data which should be read into this entity and its members. Node's root element is the root element of the entity's Xml data Will fill the entity and its containing members (recursively) with the data stored in the Xml string passed in. The string xmlData has to be filled with Xml in the format written by IEntity.WriteXml() and the Xml has to be compatible with the structure of this entity. string with Xml data which should be read into this entity and its members. This string has to be in the correct format and should be loadable into a new XmlDocument without problems Gets a list of all the EntityRelation objects the type of this instance has. A list of all the EntityRelation objects the type of this instance has. Hierarchy relations are excluded. Gets the relation objects which represent the relation the fieldName specified is mapped on. Name of the field mapped onto the relation of which the relation objects have to be obtained. RelationCollection with relation object(s) which represent the relation the field is mapped on Sets the related entity property to the entity specified. If the property is a collection, it will add the entity specified to that collection. Name of the property. Entity to set as an related entity Used by prefetch path logic. Returns true if the original value for the field with the fieldIndex passed in, read from the persistent storage was NULL, false otherwise. Should not be used for testing if the current value is NULL, use for that. Index of the field to test if that field was NULL in the persistent storage true if the field with the passed in index was NULL in the persistent storage, false otherwise Returns true if the current value for the field with the fieldIndex passed in represents null/not defined, false otherwise. Should not be used for testing if the original value (read from the db) is NULL Index of the field to test if its currentvalue is null/undefined true if the field's value isn't defined yet, false otherwise Gets all related data objects, stored by name. The name is the field name mapped onto the relation for that particular data element. Dictionary with per name the related referenced data element, which can be an entity collection or an entity or null Sets the internal parameter related to the fieldname passed to the instance relatedEntity. Instance to set as the related entity of type entityType Name of field mapped onto the relation which resolves in the instance relatedEntity Unsets the internal parameter related to the fieldname passed to the instance relatedEntity. Reverses the actions taken by SetRelatedEntity() Instance to unset as the related entity of type entityType Name of field mapped onto the relation which resolves in the instance relatedEntity Unsets the internal parameter related to the fieldname passed to the instance relatedEntity. Reverses the actions taken by SetRelatedEntity() Instance to unset as the related entity of type entityType Name of field mapped onto the relation which resolves in the instance relatedEntity if set to true it will notify the manytoone side, if applicable. Checks whether this instance has pending fk syncs. A pending FK sync is a sync which hasn't been used yet. If an entity has pending FK syncs, it has to be included into a save queue. Only syncs with entities in the passed in queue are considered. If a sync is with an entity which isn't in the passed in queue, the sync isn't honoured anyway, so the fk sync can be ignored. Hashtable of the entities which are currently scheduled to be saved in the queue. A pending sync has to be with an entity in this queue Gets the entity description. This string is used in verbose trace messages. It will produce "EntityCore", if the passed in switch flag is false, to prevent performance loss due to reflection activity for trace results which will never be seen. switch flag. If this flag is false, "EntityCore" will be returned Gets the entity description. This string is used in verbose trace messages. It will produce "EntityCore", if verbose tracing is switched off for the GeneralSwitch, to prevent performance loss due to reflection activity for trace results which will never be seen. switch flag. If this flag is false, "EntityCore" will be returned the entity to get the description for Marker for the entity object if the object is new and should be inserted when saved (true) or read from the database (false). Marker for the entity object if the object is 'dirty' (changed, true) or not (false). Affects/reads .Fields.IsDirty. The validator object used to validate the entity on several moments in the entity's life. Gets / sets the unique Object ID which is created at runtime when the entity is instantiated. Can be used for external caches. Returns true if this entity instance is in the middle of a deserialization process, for example during a ReadXml() call. For internal use only. Gets / sets the IConcurrencyPredicateFactory to use for . Returns the EntityType enum value for this entity. Returns the full name for this entity, which is important for the DAO to find back persistence info for this entity. CustomerEntity Gets or sets the TypeDefaultValue provider to use. This object is used to provide default values for value typed fields which are null and not of type Nullable(Of T) Gets or sets the Authorizer for this entity. Gets or sets the Auditor for this entity. The custom properties for the type of this entity instance. The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime. The custom properties for the fields of the type of this entity instance. The returned Hashtable contains per fieldname a hashtable of name-value pairs. The data returned from this property should be considered read-only: it is not thread safe to alter this data at runtime. Gets the fields object of this entity. List of IEntityFieldCore references which form the primary key. Reads/Affects .Fields.PrimaryKeyFields. This are all the PK fields, so also the inherited PK fields. Gets the primary key field infos. Similar to PrimaryKeyFields, but this property doesn't trigger field creation. Gets the type of the hierarchy this entity is in. Gets a value indicating whether this instance is an update only entity. UpdateOnly entities are entities which are 'split off' from the main entity and only update rows in the database, never insert rows. flag which is set when the entity is removed from an entity collection and added to a tracker. Interface used for relations between IEntity* instances. Generic Adds a new pair of entity fields of type TEntityField to the relation, including persistence info. Primary Key fields and Foreign Key Fields have to be added in pairs. Used by Adapter template set. The entity field instance which represents a field in the primary key in the relation The entity field instance which represents the corresponding field in the foreign key in the relation The type of the fields. this instance Injects for the PK and FK side the inheritance info for this entity relation. It sets InheritanceInfoPkSideEntity and InheritanceInfoFkSideEntity using the provider specified. The inheritance provider to use this instance Returns in an arraylist all IFieldPersistenceInfo objects for the FK fields in this entityrelation ArrayList with the requested objects Returns in an arraylist all IFieldPersistenceInfo objects for the PK fields in this entityrelation ArrayList with the requested objects Gets the IFieldPersistenceInfo data for the PK field at index specified. index of the field in the list of PK fields. IFieldPersistenceInfo object Gets the IFieldPersistenceInfo data for the FK field at index specified. index of the field in the list of FK fields. IFieldPersistenceInfo object Sets the IFieldPersistenceInfo data for the PK field at index specified. index of the field in the list of PK fields. The persistence info for the entity field at position index. Used by DataAccessAdapter objects. Sets the IFieldPersistenceInfo data for the FK field at index specified. index of the field in the list of FK fields. The persistence info for the entity field at position index. Used by DataAccessAdapter objects. Gets the IEntityFieldCore information about the PK field at index specified index of field in the list of PK fields IEntityFieldCore object Gets the IEntityFieldCore information about the FK field at index specified index of field in the list of FK fields IEntityFieldCore object Returns in an arraylist all IEntityFieldCore objects for the PK fields in this entityrelation ArrayList with the requested objects Returns in an arraylist all IEntityFieldCore objects for the FK fields in this entityrelation ArrayList with the requested objects Sets the aliases for the start entity and the end entity formed by the fields stored in this entityrelation. The start entity and end entity are determined based on the type of the relation and the primary key / foreign key fields. Mainly used by RelationCollection.Add(). the alias for the start entity in the relation. Alias is case sensitive. An alias with solely spaces or an empty string is ignored. the alias for the end entity in the relation Alias is case sensitive. An alias with solely spaces or an empty string is ignored. Custom filter for JOIN clauses which are added with AND to the ON clause resulting from this EntityRelation. By adding a predicate expression with fieldcomparevalue predicate objects for example, you can add extra filtering inside the JOIN. If CustomFilterReplacesOnClause is set to true (default: false), the CustomFilter simply represents the ON clause. The relation type the IEntityRelation instance represents. Flag to signal if this relation is a 'weak' relation or not. Weak relations are optional relations, which means when A and B have a weak relation, not all instances of A have to have a related instance of B. Returns the amount of fields in the EntityRelation object. Set to true if the start entity of the relation is the PK side of the relation. This is set in the generated code. This property is true in 1:n relations and in 1:1 relations where the start entity is the PK side and the end entity is thus the FK side. Required for determining which alias belongs to which entity. Flag to signal the join creator logic to use the CustomFilter specified as the ON clause, instead of appending the CustomFilter to the ON clause. Ignored if CustomFilter is null or empty. Default is false. Gets or sets the inheritance info for the pk side entity. Gets or sets the inheritance info for the fk side entity. Hint value for the consideration of the jointype of this relation. Default: JoinHint.None Alias value for the entity which is on the PK side of the relation. Determined from the relation type and the pk/fk fields Alias value for the entity which is on the FK side of the relation. Determined from the relation type and the pk/fk fields Gets the alias value for the start entity of the relation Gets the alias value for the end entity of the relation Gets or sets the name of the field mapped onto this relation in the start entity. Gets or sets a value indicating whether this instance is a hierarchy relation. Interface for the GroupByCollection class which is used to collect EntityField(2) instances which are used for the GROUP BY clause in a retrieval query. When a group by collection is specified in a retrieval query, all fields in the resultset have to be in this collection. Generic Adds the range of IEntityFieldCore fields to the groupbycollection. The fields to add to this groupbycollection. Adds the passed in entity field instance to the list. Field objects can be added just once. entity field instance to add Index of added field in the list. Inserts the field passed in on index specified. Entity field to insert index on which the field should be inserted If the field is already added. Removes the passed in entity field instance. Finds the object to remove using value compare. Entity field instance to remove Removes the entity field instance at index specified from the collection. the index of the field to remove Returns the index of the field specified. field to determine the index of index of field, if found, otherwise -1 Checks if the field is in the list. Does a value compare, not an object reference compare. Entity field to check for presence. true if a similar field is found in the collection, false otherwise. Returns the IEntityFieldCore part of the field at position index index of field to return the IEntityFieldCore portion of the IEntityFieldCore part of the field at position index Returns the IFieldPersistenceInfo part of the field at position index index of field to return the IFieldPersistenceInfo portion of the IFieldPersistenceInfo part of the field at position index Sets the IFieldPersistenceInfo part of the field at position index. Adapter specific. The field persistence info object to set index of field to set the persistence info of Retrieves a ready to use text representation for the groupby collection string which is usable as the argument for the GROUP BY clause in a query Emits expressions on fields instead of the field names, if applicable. Retrieves a ready to use text representation for the groupby collection. If set to false (default), it will emit the expression of a field in the groupbycollection instead of the fieldname. string which is usable as the argument for the GROUP BY clause in a query Replaces the field at the index specified with the field passed in The new field. The index. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Indexer in the collection. The amount of items currently stored in the IGroupByCollection Gets/sets the predicate expression which forms the having clause for this group by collection. Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. The list of parameters created when the groupby collection was translated to text usable in a query. Only valid after a succesful call to ToQueryText Interface to define the relation between a parameter of a query and a field. This relation is used to find back a related EntityField when an Output Parameter is found in a query so the value of the Output Parameter can be assigned to the related EntityField. Generic The in the relationship. Only settable via a constructor. The Parameter in the relationship. Only settable via a constructor. The Typeconverter to use, if applicable. Sets the field's value using ForceCurrentValueWrite with the value of the parameter. The executed query. The interface for dynamic created queries. Generic Adds the parameter to the query's command. The parameter to add. Adds the parameters to the query's command. The parameters to add. Adds the output parameter value for synchronization with the enclosed DbParameter, after the query has been executed. The value as parameter value. Adds a new to the collection of . An output parameter can be stored once in the collection. The in the relationship. The Parameter in the relationship. The type converter to use, if applicable (can be null) The ParameterFieldRelation added Allows parameter values to be null Adds a new to the collection of . An output parameter can be stored once in the collection. The in the relationship. The Parameter in the relationship. The type converter to use, if applicable (can be null) if set to true it's allowed that the parameter value to sync with the field can be null. If false and the parameter value is null, an ORMBadSequenceException will be thrown The ParameterFieldRelation added Will walk all instances of this query and reflect the parameter values in the related fields. Only output parameters are taken into account. Reflects the output values of output parameters in parameter values, if any. Wires the command of this query with the transaction passed in. the transaction to wire the command with Sets the command timeout. Timeout interval, in seconds. Sets the command text to the text specified The command text. The connection object to use with the The command used for this query. The list of parameters used in the . Array list with the instances for the relations between IEntityFields and output parameters. Interface for retrieval queries. These queries do return a resultset. Retrieval queries execute Select statements. Generic Async variant of . Executes the query contained by the IQuery instance. The connection has to be opened before calling Execute(). The behavior setting to pass to the ExecuteReader method. The cancellation token. An open, ready to use IDataReader instance When there is no command object inside the query object, or no connection object inside the query object or the connection is closed. Advances the returned datareader to the right resultset described by ResultsetNumber, if possible. If there are less resultsets than ResultsetNumber describes, the last resultset found is returned Async variant of . Executes the query contained by the IQuery instance as a scalar query. The cancellation token. the value returned by the scalar execution of the query Executes the query contained by the IQuery instance. The connection has to be opened before calling Execute(). The behavior setting to pass to the ExecuteReader method. An open, ready to use IDataReader instance When there is no command object inside the query object, or no connection object inside the query object or the connection is closed. Advances the returned datareader to the right resultset described by ResultsetNumber, if possible. If there are less resultsets than ResultsetNumber describes, the last resultset found is returned Executes the query contained by the IQuery instance as a scalar query. the value returned by the scalar execution of the query Caches the current row of the datareader as-is in the cached resultset. Called when the consumer is done with the resultset read. Call this method to signal that the retrievalquery can cache its resultset, if required. Gets / sets the flag which signals fetch code to use client side (i.e. in code) limitation logic and it should not rely on the amount of rows returned for row limitations. This flag is set by DQEs if DISTINCT can't be used but row limitations are required and TOP is thus not reliable. Default: false. If set, ManualRowsToTake is the amount to read. Flag to tell the object fetcher to use manual distinct filtering, as the DISTINCT command couldn't be applied. Used to tell paging wrappers to set RequiresClientSidePaging. Flag to tell the object fetcher to use manual paging. This is required when DISTINCT is required however due to DISTINCT violating types it can't be applied to the query. This then causes duplicates in the resultset, which shouldn't be there and thus causing pages with much lesser data. Only set by a DQE, normally false. Only valid when RequiresClientSidePaging is set to true. Only valid when RequiresClientSidePaging is set to true. Gets or sets the resultset number to retrieve. This is a 1-based number (so first resultset is numbered '1', which is also the default). If set to 2 or higher, Execute will call NextResult() on the datareader till the required resultset is reached or NextResult returns false. If set to 0 or lower, the number is ignored. Gets or sets a value indicating whether the resultset should be cached. Gets or sets the tag the resultset should be cached under. By default this is the empty string (no tag) Gets or sets the optional tag for the SQL query/queries to relate SQL strings in an RDBMS with an origin. Gets or sets how long the resulset as a cached resultset should be placed in the cache. if set to true it will replace an existing cached set with the one specified. Gets a value indicating whether name overwriting has to take place (false) or not (true). Is true when this query was created from a proc call where name overwriting was already applied. Interface for a predicate. Predicates are expressions which result in true or false, and which are used in WHERE clauses. Generic The list of parameters created when the Predicate was translated to text usable in a query. Only valid after a succesful call to ToQueryText Flag for setting the Predicate to negate itself, i.e. to add 'NOT' to its result. Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. The PredicateType of this instance. Used to determine the instance nature without a lot of casting. Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). IPredicateExpression instances will return an empty string. Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects IPredicateExpression instances return a list of the elements in the predicate expression, which can be predicateexpressions as well so it's not recursive. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Serializes the predicate as xml to the writer specified. The writer. Deserializes the predicate data on the xml reader into a predicate instance The reader. Interface for a PredicateExpression, which is a grouped set of Predicates. A predicate expression is usable as a WHERE clause. Generic Adds an IPredicate implementing object to the PredicateExpression. This can be a Predicate derived class or a PredicateExpression. If no object is present yet in the PredicateExpression, no operator is added, otherwise the object is added with an 'And'-operator. The IPredicate implementing object to add When prPredicateToAdd is null the PredicateExpression on which this method is called, for command chaining Adds an IPredicate implementing object to the PredicateExpression with an 'Or'-operator. The object added can be a Predicate derived class or a PredicateExpression. If no objects are present yet in the PredicateExpression, the operator is ignored. The IPredicate implementing object to add When prPredicateToAdd is null the PredicateExpression on which this method is called, for command chaining Adds an IPredicate implementing object to the PredicateExpression with an 'And'-operator. The object added can be a Predicate derived class or a PredicateExpression. If no objects are present yet in the PredicateExpression, the operator is ignored. The IPredicate implementing object to add When prPredicateToAdd is null the PredicateExpression on which this method is called, for command chaining Clears this instance. Gets the predicate expression element at the index specified Gets the amount of predicate expression elements in this predicate expression. This is including all operators. Interface for action queries. These queries do not return a resultset. Action queries execute Insert, Delete and Update statements. Generic Async variant of . Executes the query contained by the IQuery instance. The cancellation token. The number of rows affected (if applicable), otherwise 0. When there is no command object inside the query object, or no connection object inside the query object when an exception was caught during query execution Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. the SequenceRetrievalQuery added Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. List with the parameter objects in the actual query which need the value returned by the execution of the command the SequenceRetrievalQuery added Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. Used to make SequenceParameters 'output' parameters. Required for Access. Default: false; the SequenceRetrievalQuery added Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. Used to make SequenceParameters 'output' parameters. Required for Access. Default: false; List with the parameter objects in the actual query which need the value returned by the execution of the command the SequenceRetrievalQuery added Executes the query contained by the IQuery instance. The number of rows affected (if applicable), otherwise 0. When there is no command object inside the query object, or no connection object inside the query object when an exception was caught during query execution Merges all data of query into this query's QueryToExecute. It moves parameters and other elements. Query is after this not usable anymore. Adds the specified parameter to the set of output parameters for a dbreader exectured query. These parameters aren't part of the dbcommand, and are filled with resultsets. All parameters are expected in each resultsets returned by the dbdatareader returned when this query is executed. Array list of ISequenceRetrievalQuery objects which are used to produce sequence values for input/output parameters in this query. Normally this collection is empty, as it is only used when the target database provider doesn't support batched queries (firebird/access/sqlce and others). Execute will wire the transaction if present. Gets the parameter parameter relations for this IActionQuery. These definitions are used for insert queries in multi-target entity inserts. Gets the set of parameters set for the dbdatareader fill procedure. these parameters are added through and aren't part of the command. Gets or sets the forced return value. If smaller than 0, the value returned by the command is used, otherwise this value. Set by DQEs which know up front the query won't return a valid return value, because batching is used. Gets a value signalling whether this query can be packed in a packed query (true) or not (false). A query can be packed if it's not a batchquery and there are no parameter-parameter relations pending or parameter-field relations with self. If true (Default false) it will execute the command through ExecuteReader instead of ExecuteNonQuery and will assume output parameters are part of one or more resultsets. Output parameters are expected to be added through , and are set through ordinal (so first parameter is set with value at ordinal 0). If set, it will be used for the value returned in ExecuteNonQuery and will override the value ExecuteNonQuery returns or which is set in ForcedReturnValue. Interface for sequence retrieval queries. Sequence retrieval queries are scalar queries (returning a value) which are used to retrieve the actual / to use sequence value in systems which do not support batched queries. Normally every DQE will batch the sequence retrieval query into the INSERT query as a batched query, however some systems do not support this and the only solution is the SequenceRetrievalQuery. Used for Access, Firebird and other systems. SequenceRetrievalQueries can be added to IActionQuery instances and will use the IActionQuery object's connection object. Async variant of . Executes the scalar query contained in this object. (Executed with ExecuteScalar()) Expects that the command can be executed without problems. The cancellation token. When there is no command object set when an exception was caught during query execution Will store its value in the sequence parameters after execution Executes the scalar query contained in this object. (Executed with ExecuteScalar()) Expects that the command can be executed without problems. Will store its value in the sequence parameters after execution When there is no command object set when an exception was caught during query execution Adds the sequence parameter. To add. this instance The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. Array list with the parameter objects in the actual query which need the value returned by the execution of the command Used to make SequenceParameters 'output' parameters. Required for Access. Default: false; Interface used for the elements which are physically stored in a PredicateExpression. Generic Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. The type of the Element. The contents of the Element Interface which holds the generic information for entity field persistence of an entity field. Instances of this interface are passed to logic with an instance of the IEntityFieldCore interface. SelfServicing implements both interfaces in one interface: IEntityField. Generic Writes the definition as XML. The writer. Reads the definition from XML. Reader is positioned on first element of xml definition The reader. The name of the catalog the SourceSchemaName is located in. The name of the schema which holds . Schema is used to generate SQL on the fly. A common schema name in SqlServer is f.e. 'dbo'. The name of the source object which holds . Can be a view or a table (or synonym of those). Used to generate SQL on the fly. The name of the corresponding column in a view or table for an entityfield. This name is used to map a column in a resultset onto the entity field. The maximum length of the value of the entityfield (string/binary data). Is ignored for entityfields which hold non-string and non-binary values. ColumnMaxLength Used for update/insert operations on the column The type of the Column mapped onto the EntityField(2). The value stored here is the string representation of the enum value of the type, e.g. SqlDbType.Int will result in "Int" Flag if the Column mapped onto the entityfield is nullable or not. Used for update/insert operations on the column The scale of the Column mapped onto the entityfield. Used for update/insert operations on the column The precision of the Column mapped onto the entityfield. Used for update/insert operations on the column If set to true, the Dynamic Query Engine (DQE) will assume the field is an Identity field and will act accordingly (i.e.: as the target database handles Identity fields: SqlServer will generate a new value itself, Oracle wants to have a sequence input. If is set to true, this property has to be set to the name of the sequence which supplies the value for the EntityField's corresponding table field. On SqlServer this is @@IDENTITY or SCOPE_IDENTITY() and only used when the row is succesfully inserted, however on Oracle this value is used to specify a new value and to retrieve the new value. Is undefined when is set to false. Gets the type converter to use. Only set through constructor and when a conversion is required from the .NET type returned by the ADO.NET provider and the defined .NET type for this field. The .NET type of the field in the DB. This value is used to convert a currentvalue back to this type using TypeConverterToUse. Returns the concatenated result of catalog, schema and objectname. If all are empty it will result in "..". 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 Creates a new, filled parameter. Type of the parameter. The size. The direction. if set to true [is nullable]. The precision. The scale. The value. Creates a valid Parameter based on the passed in IEntityFieldCore implementation and the passed in IFieldPersistenceInfo instance IEntityFieldCore instance used to base the parameter on. Persistence information to create the parameter. The direction for the parameter Valid parameter for usage with the target database. Creates a valid Parameter based on the passed in IEntityFieldCore implementation and the passed in IFieldPersistenceInfo instance IEntityFieldCore instance used to base the parameter on. Persistence information to create the parameter. The direction for the parameter Value to set the parameter to. Valid parameter for usage with the target database. Creates a parameter based on the direction passed in and the value passed in. Direction for the parameter value the parameter is for. Valid parameter for usage with the target database. Creates a parameter based on the direction passed in and the value passed in. Direction for the parameter The value to set. Name of the parameter. Can be empty, in which case a new name is autogenerated Valid parameter for usage with the target database. 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. The pattern to be passed as the value for the parameter. Is used to determine length of the parameter. Type of the target field db, in provider specific enum string format (e.g. "Int" for SqlDbType.Int) Valid parameter for usage with the target database. Creates the name of a parameter based on the values specified, using the pattern: prefix + "p" + parameterNo. For plain sql queries. The parameter no. Creates the name of a parameter based on the values specified, using the pattern: prefix + nameWithoutPrefix. For plain sql queries. The name without prefix. ready to use name for a parameter for this database 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); IFieldPersistenceInfo instance used to formulate the fieldname name of the entity field, to determine if an alias is required Alias of object the field maps to. Only specified when called from a predicate. Name of the containing object which defined the field with name fieldName. Name of the containing object which actually holds the field with the name fieldname. Valid field name for usage with the target database. 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. IFieldPersistenceInfo instance used to formulate the fieldname name of the entity field, to determine if an alias is required Alias of object the field maps to. Only specified when called from a predicate. When true, the routine should construct an alias construction statement. Name of the containing object which defined the field with name fieldName. Name of the containing object which actually holds the field with the name fieldname. Valid field name for usage with the target database. 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). fieldcore part of the field. Required to determine expression and aggregate function persistence info object for the field. name for the field to be used Alias for object hte field belongs to flag to apply aggregate function or not. Aggregate functions can't be applied when the call originates from a predicate which is not part of a having clause. string representing the field 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. IFieldPersistenceInfo instance used to formulate the fieldname name of the entity field, to determine if an alias is required Valid field name for usage with the target database. 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. IFieldPersistenceInfo instance used to formulate the fieldname name of the entity field, to determine if an alias is required When true, the routine should construct an alias construction statement. Valid field name for usage with the target database. 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. IFieldPersistenceInfo instance which source object info is used to formulate the objectname Valid object name 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. Name of the catalog. Name of the schema. Name of the element. 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) ready to use name which doesn't exceed length restrictions Converts the passed in comparison operator to a string usable in a query. Operator to convert to string The string representation usable in a query of the operator passed in. Converts the passed in sort operator to a string usable in a query sort operator to convert to a string The string representation usable in a query of the operator passed in. Converts the passed in expression operator (exop) to a string usable in a query Expression operator to convert to a string The string representation usable in a query of the operator passed in. Converts the passed in set operator to a string usable in a query Set operator to convert to a string The string representation usable in a query of the operator passed in. Converts the expression to a query fragment and adds the parameters created during this process to the passed in parametercollection To convert. The parameter collection. Newly created parameters will be added to this collection the expression in query fragment form Returns the SQL functionname to make a string uppercase. Creates a new Select Query which is ready to use as a subquery, based on the parameters specified The parameters to base the sub query on IRetrievalQuery instance which is ready to be used. Creates a retrieval query from the tvfcall specified. The query will be a 'SELECT ... FROM functioncall' query. The TVF call to produce a query for. ready to use query Routine which creates a valid alias string for the plain alias passed in. For example, the alias will be surrounded by "[]" on sqlserver. the plain alias to make valid valid alias string to use. 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. the fragments container to append the fragments to. the plain identifier string to make valid 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. To append to. Name of the element. The alias. The table hint. The temporal predicate. 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. Name of the entity the holder of the objectAlias is defined in Object alias. The name of the entity the holder of the object alias is actually present in (is only different from entityName if holder is a subtype and did inherit the field) the real alias for the entityname + objectAlias combination. If not found, objectAlias is returned. 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. Name of the entity the holder of the objectAlias is defined in Object alias. The name of the entity the holder of the object alias is actually present in (is only different from entityName if holder is a subtype and did inherit the field) if set to true also the parent scopes are checked, otherwise only the scope at the top of the stack (the current scope) the real alias for the entityname + objectAlias combination. If not found, objectAlias is returned. 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 Name of the current. the new name 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 Name of the current. the new name Creates a new command instance Ready to use command instance Creates a new command instance The connection to use. If not null, the connection is used to create a command instance, otherwise the factory Ready to use command instance Determines the db type name (ADO.NET provider specific typename) for value. The value. The real value to use. Normally it's the same as value, but in cases where value as a type isn't supported, the value is converted to a value which is supported. The name of the provider specific DbType enum name for the value specified 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. type of the output The parameter. value of parameter converted to the real value of type T. A no-op for most databases, not for Oracle ODP.NET Strips the object name chars from the name passed in. For example [name] will become name To strip. name without the name's object name chars (Which are db specific) Creates the temporal table predicate fragment for the predicateType specified Type of the predicate. The directive given by the user which is the actual predicate. The arguments, which can be empty. The parameters created. Will be null if no arguments are created. the ready to use string to be used as temporal table predicate Converts the specified operator to a string the operator to convert to a string Creates a new alias scope and makes it active. Destroys the current alias scope and makes the previous one active, if any. 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. The string builder to append the ESCAPE clause to the character to use as escape character The type of the column the like operator is working on the parameter created for the escape character specified or null if no parameter was created (e.g. the database doesn't support ESCAPE) Gets / sets perCallCatalogNameOverwrites name pairs Gets / sets perCallSchemaNameOverwrites name pairs 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. Gets the DbProviderFactory instance to use. Interface for the class which supplies a default value for a specified .NET type. Necessary for NULL values read from the database. Generic Returns a default value for the type specified The type which default value should be returned. The default value for the type specified. Interface definition for a class which forms a single sort clause, thus an order by definition defined for a single IEntityField or IEntityField - IFieldPersistenceInfo combination PersistenceInfo will return the same object when an IEntityField is added to the object. Generic Sets the property to the value specified and returns itself, for command chaining in e.g. QuerySpec. value to Set this instance for command chaining Sets the case sensitive collation flag and returns the sortclause instance for further command chaining new value for teh CaseSensitiveCollation flag. this instance for command chaining Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. IEntityFieldCore to sort on. Persistence information for FieldToSort. Can be a cast of the same object, when an IEntityField is added to this sort clause The sort operator to use for this sort clause Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). Gets / sets the CaseSensitiveCollation flag. If set to true, the UPPER() function (or db specific equivalent) is applied to the field in the ORDER BY clause. Default: false CaseSensitiveCollation is also used for in-memory sorts. If set to true, sorts in-memory will be case insensitive, otherwise sorts will be case sensitive. The default for in-memory sorts is the same as for sorts on the db: false. Gets or sets a value indicating whether the alias of the field should be emitted if it has an expression/aggregate or the full field / expression. Default is true. Set to false if the field in this sortclause isn't used in the projection and it has an expression/aggregate assigned to it. Interface for the class which contains the sort clauses used in IRetrievalQuery instances. Generic Adds the passed in sort clause to the list. the sort clause to add The index the sort clause was added to Inserts the passed in sort clause at the index provided. Index to insert the sortclause at the sort clause to insert Removes the given sort clause from the list. the sort clause to remove. Retrieves a ready to use text representation for the sort clauses contained in this expression. string which is usable as the argument for the ORDER BY clause in a query uses aliases for fields which have an expression and/or aggregate applied. Retrieves a ready to use text representation for the sort clauses contained in this expression. If set to false (default is true), the full field name with expression / aggregate is placed in the result string instead of the alias of the field. If set to true, aliases are used for fields with an expression and/or aggregate applied. string which is usable as the argument for the ORDER BY clause in a query Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Indexer for this list. The amount of items currently stored in the ISortExpression Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. The list of parameters created when the sortexpression was translated to text usable in a query. Only valid after a succesful call to ToQueryText Interface for validation classes used by implementing classes. Generic Validates the given EntityFieldCore object on the given fieldIndex with the given value. This routine is called by the Entity's own value validator after the value has passed validation for destination column type and null values. The involved entity. Index of IEntityFieldCore to validate Value which should be stored in field with index fieldIndex. Will not be null (earlier logic filters out nulls before a call will be made to this routine). true if the value is valid for the field, false otherwise Use the entity.SetEntityFieldError() and entity.SetEntityError() methods if you want to set a IDataErrorInfo error string after the validation. Method to validate the containing entity after it is loaded. This method is called after the entity has been fully loaded. The involved entity. Method to validate the containing entity right before the save sequence for the entity will start. LLBLGen Pro will call this method right after the containing entity is selected from the save queue to be saved. The involved entity. Method to validate the containing entity right after the entity's save action has been completed and the entity has been refetched (if applicable). Note for adapter users: if the entity wasn't set to be refetched, take into account that reading properties from the containing entity will result in an OutOfSync exception. The involved entity. Method to validate the containig entity right beforethe entity's delete action will take place. The involved entity. General validation method which isn't used by the LLBLGen Pro framework, but can be used by your own code to validate an entity at any given moment. The involved entity. Called when the implementing object is assinged to entity.Validator. entity the validator is assigned to Called when the implementing object is dereferenced from an assigned entity. the entity the validator is unassigned from Interface for the RelationCollection class which is used to stack relation objects between several entities to build a complete join path Generic NB: ToQueryText() has been removed, query text producing logic is moved to the DQE's, since Oracle 8i doesn't support ANSI joins. Adds the from clause directives specified to this collection To add. Adds the range of IRelation objects stored in c to this collection. Collection with IRelation objects to add Adds the passed in relation to this collection The relation to add. the added relation Adds the passed in IEntityRelation instance to the list. IEntityRelation instance to add the added relation in the list, so you can chain commands on 1 line Adds the passed in IEntityRelation instance to the list. IEntityRelation instance to add Hint to signal the join type for this relation. Overrules obeyWeakRelations, except when the hint is JoinHint.None. the added relation in the list, so you can chain commands on 1 line Adds the passed in IEntityRelation instance to the list, under the alias specified for the end entity. The start entity gets no alias. The weakness of the relation is considered based on the ObeyWeakRelations setting. IEntityRelation instance to add the alias for the end entity in the relation (Customer.Relations.OrderUsingCustomerID: Order is end entity). Alias is case sensitive the added relation in the list, so you can chain commands on 1 line when aliasRelationEndEntity is an empty string, null or otherwise unusable alias (contains spaces) Adds the passed in IEntityRelation instance to the list, under the alias specified for the end entity and will consider the relation's weakness based on the hint value. The start entity gets no alias. IEntityRelation instance to add the alias for the end entity in the relation (Customer.Relations.OrderUsingCustomerID: Order is end entity). Alias is case sensitive Hint to signal the join type for this relation. Overrules obeyWeakRelations, except when the hint is JoinHint.None. the added relation in the list, so you can chain commands on 1 line when aliasRelationEndEntity is an empty string, null or otherwise unusable alias (contains spaces) Adds the passed in IEntityRelation instance to the list, under the aliases specified and will consider the relation's weakness based on the hint value. The start entity gets no alias. IEntityRelation instance to add the alias for the start entity in the relation (Customer.Relations.OrderUsingCustomerID: Customer is start entity). Alias is case sensitive the alias for the end entity in the relation (Customer.Relations.OrderUsingCustomerID: Order is end entity). Alias is case sensitive Hint to signal the join type for this relation. Overrules obeyWeakRelations, except when the hint is JoinHint.None. the added relation in the list, so you can chain commands on 1 line when aliasRelationEndEntity or aliasRelationStartEntity are an empty string, null or otherwise unusable alias (contains spaces) Adds the passed in IDynamicRelation instance to the list IDynamicRelation to add the added relation in the list, so you can chain commands on 1 line. Adds the passed in IRelation instance to the list at position index. IRelation instance to add Index to add the relation to. Removes the passed in IRelation instance. Only the first instance will be removed. IRelation instance to remove Converts the set of relations to a set of nested JOIN query elements using ANSI join syntaxis. Oracle 8i doesn't support ANSI join syntaxis and therefore the OracleDQE has its own join code. It uses a database specific creator object for database specific syntaxis, like the format of the tables / views and fields. The string representation of the INNER JOIN expressions of the contained relations, when ObeyWeakRelations is set to false (default) or the string representation of the LEFT/RIGHT JOIN expressions of the contained relations, when ObeyWeakRelations is set to true When the DatabaseSpecificCreator is not set. Converts the set of relations to a set of nested JOIN query elements using ANSI join syntaxis. Oracle 8i doesn't support ANSI join syntaxis and therefore the OracleDQE has its own join code. It uses a database specific creator object for database specific syntaxis, like the format of the tables / views and fields. The non ANSI where clause. The non ANSI root table reference. This parameter is set in UPDATE and DELETE statements where a multi-table relation filter is used. These queries wrap the joins produced with this routine in a subquery and the table used outside the subquery shouldn't be mentioned in the join list. So if this table reference is in the join list, it is skipped (however field1=field2 statements are added to link the outer table to the subquery logic). The non ANSI field suffix. For Oracle and PostGresql this is '(+)'. the string to use in the FROM clause After this calls the parameters produced are in the Parameters collection. Gets per alias specified in a relation all entity names covered by that alias. This means that if an entity in a relation is based on multiple entities (through inheritance) it will return all entity names the entity is based on, from the actual entity to the root of the hierarchy path and every entity name in between. Entity names per alias multivaluehashtable: per alias (key) all entity names are stored in a uniquevaluelist. The artificial alias per entity. This collection contains per entity (key) the artificial alias (value), IF such an artificial alias has been given out. (only done with entities which are part of a hierarchy of type TargetPerEntity) Gets all derived tables in the relations inside this relation collection. List of all the derived tables in this relation collection or an empty list if none found. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Enables / disables the artificial aliasing for target per entity relations. This method is used to enable the artificial aliasing of entities which are in a hierarchy of TargetPerEntity and which are in the relations of this collection. This is switched on for dyn/typedlist fetches to be sure dyn/typedlists with fields from multiple entities in the same inheritance hierarchy will be retrievable properly, as they need aliasing under the hood but if the developer didn't alias the entities, the query will fail because the supertype(s) aren't joined multiple types. if set to true, enable artificial aliasing, otherwise false (default). Artificial aliasing is disabled by default Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Indexer in the collection. Returned value can be IEntityRelation or IDynamicRelation Gets / sets ObeyWeakRelations, which is the flag to signal the collection what kind of join statements to generate in the ToQueryText statement, which is called by the DQE. Weak relationships are relationships which are optional, for example a customer with no orders is possible, because the relationship between customer and order is based on a field in order. When this property is set to true (default: false), weak relationships will result in LEFT JOIN statements. When set to false (which is the default), INNER JOIN statements are used. Returns the amount of relations in this object Gets Custom Filter Parameters, created in ToQueryText and which are used in custom filters. Optional alias for select list fields. Used in entity fetches where the entity type to fetch has to be aliased because the source of the data is a derived table or requires aliasing because the relations used require that. If specified, all predicates referring to the entity type to fetch have to use the same alias. Gets a value indicating whether the contents of this relation collection will result in joins which result in duplicate data. This is the case if there's at least one 1:n or m:n relation. Gets from clause directives which are to be set on FROM clause elements in the resulting SQL query. Interface base definition for TypedList classes Returns the amount of rows in this typed list. Gets / sets ObeyWeakRelations, which is the flag to signal the collection what kind of join statements to generate in the query statement. Weak relationships are relationships which are optional, for example a customer with no orders is possible, because the relationship between customer and order is based on a field in order. When this property is set to true (default: false), weak relationships will result in LEFT JOIN statements. When set to false (which is the default), INNER JOIN statements are used. General interface definition for the Expression class which defines field expressions which are applied to fields in a select list, in update queries or in field predicates. Retrieves a ready to use text representation of the contained expression. The contained expression in textual format. When IExpression.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained expression. if set to true, it will allow aggregate functions to be applied to fields. The contained expression in textual format. When IExpression.DatabaseSpecificCreator is not set to a valid value. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression instance The reader. The list of parameters created when the Expression was translated to text usable in a query. Only valid after a succesful call to ToQueryText Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Gets the left expression operand. Set by the constructor used. Gets the right expression operand. Set by the constructor used. Can be null Gets the operator of the expression. Not valid (ExOp.None) if RightOperand is null. Set by the constructor used. Interface definition for elements contained in an expression. The type of the element The contents of the element Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression element instance The reader. Interface definition for field elements contained in an expression The persistence info for the field contained in the field. Interface which defines a scalar query which can be used inside an Expression object. The scalar query results a single value, and because it can be used as an expression, it can be used in the select list of a dynamic list. Retrieves a ready to use text representation of the scalar query The contained function call in textual format. When IScalarQueryExpression.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the scalar query if set to true, it will allow aggregate functions to be applied to fields. The contained function call in textual format. When IScalarQueryExpression.DatabaseSpecificCreator is not set to a valid value. Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. The field which will be the resultvalue of this scalar query The persistence info for the SelectField The filter to use in the scalar query. The relations to use in the scalar query. The sorter to use in the scalar query. The list of parameters created when the ScalarQueryExpression was translated to text usable in a query. Only valid after a succesful call to ToQueryText The group by clause to use in this scalar query. Interface which defines a database function call type, used for specifying a function call in a filter, resultset or sortclause. Retrieves a ready to use text representation of the contained function call The contained function call in textual format. When IDbFunctionCall.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained function call if set to true, it will allow aggregate functions to be applied to fields. The contained function call in textual format. When IDbFunctionCall.DatabaseSpecificCreator is not set to a valid value. The list of database parameters created when the DbFunctionCall was translated to text usable in a query. Only valid after a succesful call to ToQueryText Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Gets or sets the name of the catalog the function is located in. Can be ignored on databases which don't support catalogs. If catalog name isn't supplied, the function has to be present in the active catalog the user is connected with. The name of the catalog. Gets or sets the name of the schema the function is located in. Can be ignored on databases which don't support schemas. If schema name isn't supplied, the function has to be present in the default schema the user has access to in the current catalog. If you've specified a catalog, always specify the schema. The name of the schema. Gets or sets the name of the function to call. This is without catalog or schema name. The name of the function. Gets the function parameters to pass to the function. You can pass fields and values to the function as parameters. A field can have a function call and/or expression applied to make nested function calls possible. The function parameters. Per field in FunctionParameters, this list contains the fieldPersistenceinfo object. If a parameter in FunctionParameters is not an IEntityFieldCore implementing object, the value for that parameter is null/Nothing. Interface definition for the core of a PrefetchPathElement instances contained in a PrefetchPath. This interface is used as a base interface for the specialised IPrefetchPathElement (selfservicing) and IPrefetchPathElement2 (Adapter). Adds the contained from clause directives (hints/temporal table predicates) to the relation collection specified The relation collection to add the contained from clause directives Adds the from clause directive specified to this element To add. The relation between the destination (parent) entity and the entity to fetch with this path element The EntityType enum value for the entity the entities to fetch are to be stored in. Set in the constructor The EntityType enum value for the entity to fetch defined by this path element. Set in the constructor The maximum amount of entities to set per destination instance. The sort expression to sort the entities per destination instance. The filter predicate expression to fetch the ToFetch entities. Initially this is set in the constructor. Add additional predicates to this predicate expression. The relations to use in the filters. Initially this is an empty collection, as the fetches use subqueries. Add additional relations to this relation collection to have multi-entity filters. The name of the property which is the destination for the entities fetched by the definition of this path element. The type of relation between the entity to fetch and the entity which will hold the entity to fetch Gets or sets the graph level. Gets / sets the list of IEntityFieldCore objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The subpath containing path elements to retrieve in the ToFetch entity of this PrefetchPathElement. Can be empty. The entity collection to fill (and to use to retrieve the entities to fetch). After the fetch, this collection contains the entities to merge with the instances of the parent entity. The flag to switch on (true) or off (false, default) the usage of the max limit and sorter used to fetch the root of the path in subqueries. If true, the root limit and sorter is added to the subquery filtering on the root entities, which can lead to more optimal queries. Some queries/databases can suffer from this, so only set this to true if required. Default is false, use with care. Setting is ignored for prefetch path elements which are in sub paths Gets or sets a value indicating whether the query should use its parent's caching directive (false, default) or should bypass the parent's caching directive and always fetch the query from the database (true). Interface for creating hints based on the input specified. Hints are used to tell the RDBMS to produce different SQL. This interface is implemented on those IDatabaseSpecificGenerator implementing classes for which the RDBMS supports hints. Creates the hint statement for the hint passed in. Hint specification to create the statement for. Name of the target the hint is for. This name is in full format, so on sqlserver this is [catalog].[schema].[table] and on other databases it can be for example "schema"."table". Additional parameters for the hint statement producer. The values can be very provider specific. the hint statement, ready to use. Produces the from clause directive fragments from the specified fromClauseElementDirectives. From clause element directives to use to produce the fragments requested. If null, only global setting driven hints are produced. The table hint fragment produced. Can be empty string. The temporal predicate fragment. Can be empty string. The temporal predicate parameters (if any) created for the temporalPredicateFragment. If no parameters are created, this parameter is null Interface for the PersistenceInfoProvider classes which are used to provide persistence information for adapter/selfservicing fields. Retrieves for each field of entity / typed view with the name passed in the corresponding IFieldPersistenceInfo instance. The order of these IFieldPersistenceInfo objects is the same as the corresponding fields in an entity / typed view with the name objectName. Name of the entity / typed view to retrieve the IFieldPersistenceInfo objects for. Example: CustomerEntity Array of IFieldPersistenceInfo objects Retrieves for each field of the entity instance passed in the corresponding IFieldPersistenceInfo instance. Entity instance to return the IFieldPersistenceInfo objects for. Array of IFieldPersistenceInfo objects Retrieves for the field with name fieldName of entity / typed view with the name passed in the corresonding IFieldPersistenceInfo instance. Name of the entity / typed view the field belongs to. Example: CustomerEntity Name of the field which fieldpersistenceinfo should be returned. Example: CustomerID Requested IFieldPersistenceInfo object Gets the persistence info for the tvf call with the name specified. Name of the TVF call. Determines whether the entity with the name specified is allowed to perform the action specified in actionToCheck. Is compared against the specified actioncombination defined with the entity mapping. Name of the entity. The action to check. Is numeric value of PersistenceActionType true if the entity is allowed to perform the action, false otherwise. Interface for the ModelInfoProvider generated class which is used to provide field and inheritance info for adapter/selfservicing objects. Fills the entity fields object for the adapter entity with the name specified. Name of the entity. Adapter specific Fills the entity fields object for the selfservicing entity with the name specified. Name of the entity. The persistence info provider. SelfServicing specific Creates a new relation object from the information specified. The type of relation. Name of the mapped field in the start entity onto this relation. Set to true if the start entity of the relation is the PK side of the relation. This is set in the generated code. This property is true in 1:n relations and in 1:1 relations where the start entity is the PK side and the end entity is thus the FK side. Required for determining which alias belongs to which entity. the fields forming the relation. Field at index 0 is related to field at index 1, field at index 2 is related to field at index 3 etc. Creates a new hierarchy relation using the fields specified. A hierarchy relation is a 1:1 relation used for inheritance information. Set to true if the start entity of the relation is the PK side of the relation. This is set in the generated code. This property is true in 1:n relations and in 1:1 relations where the start entity is the PK side and the end entity is thus the FK side. Required for determining which alias belongs to which entity. Interface for the FieldInfoProvider class which is used to provide field info information for adapter/selfservicing fields / entityfields(2) objects. Creates an EntityField2 representing the field with the index specified Index of the field Gets the field info for the field specified with the field index. Index of the field. Gets the field info for the field passed in for the element passed in Name of the element. Name of the element field. Gets the field info for the field passed in for the element passed in Name of the element. Index of the element field. Gets the field infos for the element passed in. Name of the element. Gets the field indexes object for the element passed in. This is an object which is used by EntityFields(2) objects to quickly find a field based on the field name. Name of the element. Gets the entityfields2 object for the typedview with the name specified (e.g. "InvoicesTypedView") the name of the typed view ready to use fields object Gets the entityfields object for the typedview with the name specified (e.g. "InvoicesTypedView") the name of the typed view Gets the entity fields array. Name of the entity. array of the fields which solely belong to the entity specified so no inherited fields are present. Used in adapter. Gets the entity fields array. Name of the entity. The persistence provider. array of the fields which solely belong to the entity specified so no inherited fields are present. selfservicing specific. Interface for defining the IEntityPropertyProjector type which is used for entity property projections when projecting an entityview's content onto another data store format. Projects the entity through this entity property projector and results into a single value, based on what the DefaultValueProducer is and what filter is specified (if any) The entity to project. The DefaultValueProducer, ValueFilter, AlternativeValueProducer and the method to post process the value will determine what the returned value is Projection result of an entity's property using this entity property descriptor. Gets or sets the default value producer. This object produces the value returned by ProjectEntityProperty if ValueFilter isn't set or resolves to true for the entity passed into ProjectEntityProperty. Gets or sets the value filter which can be used to select between the DefaultValueProducer and the AlternativeValueProducer. If this filter isn't set (null) or set to an IPredicate implementing object and at runtime the filter resolves to true for the entity passed into ProjectEntityProperty, the DefaultValueProducer is used, otherwise the AlternativeValueProducer. If AlternativeValueProducer isn't set, an ORMInterpretationException is thrown. Gets or sets the alternative value producer. Only used if ValueFilter is set to a valid filter and that filter resolves to false for the entity passed into ProjectEntityProperty. Interface for defining the IDataValueProjector type which is used for value projections when projecting an object[] content onto another data store format. Projects the entity through this entity property projector and results into a single value, based on what the DefaultValueProducer is and what filter is specified (if any) The source values of which this projector will pick a value to project. The projection result is returned. Projection result of a value in the sourcevalues. Gets or sets the index of the value to return when Projectvalue is called. The index of the default value. Core interface for projectors Name for the projection result. Projection result consumers can use this name to further handle the projection result. Gets or sets the type of the value returned by the value producer or producers routine of the projector. Flag which hints the projector engine how to set the destination element: via the constructor (true) or on another way (false). This flag can be ignored by the projector engine if values can better be set otherwise. Projectors for CTors have to appear in the same order as their destination parameters appear in the CTor to use. Gets or sets the delegate to use to produce a value for this projector out of the list of object values. Be sure to set ValueProducerFuncParameterIndices if the delegate contained inside ValueProducerFunc requires any input values from the list of values to project Gets or sets the parameter indices array to use with ValueProducer. If ValueProducerFunc is null, this array is ignored. Interface which defines a projector engine for projecting entity data. The engine consumes projected plain data and produces an object which from then on contains the plain data. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The plain projection result. Interface which defines a projector engine for projecting general data in object[] arrays (e.g. datareader results). The engine consumes projected plain data and produces an object which from then on contains the plain data. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The plain projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as plain result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Internal maintenance interface for collections. This interface is necessary so methods can be called by casting to this interface without needing the type of the element used in the collection when the collection is for example passed in with just IEntityCollection or IEntityCollection2. Resets the CachedPkHashes. Clears this instance. Creates a dummy instance using the entity factory stored in an inherited collection. This dummy instance is then used to produce property descriptors. Dummy instance of entity contained in this collection, using the set factory. Gets the entity collection description. This string is used in verbose trace messages. switch flag. Raises the list changed event, with the parameters passed in. The index. The type of change. Removes the passed in entity from the collection without notifying the entity to remove that it has been removed from this collection. To remove. Gets / sets the DeserializationInProgress flag. Gets or sets a value indicating whether [surpress list changed events]. Interface for elements which have to emit different information based on the verbose flag. Emits the traceable object as text to the output if set to true it will emit verbose information, otherwise it will only emit info-level information. Interface which defines the core elements of an LLBLGen Pro transaction manager object. Will notify all transaction participating entities that the transaction they're in, has been committed. Will notify all transaction participating entities that the transaction they're in, has been rolled back. Internal interface which is used to call entity methods in generic code where there's just an IEntityCore instance. Gets all related data objects, stored by name. The name is the field name mapped onto the relation for that particular data element. Dictionary with per name the related referenced data element, which can be an entity collection or an entity or null Routine which is used by the generated code to perform tasks after a ReadXml() action on this entity instance was performed Calls the OnCanLoadEntity routine for this entity. the result of OnCanLoadEntity Calls OnGetFetchNewAuthorizationFailureResultHint on the authorizer. Only called when the CanGetLoad failed (authorization failed, so load was denied) any of the FetchNewAuthorizationFailureResultHint values Gets or sets a value indicating whether xml deserialization is in progress. If so, setters can't be set on the other side of 1:1 relationships. Returns whether the entity has a relationship with directly with itself. Only valid for non-inheritance entities, as it checks only for relationships directly with the same type, not relationships indirectly with self, i.e. to a supertype/subtype. This is OK as this is used for grouping in batching of inserts, where inheritance entities aren't taken into account anyway. If these relationships have to be taken in to account as well, this property isn't sufficient. Internal interface for entity collections. Prepares the collection for fetch operation. Completes the fetch operation. Performs the related entity removal. To remove. if set to true [signal related entity many to one]. Gets the cached pk hashes, if available, otherwise null Sets the cached pk hashes to the passed dictionary The pk hashes. Internal interface which is used for SQL query generation in QueryFragments. Appends itself in string form to the builder specified The string builder to append itself to. The prefix to append first, if this object has a string length larger than 0, otherwise this method is a no-op and the prefix is ignored. Interface which allows a class to specify that it can be recreated during deserialization using a default constructor and then calling DeserializeOwnedData() Interface which allows a class to save/retrieve their internal data to/from an existing SerializationWriter/SerializationReader. Lets the implementing class store internal data directly into a SerializationWriter. The SerializationWriter to use Optional context to use as a hint as to what to store (BitVector32 is useful) Lets the implementing class retrieve internal data directly from a SerializationReader. The SerializationReader to use Optional context to use as a hint as to what to retrieve (BitVector32 is useful) Interface to allow helper classes to be used to serialize objects that are not directly supported by SerializationWriter/SerializationReader Allows a surrogate to be queried as to whether a particular type is supported The type being queried true if the type is supported; otherwise false FastSerializes the object into the SerializationWriter. The SerializationWriter into which the object is to be serialized. The object to serialize. Deserializes an object of the supplied type from the SerializationReader. The SerializationReader containing the serialized object. The type of object required to be deserialized. Interface for entitycollection2 objects which are usable with the fast serializer Gets the serialization flags. If set to true, serialization flags are parsed If set to true, entity menber collections are included as well. Bitvector with the serialization flags Adds the specified entity. The entity. Inits the class Gets or sets the containing entity mapped field Interface to implement on a compressor class which can be used to compres/decompress the resulting byte array of the Fast serializer. Compresses the specified serialized data. The serialized data. The passed in serialized data in compressed form Decompresses the specified compressed data. The compressed data. The passed in de-serialized data in compressed form Interface to implement on specialized compressor classes to compress a passed in memory stream Compresses the specified memory stream. The memory stream. the data in the memory stream in compressed format. Class which contains argument verification logic and which can throw exceptions if necessary. This code makes it easier to verify input arguments. Checks the argument passed in. if it's null, it throws an ArgumentNullException The argument. The name. Checks the argument passed in. if it's null or empty string, it throws an ArgumentNullException The argument. The name. Checks the argument passed in. if it's null or whitespace, it throws an ArgumentNullException The argument. The name. Checks if the argument returns true with the func passed in. If not, it throws an ArgumentException with the error message specified. The check func. The argument. The formatted error message. Static class which contains logic used by the generated code to read data from config files. Reads the value of the setting with the key CatalogNameUsageSetting from the *.config file and stores that value as the active setting for catalogNameUsageSetting for this instance, IF specified. If specified, a key with the name CatalogNameToUse is expected as well. Name of the key. the connection string, if found, otherwise empty string First tries to read from the connectionstrings settings (new in .NET 2.0). If not found, it will try to read it from the appSettings tag Utility class which fills the passed in datatable using the passed in open reader and the persistence info. It performs conversion along the way. It creates new columns if no columns are defined in the datatable, otherwise re-uses the columns. Fills the specified datatable with the data from the datareader. Data source. Is assumed the reader is at the first record, so Read() has been called. To fill. Fields persistence info. Keep in mind that these are for a single field. If the source is an expression, you can't rely on the name for instance for this field as it's aliased in the resultset. Query executed. DataReader isn't cleaned up afterwards. Call PersistenceCore.CleanupDataReader afterwards when you're done with the reader. This method is called in multiple situations: when toFill has all the columns needed, when toFill has no columns, when the resultset has more or less columns than required (e.g. stored proc resultset), and e.g. when everything matches perfectly. Therefore it has to check everything up front. Callback for the AggregateSetPredicate, which is used to aggregate over the set of values passed in. the values to aggregate. the aggregation result of the values passed in. Callback for the AggregateSetPredicate, which is used to interpret a passed in entity and return the value to add to the set of values to aggregate in the AggregateSetPredicate. The entity to interpret the interpretation result of the passed in entity. This value is then added to the list of values to aggregate in the AggregateSetPredicate Callback for the DelegatePredicate, which is used to perform the interpretation of the passed in entity. The entity to interpret true if the entity is accepted by the callback, otherwise false. Delegate definition which is used by and projection engines. The delegate is used to produce a single value out of one or more values in the object array passed into the projection engine. The values to project. The list of indices inside values. The delegate has to refer to these indices to obtain values from values the value to use for the projection. Used by Linq to produce values from projections using local functions. Also usable by .NET 2.0 developers, although with slightly more coding. Delegate definition which is used by linq. The delegate is used to produce a single instance from the projection row specified. The row representing object which wraps the current row of values to be projected. The list of indices inside values. The delegate has to refer to these indices to obtain values from values the value to use for the projection. Used by Linq to produce values from projections using local functions. Delegate definition for a dynamically compiled method for setting the provider specific type. db parameter to set the specific type of the specific type value Simple class which tracks whether a class is in design mode or not. This is a global flag as everything is either in design mode or nothing is. Set through framework code when it's being used in vs.net's design time mode. Small class which generates and compiles a setter delegate on the fly to quickly set properties on instances through reflection. Creates the set handler for the type and the property specified. It compiles an expression tree to create a dynamic setter. It's wise to cache the returning delegate. The type of the target object the value will be set on. The property info of the property to set. compiled delegate which is ready to use to set the property defined by propertyInfo on instances of the type specified Creates the set handler for the type and the fieldinfo specified. It compiles an expression tree to create a dynamic setter. The type of the delegate. The type. The field info. compiled delegate which is ready to use to set the field defined by fieldInfo on instances of the type specified Class with various extension methods for various classes. Appends the fragment specified to the string builder specified. If fragment results in a string fragment with a length > 0, prefix is appended first. To append to. The fragment. The prefix. Appended before fragment, only if fragment is a string fragment with a length > 0. Gets the field name per ordinal. It returns an array with on index i the name of the column i. Ordinals are 1 based, but columns are 0 based in our system, so the field of the first column is considered to be on position 0. The reader. Expands the specified bitarray with the specified number of slots To expand. The number of extra slots. Gets the value for the key from the dictionary specified, or null / default(TValue) if key not found or the key is null. The type of the key. The type of the value. The dictionary. The key. the value for the key from the dictionary specified, or null / default(TValue) if key not found or the key is null. Converts the passed in list of object arrays to a scalar value, as the source is the result of a query. It picks the first value of the first row in source or null if empty. The type of the value. The source. Determines whether the type this method is called on is an enumerable type. if t is of type string, it returns false. The type. true if t implements IEnumerable and isn't of type string, false otherwise Returns an array of property infos of all the properties which are settable, so which have a public setter method. Extension method class for classes in the ORMSupportClasses. Determines whether the specified relation collection is empty. A null passed in is also considered empty. To check. true if the collection passed in is null or has no elements, false otherwise. Determines whether the specified sortexpression is empty. A null passed in is also considered empty. To check. true if the sortexpression passed in is null or has no elements, false otherwise. Determines whether the specified groupbycollection is empty. A null passed in is also considered empty. To check. true if the groupbycollection passed in is null or has no elements, false otherwise. Determines whether the specified predicate or predicate expression is empty. A null passed in is also considered empty To check. true if the predicate passed in is null or has no elements, false otherwise Gets the last relation in the passed in relations collection or null if it's empty The relations. the last relation in the passed in relations collection or null if it's empty Removes the last relation from the passed in relationcollection. Assumes last entry is an entity relation The relations. Clones the relationcollection without the first relation. To clone. the relationcollection without the first relation. Used in situations where a set of relations have to be added to a relationcollection but not the correlation relation (which is the first one). if there are more than one relations in the passed in collection, all are returned. Various field related routines Returns either the type converter to use for the field specified or null if no type converter was found. the field to determine the type converter for the field persistence info of the field the type converter to use, obtained from the persistence info specified, or null if no type converter was found. Creates the plain data projectors for hierarchical fetches The fields. Creates the default value for the type specified The type to create value for. Precalculates the entity materialization data, which is passed to ReadRowIntoFields. The row destination. The fields persistence info. The indices for enum converts. The indices for type converters. Determines the value to set for the field specified. The field to set. The persistence info. The current value. Assumes a null value is specified as DBNull.Value, so currentValue is never null. There's no check for this as this method is called a lot and the call paths to this method are controlled. Usage of this method is with datareaders which all return DBNull.Value from GetValues. flag which is set to true if the value was converted by a typeconverter the value to set the fieldToSet to. If the value to return is DBNull.Value, null is returned instead Converts the value in sourceValue to an instance of the specified enum type. Assumes sourceValue isn't null / DBNull.Value and enumType is an enumType. If sourceValue is a string, Enum.Parse() will be used, otherwise Enum.ToObject() the Enum type to create an instance of the value to create an Enum instance of. Calculates the hashcode for value passed in. If the value is null, the hashcode of DBNull.Value is used. If the value is an array, the hashcode is calculated from the individual values: if the length is larger than 65535, or not a byte array, each value's hashcode is xorred with the previous one. If the value is a byte array and the length is equal or smaller than 65535, all values are added, multiplied with the index. The value which hashcode has to be calculated. the hashcode for the value passed in Calculates the hashcode for value passed in. If the value is null, the hashcode of DBNull.Value is used. If the value is an array, the hashcode is calculated from the individual values: if the length is larger than 65535, or not a byte array, each value's hashcode is xorred with the previous one up to 65535 values. If the value is a byte array and the length is equal or smaller than 65535, all values are added, multiplied with the index. If the value is a string, the invariantculture hashcode is retrieved if the length is smaller than 65535. If the length is 65535 or higher, the string's hashcode is retrieved using the normal GetHashCode method. The value which hashcode has to be calculated. if set to true, it will produce case sensitive hashcodes for strings, if value is a string. the hashcode for the value passed in Gets the names of the changed fields. Assumes field sets A and B have the same fields and are equal in size fields set A. Has to contain IEntityFieldCore typed objects fields set B. Has to contain IEntityFieldCore typed objects the names of the fields which have a different value in A than in B Determines the name of the real full type of the type passed in, which can be a generic type. If so, the generic type parameter will be used. To convert. full name of type specified. if toConvert is a Nullable(Of T), the type of T will be returned Determines the name of the real full type of the type passed in, which can be a generic type. If so, the generic type parameter will be used. To convert. if set to true, it will unwrap the nullable type toConvert, if toConvert is a nullable type (so it will return T) full name of type specified. if toConvert is a Nullable(Of T), the type of T will be returned, if unwrapNullableType is true Determines the real type of the passed in type. It will unwrap nullable types if unWrapNullableType is true. To convert. if set to true [un wrap nullable type]. Gets the entity field states of the fields in the IList passed in. The fields. the fieldstates of every field in the enumerable passed in Determines if the field should be set to the value passed in. if set to true [field is changed]. The current value. The db value. if [entity is new]; otherwise, . Value. true if the field should be set with the value, false otherwise Compares the two values passed in and checks if they're value-wise the same. This extends 'Equals' in the sense that if the values are arrays it considers them the same if the values of the arrays are the same as well and the length is the same. It assumes the types of value1 and value2 are the same true if the values should be considered equal. If value1 or value2 are null and the other isn't false is returned. If both are null, true is returned. Performs a per-value compare on the arrays passed in and returns true if the arrays are of the same length and contain the same values. true if the arrays contain the same values and are of the same length Fixes the first field for source determination in each derived table passed in. If there's no source defined in the query, i.e. the first field in the fieldscollection isn't a mapped field but a field with an expression and there are no relations, it means that the DQE won't be able to determine which table /view to target. This routine solves thatfind the first field in the expression of the field, clone that one and use that field as the field to use at position 0 instead of the current field. The derived tables. Fixes the first field for source determination. If there's no source defined in the query, i.e. the first field in the fieldscollection isn't a mapped field but a field with an expression and there are no relations, it means that the DQE won't be able to determine which table /view to target. This routine solves thatfind the first field in the expression of the field, clone that one and use that field as the field to use at position 0 instead of the current field. The fields to fix. The relations. Fixes the first field for source determination. If there's no source defined in the query, i.e. the first field in the fieldscollection isn't a mapped field but a field with an expression and there are no relations, it means that the DQE won't be able to determine which table /view to target. This routine solves that by finding the first field in the expression of the field or in the rest of the sourcefields, clone that one and use that field as the field to use at position 0 instead of the current field. The source fields. The field which should be used instead of the passed in sourceField Gets the entity field property descriptors for the dummy instance passed in. The dummy instance. The instance properties. The names added by this routine Creates a full type name, of the format: Type.Fullname, assembly name. If the assembly is signed, the full assembly name is added, otherwise just the assembly name, not the version, public key token or culture. The type. fulltype name. Used in .NET 2.0 Checks the precision of the value passed in as string. Assumes value is numeric. The value as string. The precision. The exception message. Checks the precision and scale of the value passed in as string. Assumes value is numeric. The value as string. The value. Will be altered if a scale overflow is detected and the scaleOverflowCorrectionActionToUse value dictates that the value has to be altered to make it fit the scale. The scale overflow correction action to use. The precision. The scale. if set to true [precision violation]. if set to true [scale violation]. The exception message. Determines the number of pk fields for the set of PK fields passed in. Normally this is the # of entries in the PK field collection, however in the case of a subtype of a targetperentity, all PK fields of the supertypes are also present in this collection and therefore this routine has to determine how many of these fields are really there. The pk fields. the # of pk fields Creates the artificial object alias for a field which is in the entity with the name specified. THe alias is used to make it possible to join a supertype multiple times if fields from different subtypes are in the resultset. The alias has the format LPAA_actualContainingObjectName. Example: LPAA_CustomerEntity Name of the actual containing object. the artificial object alias to use for the field calling this method Corrects the scale of the value passed in (can be decimal, single or double) and returns the new value with the scale corrected according to the scale passed in and the action specified. The value to correct. The scale. The action. The absolute value of the value returned, after correction. returns the new value with the scale corrected according to the scale passed in and the action specified. Produces the field alias in inheritance scenarios Index of the entity. Index of the field. alias in the format FentityIndex_fieldIndex Sets the actual containing object name of the fields specified to the name specified. Used when all fields in a derived table have to be of the same defining type so type filtering can kick in. The fields. New name of the actual containing object. Converts the value specified to the type TValue, or reports a proper exception if it's not possible. The type of the value to convert to. Used with scalar query fetches. The exception reflects that. Class which is used to define a function mapping between a .NET operator or function / method and a database function / operator. Mainly used for Linq support, however one could use this list also in .NET 2.0 code Initializes a new instance of the class. The defining type of the function, e.g. typeof(System.String). Name of the .NET function or operator (in string form, e.g. "+") which equivalent should be called. Example: Concat. Is part of unique key for this functionmapping The parameter count of the function / operator. This number has to be equal to the # of parameters of the db equivalent. Is part of unique key for this function mapping The DbFunctionCall pattern to use, which is the pattern used in the DbFunctionCall object which will take care of the function call text in the resulting query. Initializes a new instance of the class. The defining type of the function, e.g. typeof(System.String). Name of the .NET function or operator (in string form, e.g. "+") which equivalent should be called. Example: Concat. Is part of unique key for this functionmapping The parameter count of the function / operator. This number has to be equal to the # of parameters of the db equivalent. Is part of unique key for this function mapping The DbFunctionCall pattern to use, which is the pattern used in the DbFunctionCall object which will take care of the function call text in the resulting query. Name of the catalog (optional, can be empty), where the database function can be found in. Name of the schema (optional, can be empty), where the database function can be found in. Initializes a new instance of the class. Name of the type defining the .NET function. Example: System.String. Is part of unique key for this function mapping. Name of the .NET function or operator (in string form, e.g. "+") which equivalent should be called. Example: Concat. Is part of unique key for this functionmapping The parameter count of the function / operator. This number has to be equal to the # of parameters of the db equivalent. Is part of unique key for this function mapping The DbFunctionCall pattern to use, which is the pattern used in the DbFunctionCall object which will take care of the function call text in the resulting query. Initializes a new instance of the class. Name of the type defining the .NET function. Example: System.String. Is part of unique key for this function mapping. Name of the .NET function or operator (in string form, e.g. "+") which equivalent should be called. Example: Concat. Is part of unique key for this functionmapping The parameter count of the function / operator. This number has to be equal to the # of parameters of the db equivalent. Is part of unique key for this function mapping The DbFunctionCall pattern to use, which is the pattern used in the DbFunctionCall object which will take care of the function call text in the resulting query. Name of the catalog (optional, can be empty), where the database function can be found in. Name of the schema (optional, can be empty), where the database function can be found in. Returns a that represents the current . A that represents the current . Gets the key of this mapping, which is build from function name, typename and parameter count. It has the format as defined in FunctionMappingStore.KeyFormat: FunctionName|TypeName|ParameterCount. Example: Concat|System.String|2 Gets the name of the .NET function or operator (in string form, e.g. "+") which equivalent should be called. Example: Concat. Gets the DbFunctionCall pattern to use, which is the pattern used in the DbFunctionCall object which will take care of the function call text in the resulting query. Gets the name of the type defining the .NET function. Example: System.String. Gets the name of the catalog (optional, can be empty), where the database function can be found in. Gets the name of the schema (optional, can be empty), where the database function can be found in. Gets the parameter count of the function / operator. This number has to be equal to the # of parameters of the db equivalent. General container class for static utility methods which have no better grouping class. Creates the temporal table predicate from clause directive (FED) from the input elements specified Type of the predicate. The predicate. The argument1. The argument2. ready to add FromClauseElementDirective Creates the classic value reader for projections. The expression returned is projectionRowParameter[indexValueObtainer]. Type of the target. The index value obtainer. The projection row parameter. The indexer get method. The convert change type method. Calculates the row skip / take values from the 3 values from the pre-v4 api. The page number. Size of the page. The max number of items to return. The rows to skip. The rows to take. Creates a typed data table column. Used in typed lists and typed views. Adds the column to the columns collection specified. Name of the column. The caption. Type of the column. The columns. ready to use column definition. Creates the usable bucket clone. To clone. a clone of the bucket passed in or a new RelationPredicateBucket if toClone is null Creates the usable predicate expression clone. To clone. toClone wrapped in a new predicatexpression or an empty PredicateExpression if toClone is null Creates a usable relation collection clone. To clone. A clone of toClone or a new RelationCollection if toClone is null Checks if the input is valid. The input. Name of the param which was the input. if true, input can be null input casted to T Produces an empty DataSet, with for every element specified in the specified prefetch path a DataTable. It adds PK constraints and DataRelations to each datatable added. The datatables have the name of the entity: per entity type found there's 1 table. The path. The element creator. Ready to use, empty dataset with for every type in the prefetch path an empty datatable with all the columns specified Use the returned DataSet for hierarchical projections Produces the empty data set for the element specified. The path element. The element creator. The data set in progress. The data tables created. The relations. Produces an empty data table for the entity type specified The entity type of entity. The element creator. empty datatable with all the columns added and with PK constraints Produces an empty data table for the entity type with the factory specified The factory. The element creator. empty datatable with all the columns added and with PK constraints Creates the data relations in the dataset passed in for the relations passed in. Only create relations where the start entity is the FK side. The destination to create the datarelations in. The relations to use for creating the datarelations. Converts the value passed in to null/Nothing (reference type) or default value (value type) if the value is DbNull.Value, based on the type passed in, also if that type is a nullable type. The plain value. Type of the destination. rawValue if rawValue isn't null/DBNull.Value, otherwise null, if destinationType is reference type, otherwise the default for the value type Determines the type of the default null value for. The type for value. Determines whether type passed in is a Nullable(Of T) type. To check. true if the type passed in is a Nullable(Of T) type, otherwise false. Constructs the restriction filter for the element passed in The restriction filter. The entity. Type of the concurrency. Trick method to obtain method info from a func, which is used to get the method info of a method inside the method itself. Used for own extension methods for Linq. Needed for netstandard 1.6 or higher, so it's implemented in the whole linq provider. Trick method to obtain method info from a func, which is used to get the method info of a method inside the method itself. Used for own extension methods for Linq. Needed for netstandard 1.6 or higher, so it's implemented in the whole linq provider. Trick method to obtain method info from a func, which is used to get the method info of a method inside the method itself. Used for own extension methods for Linq. Needed for netstandard 1.6 or higher, so it's implemented in the whole linq provider. Trick method to obtain method info from a func, which is used to get the method info of a method inside the method itself. Used for own extension methods for Linq. Needed for netstandard 1.6 or higher, so it's implemented in the whole linq provider. Class which contains the data to set an entity reference found in an XmlNode to an entity instance. Instances of this class are used to store entity references found in an Xml tree in ReadXml() so these references can be set once the complete object tree is created and objects are known. The instance holding the ReferenceingProperty. The ObjectID of the entity object to set as value of the ReferencingProperty The property descriptor of the property to set to the instance with the ObjectID stored in ObjectID. When null, SetterFunc is used. If set to true, this reference is not a property set but a collection add. Collection to add to is referenced by PropertyHoldingInstance The position in an entitycollection on which the node entity reference was encountered. Not valid if IsCollectionAdd is false. The func to use for setting the destination for the entity. Used when ReferencingProperty is null. Sets the entity reference. The component. To set. Some utility functions to process graphs Produces the collections per type from the graph specified The collection of entities which form the start of the graph. A dictionary with per type a new non-generic entity collection with all the entities of that type found in the graph Produces the collections per type from the graph specified The collections to traverse. A dictionary with per type a new non-generic entity collection with all the entities of that type found in the graph Produces the topology ordered list for the graph rooted by the entity passed in. Uses topological sort of a directed graph using a non-recursive implementation of Tarjan's algorithm using an in-line stack. Entity to examine. the types of the entities, sorted by dependency, where a type at index N+1 depends on a type at index N. List which represents the complete graph of entities which are reachable from entityToExamine, and sorted in the right order, so every entity which depends on another entity is placed after the entity/entities it depends on. Performs the topology sort for the adjacencylists and the entity given. Adds the entity to the list passed in which represents the right ordered queue. To sort. Adjacency lists. Visited. The ordered list. Uses recursion, as it implements Tarjan's algorithm. Method isn't used by the framework but left here for backwards compatibility. Performs the topology sort for the adjacencylists and the type given. Adds the type to the list passed in which represents the right ordered queue. To sort. Adjacency lists. Visited. The ordered list. Uses recursion, as it implements Tarjan's algorithm. Method isn't used by the framework but left here for backwards compatibility. Produces adjancency lists for the entities in the complete graph reachable from the entity passed in, using a non-recursive search algorithm. This routine figures out the graph to process by walking it, using a hashtable (recursed) to take note which nodes are already processed. When it finds an entity A and an entity B having a relation in the graph (have 'an edge'), and A is depending on B, we add B to the adjacency list of A, though we don't add A to the adjacency list of B. Additionally, it adds the type of B to the adjacency list of the type of A. This way we can determine the order of types. An entity in the graph to traverse The dictionary with per seen entity (objectid, key) the adjancency list (Hashtable of entities, key is objectid, value is entity) The hashtable with objectids of the entities already processed to build the adjacency lists. The dictionary with per type (key) the list of types it depends on Determines the action queues for the entity passed in. The action queues contain the entities to process in the right order. Entity to save. Insert queue. Update queue. The insert queue hasn't been sorted based on type. To do that call Determines the action queues for the entity passed in. The action queues contain the entities to process in the right order. Entity to save. Insert queue. Update queue. flag to set in the new actionobjects if the entity to save has to be refetched after the action The insert queue hasn't been sorted based on type. To do that call Determines the action queues for the entity passed in. The action queues contain the entities to process in the right order. Entity to save. Update restriction to use with entityToSave. Insert queue. Update queue. The insert queue hasn't been sorted based on type. To do that call Determines the action queues for the entity passed in. The action queues contain the entities to process in the right order. Entity to save. Update restriction to use with entityToSave. Insert queue. Update queue. flag to set in the new actionobjects if the entity to save has to be refetched after the action The insert queue hasn't been sorted based on type. To do that call Determines the action queues for the entity collection passed in. The action queues contain the entities to process in the right order. Entity collection to save. Insert queue. Update queue. Determines the action queues for the entity collection passed in. The action queues contain the entities to process in the right order. Entity collection to save. Insert queue. Update queue. flag to set in the new actionobjects if the entity to save has to be refetched after the action Determines the action queues for the entity passed in. The action queues contain the entities to process in the right order. Entity to save. Update restriction. Insert queue. Update queue. In queue. The entities in graph. The insert queue hasn't been sorted based on type. To do that call Determines the action queues for the entity passed in. The action queues contain the entities to process in the right order. Entity to save. Update restriction. Insert queue. Update queue. In queue. flag to set in the new actionobjects if the entity to save has to be refetched after the action The entities in graph. The insert queue hasn't been sorted based on type. To do that call Determines the action queues for the entity passed in. The action queues contain the entities to process in the right order. The type of the entity. Entity to save. Update restriction. The insert queue. The update queue. In queue. if set to true the work is for inserts and only insert actions are added to the queues, false it's for updates. flag to set in the new actionobjects if the entity to save has to be refetched after the action The entities in graph. The insert queue hasn't been sorted based on type. To do that call Clears the collected type adjacency lists. Sorts the queue specified in-place based on types. It first sorts the types based on the collected type adjacency lists, then it re-orders the queue based on these type dependencies, grouping entities together based on types which makes it easier for batching. Updates don't need to be re-ordered. the insert queue to re-sort. Adds one entity to the adjacency list of another entity Entity to add to the adjacency list of adjacencyListOwner. Adjacency list owner of the adjacencylist to add to Adjacency lists currently known if toAdd is already present, this routine is a no-op Gets the adjacency list for the objectid passed in. If no adjacencylist is available for that id, a new one is created and added to the adjacencylist hashtable passed in Object id. Adjacency lists. AdjacencyList of id passed in This class is by Ian Griffiths, see: http://www.interact-sw.co.uk/iangblog/2004/04/26/yetmoretimedlocking [FB]Comment below is by Ian as well. Class is left as-is with very minor changes in comments and code placement. Thanks to Eric Gunnerson for recommending this be a struct rather than a class - avoids a heap allocation. Thanks to Change Gillespie and Jocelyn Coulmance for pointing out the bugs that then crept in when I changed it to use struct... Thanks to John Sands for providing the necessary incentive to make me invent a way of using a struct in both release and debug builds without losing the debug leak tracking. Locks the specified o. The o. Locks the specified o. The o. The timeout. Initializes a new instance of the class. The o. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Container class for the static traceswitch objects used by the tracing logic in the ORMSupportclasses. General switch which is used by general code in the ORM Support classes. Switch which is used by state management code in the ORM Support classes. Switch which is used by entity / other data persistence logic execution code in the ORM Support classes Switch which is used by the query objects in the ORM support classes. Switch which is used by the plain SQL api to log executed statements. Writes the value with no category specified to the trace output with a newline, if condition is true. Condition to test if the value has to be written (true) or not (false) Value to write to the trace output Writes the message with no category specified to the trace output with a newline, if condition is true. Condition to test if the message has to be written (true) or not (false) Message to write to the trace output Writes the value with the remark of the category specified to the trace output with a newline, if condition is true. Condition to test if the value has to be written (true) or not (false) Value to write to the trace output Category to specify with the value Writes the message with the remark of the category specified to the trace output with a newline, if condition is true. Condition to test if the message has to be written (true) or not (false) Message to write to the trace output Category to specify with the message Writes the message with the remark of the category specified to the trace output with a newline, if condition is true. Will not format the message if the condition is false. Condition to test if the message has to be written (true) or not (false) Message to write to the trace output, in string.Format format Category to specify with the message The arguments for the message to be used in string.Format. Writes the value with no category specified to the trace output, if condition is true. Condition to test if the value has to be written (true) or not (false) Value to write to the trace output Writes the message with no category specified to the trace output, if condition is true. Condition to test if the message has to be written (true) or not (false) Message to write to the trace output Writes the value with the remark of the category specified to the trace output, if condition is true. Condition to test if the value has to be written (true) or not (false) Value to write to the trace output Category to specify with the value Writes the message with the remark of the category specified to the trace output, if condition is true. Condition to test if the message has to be written (true) or not (false) Message to write to the trace output Category to specify with the message Writes the message with the remark of the category specified to the trace output, if condition is true. Will not format the message if the condition is false. Condition to test if the message has to be written (true) or not (false) Message to write to the trace output, in string.Format format Category to specify with the message The arguments for the message to be used in string.Format. Writes a message that the compiled lambda cache for the cache owner specified has recycled. It's written if the traceswitch QueryExecution is switched on at the info level The owner of the cache, e.g. 'Linq' or 'QuerySpec' The threadid owning the cache instance which was recycled The number of entries allowed in the cache before it was recycled. Traces the action failure, if any, to the info level tracer of ORMPersistenceExecution. if set to true, the authorizer allowed the action. if set to true the persistence actions defined allow the action. Name of the entity type. The action description. The persistence action. The category. Writes the information about the executed passed in SQL query to the tracers which should get this information. To emit. The message. General class with extension methods for various types in the .NET library. Writes a full element with the name specified and an additional attribute with the name and value specified. The writer. Name of the element. Name of the attribute. The attribute value. Prepares the reader for first read. This means that if the reader is in the initial state, a Read is executed. If the first read then sees an XML declaration, it's skipped as well The reader. Writes a new element to the writer with the element data in a CData block The writer. Name of the element. The element data. Writes an optional attribute string. If attributeValue is equal to the default of T, no attribute is written. The writer. Name of the attribute. The attribute value. Writes an optional attribute string. If attributeValue is equal to the default of T, no attribute is written. The writer. Name of the attribute. The attribute value. The attribute value as string. Writes an optional attribute string. If attributeValue is equal to the default null value specified, no attribute is written. The writer. Name of the attribute. The attribute value. The attribute value as string. The default null value. Writes an optional element string. If elementValue is equal to the default of T, no element is written. The writer. Name of the element. The element value. Writes an optional element string. If elementValue is equal to the default of T, no element is written. The writer. Name of the element. The element value. The element value as string. Writes an optional element string. If elementValue is equal to the default null value specified, no element is written. The writer. Name of the element. The element value. The element value as string. The default null value. Writes the value as element, with the type as attribute. If value is null, no type is written and the value is empty The writer. Name of the element. The value. Will write the value as plain value, and won't include it in CData blocks. Reads the element the reader is currently positioned on as object. Expects format as written by WriteValueAsElement The reader. Gets the value of an optional attribute. If the attribute isn't present, string.Empty is returned. The reader. Name of the attribute. The conversion func. Gets the value of an optional attribute. If the attribute isn't present, defaultValue is returned. The reader. Name of the attribute. The conversion func. The default value. Gets the mandatory attribute. if it's not found, an XmlException is thrown The reader. Name of the attribute. Gets a new subtree reader which is prepared and is positioned at the same node the passed in reader is on, so any subsequential read moves automatically to any subelements available The reader. Reads the next element. This routine is similar to Read() but it returns false on EOF and when reader is on an end element and the element isn't an empty element. Read() only returns false when it's hit EOF. Use this on a reader created with GetSubtreeReader. The reader. true if there are elements left to read, false if EOF is reached or the reader is positioned on an end element which isn't an empty element. Reads a CData element. It assumes reader is positioned on the start element of the CData element The reader. Advances the reader to the next element following the CData element. Writes an optional element / attribute string. If value is equal to the default null value specified, no element/attribute is written. The writer. Name of the element/attribute. The element/attribute value. The element/attribute value as string. The default null value. if set to true the value is written as attribute, otherwise as element with value. Generic XML helper class to work more efficient with an XmlDocument and XmlNodes. This class contains various utility methods to ease the (de)serialization process of the data to /from Xml Name for the culture to use when converting a value to a string for XML serialization and to use when converting a string back to an object when XML is deserialized. The name follows the standard names used for CultureInfo. Default: Invariant culture. See MSDN documentation on CultureInfo for more information about the specific culture name for the culture to use. For invariant culture, use empty string. You can also set this field by adding a key-value pair to the appSettings section of your application's config file. Use 'cultureNameForXmlValueConversion' as key and the name of the culture to use as the value, or empty string for the invariant culture. Initializes the class. Reads the Culturename for xml value conversion, if specified. Serializes the object to XML string using the func specified. To serialize. The serializer func. This is a lambda which calls the Xml serializer method which accepts an XmlWriter Deserializes a new instance of type T from the XML string specified, using the deserializer func. The de-serializer func. This is a lambda which calls the Xml deserializer method which accepts an xmlreader The XML. instance of type T which is filled with the data deserialized from the string 'xml' Converts the value of the property passed in to a string and adds that string as a child node of type textnode to the childnode passed in. The parent document. if set to true [dates in XML data type]. if set to true [ml in C data blocks]. The property value. The child node. Type of the property. Converts the value of the property passed in to a string xml aspect xml aspect The property value. Type of the property. flag which will be true if the returned string should be wrapped in a CData block the property value in string form, ready to use in the XML Writes the value as string to XML. Type of the property the value is read from. The value read from the property. flag if verbose XML has to be emitted true if the type info should be written into the element if the value is null The writer to write the output to. xmlaspect xmlaspect The writer should have written a StartElement right before this method is called. Encodes the type to XML string. The type. The value. if set to true it will skip a test on value with respect to nullability Gets the XML format in XmlFormatAspect of the xml in the reader. The reader has to point to the root element. The reader. format of xml. Reader stays at the position it's on. Call Read() before calling this method Sets the references found during deserialization to the objects instantiated list of references list of processed objects to set references to Adds a new XmlNode with the name nodeName to the document specified. Does not add the node to any parent node. document the new node will be added to name of node New node created Adds a new XmlNode with the name nodeName and the value nodeValue to the node parentNode specified the parent node the node will be added to as a childnode name of node value of node New node created Adds a new XmlNode with the name nodeName to the node parentNode specified the parent node the node will be added to as a childnode name of node New node created Creates a new attribute with the name attributeName and the value attributeValue in the attributeCollection of the node parentNode, using the parentNode's owner document the attribute's parent node the name for the new attribute the value for the new attribute the new attribute Converts the passed in value to the type with the name typeName. The typeName has to be a known type in .NET, and currently can only be a simple type, or it has to implement an explicit conversion operator which converts a string to the real object. The value is returned as 'object'. name of the type the value should be converted in. value of the xml node which should be converted into an object. the value converted into its native type. Converts the passed in value to the type specified. The realtype has to be a known type in .NET, and currently can only be a simple type, or it has to implement an explicit conversion operator which converts a string to the real object. The value is returned as 'object'. The type the value should be converted in. value of the xml node which should be converted into an object. the value converted into its native type. Creates the XML namespace manager info. As .NET has some nice XML bugs, we have to specify a namespace manager and a fake prefix. The node. The NSMGR. The nsprefix. Adds a new node representing a related object (e.g. validator, auditor. The entity node. The node creator. The related object. Name of the node. Selfservicing/noncompact25 specific Creates a new related object from the info specified in the passed in node. The type of the object. The current node. null if type is unknown, or a new instance if specified. Writes for the related object passed in a new element to the Xml writer, if not null. The writer. The related object. Name of the element. Adapter, verbose mode only. Adds the saved fields nodes to the passed in root node for saved fields. The parent document. The aspects. The node creator. The saved field sets node. The saved fields. Selfservicing/noncompact25 specific Resets the fields for deserialization. Resetting means that CurrentValue/DbValue/IsChanged/IsNull are reset to the default values. The fields. Internal class to store entities in an action queue (insertqueue or update queue) Initializes a new instance of the class. Entity. Additional update filter. if [refetch after action]; otherwise, . Gets / sets refetchAfterAction Gets / sets entity Gets / sets additionalUpdateFilter Class which is used as an alias scope in a DbSpecificCreator. Initializes a new instance of the class. Adds the specified key with the specific value to the scope data The key. The value. Gets the real alias. The alias to find. The real alias. true if the alias was retrievable, false otherwise Gets or sets the artificial alias per entity list Gets or sets the select list alias for the scope's source. If specified, this alias is used for all fields in the select list. ComPlusAdapterContextBase class. Abstract class which is the base for the ComPlusAdapterContext classes used in Adapter for hosting a COM+ aware DataAccessAdapter class. Use the hosted DataAccessAdapter class to start a new COM+ transaction. General Context class which provides uniquing support for the object fetcher. A developer can use this class to create a space for objects where every entity is loaded just once. Creates a new instance. Creates a new instance. Flag to set existing entity fields in get. Default is true. When set to false, an existing entity's fields is not set to the fields of the passed in entity. Fields are only set if the entity isn't dirty. Creates a new instance. Flag to set existing entity fields in get. Default is true. When set to false, an existing entity's fields is not set to the fields of the passed in entity. Fields are only set if the entity isn't dirty. if set to true allows recursive removal. Clears this context. It removes all cached entity references from this context and also all type definitions. Per entity to remove, it calls OnRemove before the actual removal and OnRemoveComplete after the actual removal. Adds the specified entity to the Context. If the passed in entity is already in a context, the Add is a no-op. Also if the entity isn't new and there is already an entity with the same PK values, the Add is a no-op. entity to add to this context. Adds the specified collection to this context. All contained entities are added to the context as well, if they're not already in the / a context. This will make sure that any entity added to the entity collection will be added to this context as well. To add. After an entity has been saved and the transaction has been committed (or if no transaction was used: the entity was saved), this routine is called to move entities which are in the list of new entities and which are now saved to the store. Entity. Routine for the framework, you don't have to call this routine yourself Returns a readonly arraylist with all the objects of the type passed in which are currently stored in the internal object cache. No new entities are returned. If the type is not found, an empty array list is returned. The type of the entity for which the objects should be returned. List with the requested data Gets all the Type objects for which objects are located in this Context List with the requested data The passed in entity is checked if the contained data is already in this / a context in another entity object. If that's the case, that entity object is returned. If the data is not in this context in another entity object, the passed in entity is returned and added to this context. entity to check an already loaded entity with the same data, or the passed in entity if the data hasn't been loaded in another entity in this context or the entity passed in is new or the existing entity is deleted and its transaction has been completed. if toCheck is new, it is added to the new entities pool (if not already present) and its context is set to this instance. New entities aren't yet added to the context until they're saved. A new entity passed in is returned as well. SelfServicing specific version. The passed in entity is checked if the contained data is already in this / a context in another entity object. entity to check an already loaded entity with the same data, or the passed in entity if the data hasn't been loaded in another entity in this context or the entity passed in is new or the existing entity is deleted and its transaction has been completed. if toCheck is new, it is added to the new entities pool (if not already present) and its context is set to this instance. New entities aren't yet added to the context until they're saved. A new entity passed in is returned as well. Adapter specific version Tries to find an entity with the same PK values as passed in. The PK values have to be in the same order as they appear in the constructor of the entity. If an entity in the context has the same PK values, that entity is returned, otherwise a new entity is returned, created with the factory passed in, with its PK values initialized, though not fetched. Factory to use for entity to find Pk values. Have to be specified in the same order as the PK fields in the entity constructor created by the factory passed in. Entity with the same PK values if that entity was already added to the context, or a new entity if no entity was previously added to this context with the same PK values if more/less pkvalues are passed in as there are in the PK of the entity created with the factory passed in SelfServicing specific version Tries to find an entity with the same PK values as passed in. The PK values have to be in the same order as they appear in the constructor of the entity. If an entity in the context has the same PK values, that entity is returned, otherwise a new entity is returned, created with the factory passed in, with its PK values initialized, though not fetched. Factory to use for entity to find Pk values. Have to be specified in the same order as the PK fields in the entity constructor created by the factory passed in. Entity with the same PK values if that entity was already added to the context, or a new entity if no entity was previously added to this context with the same PK values if more/less pkvalues are passed in as there are in the PK of the entity created with the factory passed in Adapter specific version Removes the specified entity from the store To remove. generic version for both SelfServicing and Adapter. Implementation of Get(entity) To check. Called at the end of Add(IEntityCollection) To add. Called at the start of Add(IEntityCollection) To add. Called at the end of Add(IEntityCollection2) To add. Called at the start of Add(IEntityCollection2) To add. Called at the end of the Clear() method Called at the start of the Clear() method Called at the start of Add(TEntity) The type of the entity. To add. Called at the end of Add(TEntity) The type of the entity. To add. Called at the end of Remove(IEntityCore), when toRemove has been removed from this context To remove. Called at the start of the remove action for toRemove To remove. Called at the end of the InitClass method, which initializes datastructures from the ctor Tries to find the passed in entity in the store, based on its contained data. It assumes the passed in entity isn't new. Entity object which contains entity data to Adds the entity passed in. The entity passed in is not new and the object isn't in the store as it isn't in a context yet. It assumes that there is no entity with the same PK in the store, as that's checked by the public Add() methods. entity to add Inits the class. if set to true [set existing entity fields in get]. if set to true [allow recursive removal]. Adds the specified entity to the Context. If the passed in entity is already in a context, the Add is a no-op. Also if the entity isn't new and there is already an entity with the same PK values, the Add is a no-op. entity to add to this context. Generic implementation of the Get methods The factory. The pk values. The number of passed in PK values doesn't match the number of PK fields in the entity.;pkValues Gets / sets SetExistingEntityFieldsInGet flag. When set to false (default is true), an existing entity's fields is not set to the fields of the passed in entity. Fields are only set if the entity isn't dirty. Gets the object ID to entity instance. Gets the entity type hashtables / dictionaries. Dictionaries which store per entity hash value, the entity's objectid Gets the new entities. Gets a value indicating whether users are allowed to perform a recursive removal. (default). If true, it will make collections which have this context as their active context return the value of their internal flag for the DoNotPerformAddIfPresent property. If false, it will always return false for that property. This is used to make merges during fetches with a context more efficient. By default this property is set to true. Only set during fetches of data in new graphs. Existing graph fetches with a context and prefetch path will leave the value of this flag as-is. Class which contains the DbProviderfactory information for a specific DQE. Initializes a new instance of the class. Merges the specified factories with the central static store for dbproviderfactories registered through the DQEConfiguration system. the name-value pairs to merge. A factory which is previously registered is updated with the value in this dictionary. Invalid entries are ignored Sets the db provider factory parameter data. This will influence which DbProviderFactory is used and which enum types the field persistence info field type names are resolved to. Names of the db provider factory invariants to consider. Name of the db provider specific enum type. Name of the db provider specific enum type property. Sets the db provider factory parameter data. This will influence which DbProviderFactory is used and which enum types the field persistence info field type names are resolved to. Names of the db provider factory invariants to consider. The first one found is used. The second value in the pair is the name of the enum type. Name of the db provider specific enum type property. Sets the ADO.NET provider specific Enum type of the parameter, using the string presentation specified. The parameter. Type of the parameter as string. Initializes the enum type cache. Gets the actual db provider factory that might be wrapped by one or more profilers. We check the obtained factory whether it resolves to any further unwrapped factory. If so, we unwrap further. This way we can resolve multiple wrapped factories. The factory. the factory specified if it's not wrapped by another factory, otherwise the factory it wraps Gets the DbProviderFactory to use for creating elements for the DQE Gets the factory to use for reflection. Normally this is the same factory as FactoryToUse, but in case of when profilers have wrapped / injected their own factories, the factory to use for reflection is the real factory of the ado.net provider, while FactoryToUse is the factory returned by the profiler. Base class for every DbSpecificCreator implementation Initializes a new instance of the class. Creates a new instance. if set to true [use restricted length on aliases of fields]. 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. the fragments container to append the fragments to. the plain identifier string to make valid 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. The string builder to append the ESCAPE clause to the character to use as escape character The type of the column the like operator is working on the parameter created for the escape character specified or null if no parameter was created (e.g. the database doesn't support ESCAPE) Creates a new command. ready to use command object Creates a new command instance The connection to use. If not null, the connection is used to create a command instance, otherwise the factory Ready to use command instance Creates a new, filled parameter. Type of the parameter. The size. The direction. if set to true [is nullable]. The precision. The scale. The value. Creates a parameter based on the direction passed in and the value passed in. Direction for the parameter The value to set. Valid parameter for usage with the target database. Creates a parameter based on the direction passed in and the value passed in. Direction for the parameter The value to set. Name of the parameter. Can be empty, in which case a new name is autogenerated Valid parameter for usage with the target database. Creates a valid Parameter based on the passed in IEntityFieldCore implementation and the passed in IFieldPersistenceInfo instance IEntityFieldCore instance used to base the parameter on. Persistence information to create the parameter. The direction for the parameter Valid parameter for usage with the target database. Creates a valid Parameter based on the passed in IEntityFieldCore implementation and the passed in IFieldPersistenceInfo instance IEntityFieldCore instance used to base the parameter on. Persistence information to create the parameter. The direction for the parameter Value to set the parameter to. Valid parameter for usage with the target database. 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. The pattern to be passed as the value for the parameter. Is used to determine length of the parameter. Type of the target field db, in provider specific enum string format (e.g. "Int" for SqlDbType.Int) Valid parameter for usage with the target database. This version ignores targetFieldDbType and calls CreateLikeParameter(fieldname, pattern). When you override this one, also override the other. 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); IFieldPersistenceInfo instance used to formulate the fieldname name of the entity field, to determine if an alias is required Alias of object the field maps to. Only specified when called from a predicate. Name of the containing object which defined the field with name fieldName. Name of the containing object which actually holds the field with the name fieldname. Valid field name for usage with the target database. 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. IFieldPersistenceInfo instance used to formulate the fieldname name of the entity field, to determine if an alias is required Alias of object the field maps to. Only specified when called from a predicate. When true, the routine should construct an alias construction statement. Name of the containing object which defined the field with name fieldName. Name of the containing object which actually holds the field with the name fieldname. Valid field name for usage with the target database. 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) ready to use name which doesn't exceed length restrictions 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). fieldcore part of the field. Required to determine expression and aggregate function persistence info object for the field. name for the field to be used Alias for object hte field belongs to flag to apply aggregate function or not. Aggregate functions can't be applied when the call originates from a predicate which is not part of a having clause. string representing the field 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. IFieldPersistenceInfo instance used to formulate the fieldname name of the entity field, to determine if an alias is required Valid field name for usage with the target database. 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. IFieldPersistenceInfo instance used to formulate the fieldname name of the entity field, to determine if an alias is required When true, the routine should construct an alias construction statement. Valid field name for usage with the target database. 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. IFieldPersistenceInfo instance which source object info is used to formulate the objectname Valid object name 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. Name of the catalog. Name of the schema. Name of the element. valid object name Converts the passed in comparison operator to a string usable in a query. Operator to convert to string The string representation usable in a query of the operator passed in. Converts the passed in sort operator to a string usable in a query sort operator to convert to a string The string representation usable in a query of the operator passed in. Converts the passed in expression operator (exop) to a string usable in a query Expression operator to convert to a string The string representation usable in a query of the operator passed in. Converts the passed in set operator to a string usable in a query Set operator to convert to a string The string representation usable in a query of the operator passed in. Returns the SQL functionname to make a string uppercase. Creates a retrieval query from the tvfcall specified. The query will be a 'SELECT ... FROM functioncall' query. The TVF call to produce a query for. ready to use query Creates a new Select Query which is ready to use as a subquery, based on the parameters specified The parameters to base the sub query on IRetrievalQuery instance which is ready to be used. Routine which creates a valid alias string for the plain alias passed in. For example, the alias will be surrounded by "[]" on sqlserver. the plain alias to make valid valid alias string to use. Creates the temporal table predicate fragment for the predicateType specified Type of the predicate. The directive given by the user which is the actual predicate. The arguments, which can be empty. The parameters created. Will be null if no arguments are created. the ready to use string to be used as temporal table predicate Creates the name of a parameter based on the values specified, using the pattern: prefix + "p" + parameterNo. For plain sql queries. The parameter no. Creates the name of a parameter based on the values specified, using the pattern: prefix + nameWithoutPrefix. For plain sql queries. The name without prefix. ready to use name for a parameter for this database Sets this instance as the creator in the DQE. Used in subquery creations, to pass on the creator to a DQE. Dqe. Gets the real value, by converting the passed in value, if necessary Current value. Type converter to use. The actual type the value should have the currentValue converted by the typeConverterToUse, or if it's an enum value and no typeConverter is specified, to actualDotNetType Gets the real value, by converting the passed in value, if necessary Current value. Type converter to use. The actual type the value should have if set to true, the currentValue is assumed to be an enum typed value. the currentValue converted by the typeConverterToUse, or if it's an enum value and no typeConverter is specified, to actualDotNetType 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. Name of the current. the new name 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 Name of the current. If true (default) it will call CreateValidAlias for the value to return to make sure it's wrapped in the identifier characters (e.g. []) for an identifier name the new name 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. Name of the current. the new name 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 Name of the current. If true (default) it will call CreateValidAlias for the value to return to make sure it's wrapped in the identifier characters (e.g. []) for an identifier name the new name Creates the hint statement for the hint passed in. Hint specification to create the statement for. Name of the target the hint is for. This name is in full format, so on sqlserver this is [catalog].[schema].[table] and on other databases it can be for example "schema"."table". Additional parameters for the hint statement producer. The values can be very provider specific. the hint statement, ready to use. Produces the from clause directive fragments from the specified fromClauseElementDirectives. From clause element directives to use to produce the fragments requested. If null, only global setting driven hints are produced. The table hint fragment produced. Can be empty string. The temporal predicate fragment. Can be empty string. The temporal predicate parameters (if any) created for the temporalPredicateFragment. If no parameters are created, this parameter is null 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. Name of the entity the holder of the objectAlias is defined in Object alias. The name of the entity the holder of the object alias is actually present in (is only different from entityName if holder is a subtype and did inherit the field) the real alias for the entityname + objectAlias combination. If not found, objectAlias is returned. 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. Name of the entity the holder of the objectAlias is defined in Object alias. The name of the entity the holder of the object alias is actually present in (is only different from entityName if holder is a subtype and did inherit the field) if set to true also the parent scopes are checked, otherwise only the scope at the top of the stack (the current scope) the real alias for the entityname + objectAlias combination. If not found, objectAlias is returned. 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. To append to. Name of the element. The alias. The table hint. The temporal predicate. Determines the db type name (ADO.NET provider specific typename) for value. The value. The real value to use. Normally it's the same as value, but in cases where value as a type isn't supported, the value is converted to a value which is supported. The name of the provider specific DbType enum name for the value specified 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. type of the output The parameter. value of parameter converted to the real value of type T. A no-op (returns parameter.Value) for most databases, not for Oracle ODP.NET Strips the object name chars from the name passed in. For example [name] will become name To strip. name without the name's object name chars (Which are db specific) Converts the expression to a query fragment and adds the parameters created during this process to the passed in parametercollection To convert. The parameter collection. Newly created parameters will be added to this collection the expression in query fragment form Converts the specified operator to a string the operator to convert to a string 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. The field core. The persistence info. Name of the field. The object alias. if set to true [apply aggregate function]. base name for the field to use in a query. Constructs a call to the aggregate function specified with the field name specified as parameter. The function. Name of the field. ready to append string which represents the call to the aggregate function with the field as a parameter or the fieldname itself if the aggregate function isn't known. Override this method and replace function with a function which is supported if your database doesn't support the function used. Creates a new alias scope and makes it active. Destroys the current alias scope and makes the previous one active, if any. Adds the parameter to scope tracker. To add. 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. Usable parameter name. Creates a new parameter instance. Type of the parameter. ready to use parameter object 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. Creates a new parameter instance. It sets the value but doesn't set the type so the parameter type depends on the value. The value to set. Name of the parameter. By default the empty string, which means it will create a new name ready to use parameter object Creates a new parameter instance (with direction: input) Type of the parameter. The value. ready to use parameter object Creates a new parameter instance. Type of the parameter. The direction. The value. ready to use parameter object Creates a new dynamic query engine instance Sets the ADO.NET provider specific Enum type of the parameter, using the string presentation specified. The parameter. Type of the parameter as string. Produces the alias scope data for the relations collection passed in, which define 0 or more aliases and form a separated scope. Relations. produces the alias - entitynames in the current scope. If this has to be done in a new scope, call CreateNewAliasScope() first. Gets the value to set. The value. Gets / sets perCallCatalogNameOverwrites name pairs Gets / sets perCallSchemaNameOverwrites name pairs Gets the alias scopes. The alias scopes. 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. Gets the DbProviderFactory instance to use. Gets a value indicating whether the timeout has to be set on command create. 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). Central base class for all DynamicQueryEngine classes. Shared logic is placed in this class, which can be overriden in the DynamicQueryEngine classes per database. Length of buffer in which Insert queries are generated Length of buffer in which Delete queries are generated Length of buffer in which Update queries are generated Length of buffer in which Select queries are generated Length of buffer in which Join constructs for select queries are generated Length of buffer in which resultset definitions for select queries are generated The traceswitch used in the DQE. Set in the static constructor of the derived class. The distinct filtering preference to use for all DQE instances. Initializes a new instance of the class. Creates a new instance. flag to pass to sortClauses.ToQueryText to use aliases for expression (true) or not (false) if set to true the DQE should support schema overwriting. If true, the code in the base class will assume query hints are supported, otherwise it will ignore query hints 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. Name of the current. New name for the catalog which name was passed in. Thread safe, because the hashtable is never modified during execution. 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. current Name New name for the schema which name was passed in. Thread safe, because the hashtable is never modified during execution. 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. current Name Thread safe, because the hashtable is never modified during execution. full stored procedure name with new catalog name/schema name. 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 current Name Thread safe, because the hashtable is never modified during execution. full stored procedure name with new catalog name/schema name. 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. current Name Thread safe, because the hashtable is never modified during execution. full sequence name with new catalog name/schema name. 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. Works on the PerCallSchemaNameOverwrites set. current Name First the per-call name overwriting is called, then the config file defined name overwriting is called with the name retrieved from the per-call name overwriting, so config file settings overrule per-call settings, though are controlled by the per-call name overwriting. full sequence name with new schema name. Creates a new Insert Query object which is ready to use. EntityFields object to use to build the insert query The connection to use for the query IActionQuery Instance which is ready to be used. Self servicing specific When fields is null When fields contains no EntityField instances. Creates a new Insert Query object which is ready to use. Array of EntityFieldCore objects to use to build the insert query Array of IFieldPersistenceInfo objects to use to build the insert query The connection to use for the query IActionQuery Instance which is ready to be used. Generic version. When fields is null or fieldsPersistenceInfo is null When fields contains no EntityFieldCore instances or fieldsPersistenceInfo is empty. When there are no fields to insert in the fields list. This exception is to prevent INSERT INTO table () VALUES () style queries. Creates a new Insert Query object which is ready to use. Array of EntityFieldCore objects to use to build the insert query Array of IFieldPersistenceInfo objects to use to build the insert query The query object to fill. Hashtable which will contain after the call for each field the parameter which contains or will contain the field's value. When fields is null or fieldsPersistenceInfo is null When fields contains no EntityFieldCore instances or fieldsPersistenceInfo is empty. When there are no fields to insert in the fields list. This exception is to prevent INSERT INTO table () VALUES () style queries. Creates a new Delete Query object which is ready to use. Array of IFieldPersistenceInfo objects to use to build the delete query The connection to use for the query Arraylist, with for each entity (from root to leaf) the PK filter for that entity. IActionQuery instance which is ready to be used. Generic version When persistenceInfo is null Creates a new Delete Query object which is ready to use. Array of IFieldPersistenceInfo objects to use to build the delete query The query object to fill. A complete IPredicate implementing object which contains the filter for the rows to delete Generic version When persistenceInfo is null Creates a new Delete Query object which is ready to use. Array of IFieldPersistenceInfo objects to use to build the delete query The connection to use for the query Arraylist, with for each entity (from root to leaf) the PK filter for that entity. Extra predicate for concurrency purposes. list of EntityRelation objects, which will be used to formulate a second FROM clause with INNER JOINs. IActionQuery instance which is ready to be used. Generic version When persistenceInfo is null or when deleteFilter is null or when relationsToWalk is null Creates a new Delete Query object which is ready to use. Array of IFieldPersistenceInfo objects to use to build the delete query The query object to fill. A complete IPredicate implementing object which contains the filter for the rows to delete list of EntityRelation objects, which will be used to formulate a second FROM clause with INNER JOINs. When persistenceInfo is null or when deleteFilter is null or when relationsToWalk is null Creates a new Delete Query object which is ready to use. Array of IFieldPersistenceInfo objects to use to build the delete query The query object to fill. A complete IPredicate implementing object which contains the filter for the rows to delete list of EntityRelation objects, which will be used to formulate a second FROM clause with INNER JOINs. When persistenceInfo is null or when deleteFilter is null or when relationsToWalk is null Creates a new Delete Query object which is ready to use. Uses keyword clause (using keyword FROM/USING etc.)) for filtering Array of IFieldPersistenceInfo objects to use to build the delete query The query object to fill. A complete IPredicate implementing object which contains the filter for the rows to delete list of EntityRelation objects, which will be used to formulate a second FROM clause with INNER JOINs. The keyword for the filter clause When persistenceInfo is null or when deleteFilter is null or when relationsToWalk is null 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. EntityFields object to use to build the update query. The connection to use for the query Arraylist, with for each entity (from root to leaf) the PK filter for that entity. IActionQuery instance which is ready to be used. Selfservicing specific When fields is null When fields contains no EntityField instances. 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. EntityFields object to use to build the update query. The connection to use for the query Arraylist, with for each entity (from root to leaf) the PK filter for that entity. Extra predicate for concurrency purposes. list of EntityRelation objects, which will be used to formulate a FROM clause with INNER JOINs. IActionQuery instance which is ready to be used. Selfservicing specific When fields is null or when updateFilter is null or when relationsToWalk is null When fields contains no EntityField instances. Creates a new Update Query object which is ready to use. Only 'changed' EntityFieldCore fields are included in the update query. EntityFieldCore array to use to build the update query. Array of IFieldPersistenceInfo objects to use to build the update query The connection to use for the query Arraylist, with for each entity (from root to leaf) the PK filter for that entity. IActionQuery instance which is ready to be used. When fields is null or fieldsPersistenceInfo is null When fields contains no EntityFieldCore instances or fieldsPersistenceInfo is empty. 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. Array of EntityFieldCore objects to use to build the insert query Array of IFieldPersistenceInfo objects to use to build the update query The connection to use for the query Arraylist, with for each entity (from root to leaf) the PK filter for that entity. Extra predicate for concurrency purposes. list of EntityRelation objects, which will be used to formulate a FROM clause with INNER JOINs. IActionQuery instance which is ready to be used. When fields is null or when updateFilter is null or when relationsToWalk is null or when fieldsPersistence is null When fields contains no EntityFieldCore instances or fieldsPersistenceInfo is empty. 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. EntityFieldCore array to use to build the update query. Array of IFieldPersistenceInfo objects to use to build the update query The query object to fill. A complete IPredicate implementing object which contains the filter for the rows to update When fields is null or fieldsPersistenceInfo is null When fields contains no EntityFieldCore instances or fieldsPersistenceInfo is empty. 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. Array of EntityFieldCore objects to use to build the insert query Array of IFieldPersistenceInfo objects to use to build the update query The query object to fill. A complete IPredicate implementing object which contains the filter for the rows to update list of EntityRelation objects, which will be used to formulate a FROM clause with INNER JOINs. When fields is null or when updateFilter is null or when relationsToWalk is null or when fieldsPersistence is null When fields contains no EntityFieldCore instances or fieldsPersistenceInfo is empty. 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 Array of EntityFieldCore objects to use to build the insert query Array of IFieldPersistenceInfo objects to use to build the update query The query object to fill. A complete IPredicate implementing object which contains the filter for the rows to update list of EntityRelation objects, which will be used to formulate a FROM clause with INNER JOINs. if set to it will add the update set clause parameters as the last set of parameters to the command object. Some ado.net providers need this (OleDb / Jet for example) When fields is null or when updateFilter is null or when relationsToWalk is null or when fieldsPersistence is null When fields contains no EntityFieldCore instances or fieldsPersistenceInfo is empty. Updates the SourceAlias in the predicates in updateFilter to the alias updatedTableAlias if the predicate targets the entity name specified. 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 Array of EntityFieldCore objects to use to build the insert query Array of IFieldPersistenceInfo objects to use to build the update query The query object to fill. A complete IPredicate implementing object which contains the filter for the rows to update list of EntityRelation objects, which will be used to formulate a FROM clause with INNER JOINs. When fields is null or when updateFilter is null or when relationsToWalk is null or when fieldsPersistence is null When fields contains no EntityFieldCore instances or fieldsPersistenceInfo is empty. 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. The parameters to build the query with The connection to use for the query IRetrievalQuery instance which is ready to be used. Creates a new Select Query which is ready to use, based on the specified elements. The parameters to build the query on The connection to use with the query If true, it will emit the query hints specified in the parameters into the query generated ready to use retrieval query object Creates a retrieval query for the tvfcall specified. The TVF call. ready to use query 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. The TVF call. The parameter list. Gets the table valued function name to use. By default it creates an object name from the elements specified like a table name. Name of the catalog. Name of the schema. Name of the function. ready to use name, with schema/catalog name overwriting being applied The string returned is used directly as the source in a FROM clause. If the database requires additional constructs being present, you should override this method and apply them to the string returned by the default implementation Creates a new Select Query which is ready to use, based on the query parameters specified. The parameters to build the query with The connection to use. ready to use query 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. The parameters to build this query with The connection to use for the query IRetrievalQuery instance which is ready to be used. Creates the action query from the sql query specified using the parameter values specified. The connection to use. The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. ready to use IActionQuery object Creates the retrieval query from the SQL query specified using the parameter values specified and is configured with the aspects specified. The connection to use The fetch aspects. can be null, in which case the defaults are used The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. ready to use IRetrievalQuery object Prepares, if necessary, the passed in query object for a batch update query. Use this method to e.g. create an output parameter which collects the number of rows affected. Appends, if required, fragments to the passed in fragments builder, for collecting data right after an update query has executed inside a batch. Wraps the passed in query if necessary. By default it returns the toWrap string without doing any processing. the string to wrap if necessary set to true if the packed query in toWrap contains queries which were present in begin/end pairs the number of packed insert statements in the query in toWrap Wraps the command in the query specified in a paging query and adds necessary parameters to the command. The query to augment. The offset to use. If 0, no rows are skipped. The limit on the resultset. If 0, no limit is specified. Determines if field alias is required. The persistence info. The field. true if the field alias should be emitted, false otherwise Handles the emit of 'DISTINCT' into the query text and returns true if distinct was emitted or false if not. The parameters the query is based on. the query object to build The distinct placeholder. flag if distinct violating types were found if set to true, there are no duplicates possible due to joins. This is the case if there is a PK field and there are no relations or the relations don't result in duplicates. the fieldnames in the select list (for sort field distinct violation checks) true if distinct was emitted, false otherwise. Determines if duplicates will occur. The relations. true if duplicates could occur, false otherwise Determines the object alias to use for select list field. The field. The relations. the object alias to use for the field in the select list. 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. the query parameters the query is build with the from clause to append to the query object that's being built the field persistence infos of the fields in the projection the projection 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 The filter. The destination. The query. Appends the hints specified a single prefix hintstring suffix clause to the fragments specified. the hints to specify the fragments set to append a new queryfragments object to the prefix to use for the hints string the suffix to use for the hints string the delimiter to use for the hint string Appends, if specified, the unioned queries to the fragments specified, wrapping nested queries in () if necessary. Parameters are appneded to query. 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 group by collection The destination. The query. 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 sort clauses collection The destination. The query. Appends set clauses for an update query using the input specified to the destination list specified The fields to update. The persistence info fields to update. The destination. The parameter collection. Appends set clauses for an update query using the input specified to the destination list specified The fields to update. The persistence info fields to update. The destination. The parameter collection. if set to true, fields will be prefixed with their source object name (table/alias). If false, it will simply emit the field name. Constructs the list of fields to update plus its corresponding fieldpersistenceinfo list. will be altered will be altered Checks the if field needs insert action. Field. true if the field needs to be included in the insert query. This is the case if the field is changed or not read only, or that it is linked to a supertype field (which indicates that the field will be receiving its value later) or that it has an expression set. 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. The entity being updated. This entity is already in the relation list, and should be tied to entities inside the relation list Alias for updatedEntity. To use in the clauses relations used in the query build up by caller predicates to use in WHERE clause in subquery in mentioned update queries. 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. name of table the caller is building the query for Alias for deleteTable. To use in the clauses relations used in the query build up by caller predicates to use in WHERE clause in subquery in mentioned delete queries. Creates the command. Creates a new DbCommand object and initializes it ready to use DbCommand object Creates a new DbCommand object and initializes it The command text. ready to use DbCommand object Creates a new DbCommand object and initializes it The command text. The connection to use. ready to use DbCommand object Will create command using connection, if specified Resets the creator object with a new one. Only used by DAO objects which keep a Dynamic Query Engine object alive. 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 The command. 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 The command text. The parameters. anonymized command text. 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. if set to aliases for fields are allowed in subqueries. Used by ase Types which aren't able to be used with DISTINCT Appends the field (or its expresssion) to the value fragments of the query specified for insert. The query. The field to parameter table, for non-expression fields. the parameter representing the value of the field is added to this table witht the field as key The value fragments, the delimited list which makes up the parameter for VALUES() The field which value or expression should be added to the valueFragments. The persistence information for the field. If the field is a PK, the expression on the field is ignored. If the field isn't a PK and has an expression set, it won't be added to the fieldToParameter table. 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) The query. The field. The value fragments. Gets the correct field type, based on the type and lenght specified in the specified persistenceInfo The persistence info. the correct field type Necessary for db specific type conversion. 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. Determines the target alias to use for a single target FROM clause. The first field in target. The relations to walk. Re-assembles the stored procedure name from the fragments specified The fragments. Reassembles the fragments specified, with separting '.'. If a fragment is empty, it's skipped Creates a new IDbSpecificCreator and initializes it Gets the function mappings for the particular DQE. These function mappings are static and therefore not changeable. Checks the if fields in the sort clauses are in select list and returns true if so, otherwise false. This check is used to determine if the DISTINCT marker has to be emitted or not. Field names in select list. Sort clauses. true if the fields in the sort clauses are all in the select list, false otherwise 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. The select list. The relations to walk. The persistence information to use. From clause. 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. The query. The SQL query. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. Checks the specified select list and fieldspersistenceinfo and throws exceptions when an inconsistency is detected. The select list to check the fields persistence info to check if the select list is null or the fieldspersistenceinfo is null if the select list has a length of 0 or the fieldspersistenceinfo has a length of 0 if the length of the select list differs from the fieldpersistenceinfo length. They should match Creates the real ADO.NET parameters from the specified object using ordening naming, and applies the parameters to the query string, if necessary. The query object which will be executed. The SQL query string which is adjusted on the fly based on the parameters specified. The parameter values as object. For each non-static, public property of this object a parameter is created using the pattern prefix + propertyName. If property is an IEnumerable and not a string, for each value in the property a parameter is created using prefix + propertyname + setindex, and the string prefix + propertyName is replaced with the comma separated set of parameters. the adjusted sqlQuery string. If no adjustment was needed, it's the same string as sqlQuery Creates the real ADO.NET parameters from the specified object using ordening naming, and applies the parameters to the query string, if necessary. The query object which will be executed. The SQL query string which is adjusted on the fly based on the parameters specified. The parameter values as object. For each non-static, public property of this object a parameter is created using the pattern prefix + propertyName. If property is an IEnumerable and not a string, for each value in the property a parameter is created using prefix + propertyname + setindex, and the string prefix + propertyName is replaced with the comma separated set of parameters. the adjusted sqlQuery string. If no adjustment was needed, it's the same string as sqlQuery Appends the name-value pair (parameter name, value) as a parameter object to the query specified. The sqlQuery specified is adjusted on the fly based on the value specified. The query object which will be executed. The SQL query string which is adjusted on the fly based on the parameters specified. The name of the parameter to add the value (or values) the parameter will get the adjusted sqlQuery string. If no adjustment was needed, it's the same string as sqlQuery Creates the real ADO.NET parameters from the specified object array using ordening naming, and applies the parameters to the query string, if necessary. The query. The SQL query. The parameter values as object array. For each value in this array a parameter is created using the orderning pattern prefix + "p" + index Appends an ADO.NET parameter created from the ParameterValue object.specified to the query specified, using the parameter name specified. The query. The value. Name of the parameter. Creates the DbParameter object from the ParameterValue object specified. It doesn't assign the parameter created to the parameterValue object. The parameter value. Name of the parameter. Creates a parameter set from the value specified and returns for each value in the enumerable a DbParameter. It suffixes the base parameter name with the setindex of the value in the enumerable. The set of values, which contains plain values which have to be converted into DbParameter objects. The base name for the parameter. For parameters using ordering, this is prefix + "p" + parameterno + "i". For parameters using names this is prefix + name. list of DbParameter objects created from the values in valueSet 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. Gets / sets the command time out (in seconds). This is a global setting, so every Command object created after you've set this property to a value will have that value as CommandTimeOut. Default is 30 seconds which is the ADO.NET default. Do not set this property directly, but use the methods in the generated code to set this property. If set to a negative value it's ignored. Gets / sets creator Gets / sets perCallCatalogNameOverwrites name pairs Gets / sets perCallSchemaNameOverwrites name pairs Gets the DbProviderFactory to use for this DQE. Gets or sets the distinct filtering preference to use. The default value is the value of the global variable DynamicQueryEngineBase.DistinctFilteringPreferenceDefault. Special List which gets at construction time an entityfields array and an fieldpersistenceinfo array and splits it per target into a separate entry: a TargetFieldPersistenceInfoBucket, which contains 2 arrays with the information for that target. It normally contains the same information as it gets at construction time, though in scenarios where inheritance is used and a target-per- entity hierarchy, this class is useful in update/insert/delete query building. Creates a new instance. Creates a new instance. and splits the passed in fields/fieldpersistence info per target. The order in which the targets appear in fieldsPersistenceInfo is the order in which the TargetEntityFieldPersistenceInfoBucket objects are stored in this list. Fields object to process. Can be null (in actions on db directly) persistence info objects to process Helper class which is used by the entity fetch method to materialize entities from a datareader Simple class which is used to keep track of several counters during the fetch of data. This object is defined with fields for performance. Initializes a new instance of the class. Retrieval query to execute the factory object which can produce the entities this method has to fill. Collection to fill with the retrieved rows. The persistence information for the fields of the entity created by entityFactory Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query Initializes a new instance of the class. Retrieval query to execute the factory object which can produce the entities this method has to fill. Collection to fill with the retrieved rows. The persistence information for the fields of the entity created by entityFactory Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query The containing transaction. Only set when used in selfservicing The type of hierarchy. only set when used in selfservicing. Null in adapter. Materializes the collection to fill by executing the query and traversing the results. The value read error handler, which is called when an exception occurs during GetValues. The failure error text. true if succeeded, false otherwise. Query specified in ctor has to be prepared before this method is called. Materializes the collection to fill by executing the query and traversing the results. The value read error handler, which is called when an exception occurs during GetValues. The cancellation token. error string for tracer, or empty string if all OK Query specified in ctor has to be prepared before this method is called. Handles the call on fetch complete. Only used in selfservicing To call on. Handles the call on get fetch new authorization failure result hint. To call on. Handles the call on can load entity. To call on. Handles the call validate entity after load. To call on. Handles the call on audit load of entity. To call on. Handles the row data specified. The values of row. The counters. true if the row read was the last one to read, otherwise false. 'true' will signal the outer loop to quit. Setups this instance. General synchronization information class for related entities to an existing entity. Used to keep track of which entity is set as a related entity using which relation and which field mapped on that relation so when the related entity is saved, it will be synced with the correct fields. The related entity is called a Data Suppling Entity. CTor Initializes a new instance of the class. The data supplying entity. The relation. Gets / sets used flag. Flag to signal if the sync info has been used for syncing already. If not, it can be used to determine if the entity holding this sync info has to be saved or not. Gets / sets Data Supplying Entity value. Used for synchronization between related entities when they have to be synchronized. Gets / sets the specific Entity Relation between two related entities (the entity holding this object and the entity specified in DataSupplyingEntity) for synchronization of values. General container class for static field information which is readonly at runtime and which is equal for all instances of a given field. This information is shared among all instances of an entity, and therefore saves a lot of memory at runtime. Initializes a new instance of the class. For deserialization Serialization specific ctor Initializes a new instance of the class. The name. Name of the containing object. Type of the data. if set to true [is primary key]. if set to true [is foreign key]. if set to true [is read only]. if set to true [is nullable]. Index of the field. Length of the max. The scale. The precision. Creates a clone of this FieldInfo object and adds 2 new elements: actualContainingObjectName and isInMultiTargetEntity Name of the actual containing object. if set to true [is in multi target entity]. deep copy clone of this entity wit 2 new info elements Creates a clone of this FieldInfo object and adds 2 new elements: actualContainingObjectName and isInMultiTargetEntity. It also sets the containingobjectname to the name specified. Name of the containing object. Name of the actual containing object. if set to true [is in multi target entity]. deep copy clone of this entity wit 2 new info elements Sets the name of the actual containing object. Name of the actual containing object. Sets the is in multi target entity. if set to true [is in multi target entity]. Inits the class. The name. Name of the containing object. Type of the data. if set to true [is primary key]. if set to true [is foreign key]. if set to true [is read only]. if set to true [is nullable]. Index of the field. Length of the max. The scale. The precision. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into a fieldinfo instance The reader. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into a fieldinfo instance The reader. The name of the field. Name cannot be of zero length nor can they consist of solely spaces. Leading and trailing spaces are trimmed. The value specified for Name is invalid. The of the values of this field. If set to true, in the constructor, this field will end up in the PrimaryKey field list of the containing IEntityFields object. Will be true if this field can be set to NULL in the database, false otherwise. The Field Validation logic in an entity will use this flag to check if the field indeed can be set to NULL or not. Set by constructor. Gets the field index related to this IEntityField, so the field can be used to retrieve the field index. Name of the containing object this field belongs to (entity or typed view). This name is required to retrieve persistence information in Adapter Set via constructor. This name is also used by EntityRelation to determine alias - table connection. If set to true, in the constructor, this field is part of a foreign key. This field is not used in LLBLGen Pro's code, however can be useful in user code. If set to true, in the constructor, no changes can be made to this field. The maximum length of the value of the entityfield (string/binary data). Is ignored for entityfields which hold non-string and non-binary values. Value initially set for this field is the length of the database column this field is mapped on. The scale of the value for this field. Value initially set for this field is the scale of the database column this field is mapped on. The precision of the value for this field. Value initially set for this field is the precision of the database column this field is mapped on. The name of the object this field is currently in. Differs only from ContainingObjectName if the field instance is in a subtype while it is originally defined in a supertype. EmployeeEntity.Name and a subtype, ClerkEntity, inherits this field. For ClerkEntity.Name ContainingObjectName is still 'EmployeeEntity' however ActualContainingObjectName is 'ClerkEntity'. Flag to signal if the field is in a multi-target entity. Used for alias production during query building in scenario's with inheritance. Gets a value indicating whether the DataType is an enum type. This is a helper boolean so it doesn't have to be determined for every field set during a fetch. Gets the real datatype. This is the underlying datatype of DataType and if that's a Nullable(Of T) it's the type of T. This is a helper property so it's not determined over and over again for every field during a fetch. Generic class which holds the generic information for entity field persistence of an entity field. Instances of this interface are passed to logic with an instance of the IEntityFieldCore interface. SelfServicing implements both interfaces in one interface: IEntityField. Generic CTor. Necessary for serialization. Do not use this CTor in code. Initializes a new instance of the class. Name of the column. Initializes a new instance of the class. Name of the column. The type converter to use. Initializes a new instance of the class. Name of the column. The type converter to use. Actual type of the dot net. CTor The name of the schema which holds SourceObjectName. Schema is used to generate SQL on the fly. A common schema name in SqlServer is f.e. 'dbo'. The name of the source object which holds SourceColumnName. Can be a view or a table. Used to generate SQL on the fly. The name of the corresponding column in a view or table for the corresponding entity/view field. This name is used to map a column in a resultset onto the entity field. Flag if the Column mapped is nullable or not. The type of the Column mapped onto the EntityField(2). The value stored here is the string representation of the enum value of the type, e.g. SqlDbType.Int will result in "Int" The maximum length of the value for this column (string/binary data). Is ignored for columns which hold non-string and non-binary values. The scale of the Column mapped onto the entityfield. The precision of the Column mapped onto the entityfield. If set to true, the Dynamic Query Engine (DQE) will assume the field is an Identity field and will act accordingly (i.e.: as the target database handles Identity fields: SqlServer will generate a new value itself, Oracle wants to have a sequence input. If isIdentity is set to true, this property has to be set to the name of the sequence which supplies the value for the column. On SqlServer this is @@IDENTITY or SCOPE_IDENTITY() and only used when the row is succesfully inserted, however on Oracle f.e. this value is used to specify a new value and to retrieve the new value. Is undefined when isIdentity is set to false. Type converter set when a conversion is required from the .NET type returned by the ADO.NET provider and the defined .NET type for this field. The .NET type of the field in the DB. This value is used to convert a currentvalue back to this type using TypeConverterToUse. CTor The name of the catalog the sourceSchemaName is in. The name of the schema which holds SourceObjectName. Schema is used to generate SQL on the fly. A common schema name in SqlServer is f.e. 'dbo'. The name of the source object which holds SourceColumnName. Can be a view or a table. Used to generate SQL on the fly. The name of the corresponding column in a view or table for the corresponding entity/view field. This name is used to map a column in a resultset onto the entity field. Flag if the Column mapped is nullable or not. The type of the Column mapped onto the EntityField(2). The value stored here is the string representation of the enum value of the type, e.g. SqlDbType.Int will result in "Int" The maximum length of the value for this column (string/binary data). Is ignored for columns which hold non-string and non-binary values. The scale of the Column mapped onto the entityfield. The precision of the Column mapped onto the entityfield. If set to true, the Dynamic Query Engine (DQE) will assume the field is an Identity field and will act accordingly (i.e.: as the target database handles Identity fields: SqlServer will generate a new value itself, Oracle wants to have a sequence input. If isIdentity is set to true, this property has to be set to the name of the sequence which supplies the value for the column. On SqlServer this is @@IDENTITY or SCOPE_IDENTITY() and only used when the row is succesfully inserted, however on Oracle f.e. this value is used to specify a new value and to retrieve the new value. Is undefined when isIdentity is set to false. Type converter set when a conversion is required from the .NET type returned by the ADO.NET provider and the defined .NET type for this field. The .NET type of the field in the DB. This value is used to convert a currentvalue back to this type using TypeConverterToUse. Initializes a new instance of the class. The info. The context. ISerializable member. Does custom serialization so event handlers do not get serialized. See ISerializable See ISerialilzable Sets the type converter. The type converter to set. Sets the actual type of the dot net. The type to use. Initializes the class' member variables. for parameter descriptions, see the constructor(s). Name of the source catalog. Name of the source schema. Name of the source object. Name of the source column. if [is source column nullable]; otherwise, . Type of the source column db. Length of the source column max. Source column scale. Source column precision. if [is identity]; otherwise, . Name of the identity value sequence. Type converter to use. Type of the actual dot net. Creates a concatenated string from catalog, schema and target name. If all are empty it will result in "..". Writes the definition as XML. The writer. Reads the definition from XML. Reader is positioned on first element of xml definition The reader. Returns the concatenated result of catalog, schema and objectname. If all are empty it will result in "..". The .NET type of the field in the DB. This value is used to convert a currentvalue back to this type using TypeConverterToUse. The name of the catalog the SourceSchemaName is located in. The name of the schema which holds . Schema is used to generate SQL on the fly. A common schema name in SqlServer is f.e. 'dbo'. The name of the source object which holds . Can be a view or a table. Used to generate SQL on the fly. The name of the corresponding column in a view or table for this entityfield. This name is used to map a column in a resultset onto the entity field. Used for update/insert operations on the column The maximum length of the value of this entityfield (string/binary data). Is ignored for entityfields which hold non-string and non-binary values. ColumnMaxLength Used for update/insert operations on the column The type of the Column mapped onto the EntityField(2). The value stored here is the string representation of the enum value of the type, e.g. SqlDbType.Int will result in "Int" Flag if the Column mapped onto the entityfield is nullable or not. Used for update/insert operations on the column The scale of the Column mapped onto the entityfield. Used for update/insert operations on the column The precision of the Column mapped onto the entityfield. Used for update/insert operations on the column If set to true, the Dynamic Query Engine (DQE) will assume the field is an Identity field and will act accordingly (i.e.: as the target database handles Identity fields: SqlServer will generate a new value itself, Oracle wants to have a sequence input. If is set to true, this property has to be set to the name of the sequence which supplies the value for the EntityField's corresponding table field. On SqlServer this is @@IDENTITY or SCOPE_IDENTITY() and only used when the row is succesfully inserted, however on Oracle f.e. this value is used to specify a new value and to retrieve the new value. Is undefined when is set to false. Gets the type converter to use. Only set through constructor and when a conversion is required from the .NET type returned by the ADO.NET provider and the defined .NET type for this field. Simple class which contains the inheritance information of an entity, and which is produced by an inheritanceinfoprovider. Initializes a new instance of the class. For deserialization purposes. Initializes a new instance of the class. Name of the super type entity. Name of the owner entity. Type of the hierarchy. Relations to hierarchy root. Index of the discriminator column. Discriminator column value. Entity names on hierarchy path. The type filter target per entity hierarchy. The entity names of paths to leafs. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Deserializes the type filter. The reader. Deserializes the name list. The destination. The reader. Deserializes the relations to hierarchy root. The reader. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Gets the type of the hierarchy. Gets the relations to hierarchy root, starting at the root, to the owner entity, INNER JOINed Gets the name of the super type entity. Example: "CustomerEntity" The name of the entity which owns this information, of which this object belongs to. Gets the index of the discriminator column. 0 or higher for an entity in a TargetPerEntityHierarchy, otherwise undefined. Gets the discriminator column value. The discriminator value for the entity of this inheritance info, or undefined if the entity is not in a TargetPerEntityHierarchy. List with all the entity names on the path to the root, starting with the hierarchy root and ending with the . If entity is a root entity, this collection contains one name: . List with all the entity names on the paths from the entity to all the leafs in the hierarchy below the . If the is a leaf, this list is empty. Gets the type filter if the entity which owns this information is in a TargetPerEntityHierarchy, null otherwise. Class to define the relation between a parameter of a query and a field. This relation is used to find back a related EntityFieldCore instance when an Output Parameter is found in a query so the value of the Output Parameter can be assigned to the related EntityField CTor The in the relationship. The Parameter in the relationship. The type converter to use, if applicable (can be null) if set to true it's allowed that the parameter value to sync with the field can be null. If false and the parameter value is null, an ORMBadSequenceException will be thrown Sets the field's value using ForceCurrentValueWrite with the value of the parameter. The executed query. The in the relationship. Only settable via a constructor. The Parameter in the relationship. Only settable via a constructor. The Typeconverter to use, if applicable. Class to define a relation between two parameters, one is the source and one is the destination. These relation objects are used in multi-command queries for inserting multi-target entities. Creates a new instance. Source parameter. Destionation parameter. Syncs the destination parameter's value with the source parameter's value. Gets / sets sourceParameter Gets / sets destinationParameter Class which is used to specify parameter specific aspects for a value specified in a plain SQL query call. Initializes a new instance of the class. The direction the parameter has. By default this is Input The value to use for the parameter. By default this is null The size to use for the parameter. By default this isn't set. The precision to use for the parameter. By default this isn't set The scale to use for the parameter. By default this isn't set. The dbtype to use for the parameter. By default this isn't set The value to use for the IsNullable property of the parameter. By default this is false. Copies the value of the represented output parameter object into Value, if applicable. Gets or sets the direction of the parameter. Default is Input. Gets or sets the for the parameter. Set before the query, the value specified is used as the parameter value. If 'Direction' is set to an output type, this property will contain the output value after the query has been executed / resultset has been consumed. Gets or sets the size to use for the parameter. By default the length isn't set Gets or sets the precision to use for the parameter. By default the precision isn't set. Gets or sets the scale to use for the parameter. By default the scale isn't set. Gets or sets the DbType value to use on the created DbParameter. By default, it's left to the DbParameter what type to use based on the Value specified. For strings and DateTime values this might be problematic as often multiple DbType values can be chosen for a given .NET type. Gets or sets the value to set the DbParameter.IsNullable to. In general this isn't really necessary as most ADO.NET providers ignore the value. In case you need to specify expliclty whether the parameter accepts null values, set this property to true. By default DbParameter.IsNullable isn't set and left to the default, which is false. Gets or sets the represented output parameter, created for this parameter value. Used to obtain Value after the query has been executed. Synced by SyncOutputValue and then dereferenced (set to null). Class which is used to store core methods used in various parts of the persistence pipeline, and which are shared among selfservicing and adapter. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. The parameters. if set to true, it always will use a parameterized prefetch path, no matter what. Used for paging scenario's The transaction to use. Is null in adapter scenarios The parameterised prefetch path threshold. The fetch node func, used to fetch the data for the current node. The merge many to many func, which is used in a m:n scenario to merge the fetched entities into the root entities using a m:n merge which will fetch the intermediate rows to perform the merge. parameters Merges the entities fetched in currentElement.RetrievalCollection with the rootEntities for a many to many relation Current element. Root entities. The fetch data table func. The parameters to use. Produces the field info to ordinals lookups, which are used during the fetch of one or more entities. The type of hierarchy. The fields persistence infos. The fields used for the query. Can be null, in which case the caller is assumed to be a projector so there are no excluded fields and field persistence info is not available. Dictionary which is used to define per entity in the fieldsUsedInQuery the length of the array fragments per entity name. Use this together with entityFieldStartIndexesPerEntity in TPE inheritance scenarios Dictionary which is used in inheritance scenarios to determine the start of the subtype fragments in the resultset. the number of fields to fetch (thus the # of fields minus the # of excluded fields.) Creates a filter based on the relation specified. It filters the end entity based on the start entity and the element filter specified. The relation. The element filter sub query relations. The element filter sub query filter. The max limit to use. The sorter to use. The set object alias. Creates an entity instance from the reader row passed in as valuesOfRow The entity factory. The type of hierarchy. The values of row. The indices for enum converts. Key is index in values, Value is enum type. Can be null The indices for type converters. Key is index in values, Value is type converter instance. Can be null Dictionary which is used to define per entity in the fieldsUsedInQuery the length of the array fragments per entity name. Use this together with entityFieldStartIndexesPerEntity in inheritance scenarios Dictionary which is used in inheritance scenarios to determine the start of the subtype fragments in the resultset. The entity factory to use. Set by this routine, if the entity is an inheritance entity the newly created entity instance with the values set into its fields Async variant of . Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. The parameters. if set to true, it always will use a parameterized prefetch path, no matter what. Used for paging scenario's The transaction to use. Is null in adapter scenarios The parameterised prefetch path threshold. The fetch node func, used to fetch the data for the current node. The merge many to many func, which is used in a m:n scenario to merge the fetched entities into the root entities using a m:n merge which will fetch the intermediate rows to perform the merge. parameters BUG in call chain: QueryParameters passed in isn't a clone, while it's ordered to be altered. Async variant of . Merges the entities fetched in currentElement.RetrievalCollection with the rootEntities for a many to many relation Current element. Root entities. The fetch data table func. The parameters to use. Fetches the excluded fields batches. The data access core used to fetch the data reader with the excluded field data. The entities. The parameters. The persistence infos. The cancellation token. Produces the elements for excluded field batch fetches. The entities. The excluded included fields. The parameters. The fields creator func. The parameterized prefetch path threshold value. true if the caller should continue, false to return as there's nothing to do There are no PK fields defined for the entity type in the collection. This means that there can't be any identification of the entities in the passed-in set with any row in the database. Please define a PK on every entity in the project. Fetches the values passed in into the rowDestination. the values to read into rowDestination The IEntityFields2 implementing object where the data should be stored. The indices for enum converts. Key is index in values, Value is enum type. Can be null The indices for type converters. Key is index in values, Value is type converter instance. Can be null Dictionary which is used to define per entity in the fieldsUsedInQuery the length of the array fragments per entity name. Use this together with entityFieldStartIndexesPerEntity in inheritance scenarios. Null in non-inheritance or TPEH scenarios Dictionary which is used in inheritance scenarios to determine the start of the subtype fragments in the resultset. Null in non-inheritance, or TPEH scenarios Creates the hashes for the collection passed in. Hashes to fill. Collection to hash. construct hashtable for looking up entities through their PK. Per hash value an arraylist is created with the entities with that hashvalue. Normally 1 entity per hashvalue is stored, but this can vary depending on the fact that the Hashvalue is an int.

Used in normal merging during prefetch paths.
Creates the hashes for the collection passed in. Hashes to fill. Collection to hash. The relation to use for determining the PK fields. construct hashtable for looking up entities through their PK. Per hash value an arraylist is created with the entities with that hashvalue. Normally 1 entity per hashvalue is stored, but this can vary depending on the fact that the Hashvalue is an int.

Used in normal merging during prefetch paths.
Creates the hash code to rowvalues relations for both the start entity and the end entity. This is required because the hashvalues calculated from PK fields is sometimes not unique. We therefore have to store the values as well to do a value compare when required. the hash to datarow hashtable has per hashvalue an array list is stored with the datarows row values to startentity hash hashtable. End entity pk hash to rowvalues hashtable Pkpkfields datatable Relations. Used in ManyToMany merging during prefetch paths. Creates the sub path filter for a parameterized Prefetch path subnode. Routine is used for all prefetch path types. The root entities. The prefetch path. The current element. The element filter predicate expression. The values to use for the parameterized query. Key has all values of all fields concatenated as string form, Value is either a single value if the relation has just 1 field, or an arraylist of values if the relation has more than 1 field. Creates the sub path filter for a sub query using prefetch path node fetch The filter. The relations. The current element. The element filter predicate expression. The maxNumberOfItemsToReturn value used for fetching the root elements. Used when currentElement is at graphLevel 0 (top of graph) The sorter used for fetching the root elements. Used when currentElement is at graphLevel 0 (top of graph) Determines if the counter for the entity passed in is lower than the maximum passed in and increases teh counter as well. true if the counter is less than the maximum, which means that the merge can take place Finds the pk object related to the FK object passed in via the relation specified. Pk side hashes hashtable to quickly find an entity based on the hash of the PK Fk hash value Fk object, to do a value compare the relation between pk and fk the PK object related to the FK object, located in the pkSideHashes. if not found, null is returned. Used in merging during prefetch path fetches Finds the parent object related to the child object which hash is passed in. The routine tries to find first a match using the hash, and then tries to locate the real entity, if there are more than 1 element for a given hashvalue. The parent side hashes. The child hash. The child side fields. This can be a set of FK fields, or a set of PK fields, depending on the usage of the routine. The pk side fields. the parent object related to the child object, located in the parentSideHashes. If not found, null is returned. Worker routine for overload which accepts a relation, and also the merger for excluded fields fetch Finds the start entity related to the end entity passed in via the relation specified. start entity hash to arraylist with startentity (root entities) matching this hash startentity hash value the relation between intermediate and start entity, required to retrieve the right values from the datarow row values array with start-end PK fields, one relation per row. the start entity object to find. if not found, null is returned. Used in merging during prefetch path fetches Merges the fetched entities in currentElement.RetrievalCollection with the root entities for normal relations (i.e. not m:n) Root entities. Current element. Root entities are pk side. Determines the different values for the parameterized query fragment of a prefetch path node fetch. The root entities. The prefetch path. The current element. The values hashtable to fill by this routine. Values will be filled with the different values for all fields in the relation together as a string as key, value is a list of all the values, field index in relation is index in list. The number of root entities which were usable. If the relation contains more than 1 field, the returned hashtable contains only the unique tuples of the values per root entity. If the root entity is on the PK side, all root entities are used, as the values to add are the PK values of the root entities. If the root entity is on the FK side, many duplicates could exist which are filtered out by this routine. Determines if a parameterized query should be used always. flag if a parameterized query should be used The pk count. The set count. The parameterised prefetch path threshold. Excludes the persistenceinfo objects (set slots to null) for all excluded fields in 'excludedFields'. The fields. The persistence infos to manipulate. Type of the hierarchy the entity is in or to consider. If this is is targetperentity we have to traverse the complete fields list to find a field to exclude, otherwise we can rely on the fieldindex. The fields to exclude or include, a list of IEntityField2 instances Index of the discriminator field. Is -1 if the entity doesn't have any discriminator field. Used to ignore discriminator fields in a set of excluded fields. Filters out the illegal fields in the excluded fields list and returns the list without the illegal excluded fields. The excluded fields. Type of the hierarchy. Index of the discriminator field. The excluded fields list without the illegal fields. Illegal fields are: PK fields, FK fields and discriminatorFields Produces the initial duplicate detection stores for the fetch methods. The collection. The object hashtable. The object hashes. constructs hashtable for filtering out duplicates. Each hashtable entry is at first a section of empty cells. When a hashcode is found in the set of hashes, add an entry, if not existend to this hashtable. When the hashcode already is added to this hashtable, the entity of the new hashcode is compared to all the entities with the same hashcode in the list related to the hashcode in this table. when an equal object is found, it's a real duplicate, otherwise the entity is added to the list and the collection. Checks if the passed in entity is present in the hashtables passed in. Entity which has to be tested if there was already a duplicate in the hashtables. See remarks See remarks true if there is no duplicate for hte passed in entity seen yet. False otherwise construct hashtable for filtering out duplicates. Each hashtable entry is at first a section of empty cells. When a hashcode is found in the set of hashes, add an entry, if not existend to this hashtable. When the hashcode already is added to this hashtable, the entity of the new hashcode is compared to all the entities with the same hashcode in the list related to the hashcode in this table. when an equal object is found, it's a real duplicate, otherwise the entity is added to the list and the collection. Determines the set alias to use, based on the relations collection passed in. The relations. the set alias set in relations if relations isn'tnull, string.empty otherwise Determines the inheritance relations which are necessary to add to the query defined by fields, relations and filter. The fields. The relations. The filter. The inheritance provider. The outer scope aliases. RelationsCollection filled with the hierarchy relations required to fulfill the query, or an empty collection if none are needed. Preprocesses the derived tables for inheritance info. Every derived table is processed to determine the inheritance relations. If necessary, these are added to the relations collection of the derivedtable. It finds all derived tables also nested ones inside derived tables, scalar queries etc. The derived tables. The info provider. Fixes any fields which are targeting a derived table but are actually referring to a table/view field: these fields are changed into derived table targeting fields, and their field names are changed to the aliases/field names used in the derived table. The derived tables. The fields to check. The select list alias. If empty, the fields are expected to have their ObjectAlias set. The filter. The relations. The sorter. The group by. The info provider. The set of real targeted field per derived table targeting field tuples. Fields in the query elements which are derived table targeting fields are stored in this dictionary with their real fields, if found. This list is used to obtain type converters for the derived table targeting fields. Preprocesses the query elements for derived table target misses and injects inheritance info into derived tables. The fields. The filter. The relations. The sorter. The group by clause. The info provider. The set of real targeted field per derived table targeting field tuples. Fields in the query elements which are derived table targeting fields are stored in this dictionary with their real fields, if found. This list is used to obtain type converters for the derived table targeting fields. Preprocesses the query elements for derived table target misses and injects inheritance info into derived tables. The fields. The select list alias. If empty, the fields are expected to have their ObjectAlias set. The filter. The relations. The sorter. The group by clause. The info provider. The set of real targeted field per derived table targeting field tuples. Fields in the query elements which are derived table targeting fields are stored in this dictionary with their real fields, if found. This list is used to obtain type converters for the derived table targeting fields. Adds the inheritance related elements to query elements for entity fetches. Type of the hierarchy. The filter. The relations. The info provider. Name of for entity. Index of the discriminator field, if targetperentityhierarchy. This routine isn't meant for dyn.lists/projections because the entity type filter has to be determined from the factory, not from the fields. Adds the inheritance related elements to query elements for dynamic list. Type of the hierarchy. The fields. The filter. The relations. The info provider. Name of for entity. The aliases of entities already type filtered. Fields with an alias in this list should be skipped for type filtering as the caller has already made sure a type filter has been added for this entity. Fixups the dynamic relations with subtypes. It corrects a dynamic relation between A and X if X is a direct/indirect subtype of a given entity B and the ON clause is defined as a predicate between A and B. This case will lead to wrong SQL if we don't correct the dynamic relationship to be between A and B, leaving the ON clause, and appending all inheritance relationships to add determined from the ON clause after the new dynamic relationship. The relations. The info provider. Alters relations and dynamic relationships which are in relations and which have to be corrected. To do so, it creates a new dynamic relation based on the corrected relation and uses that one instead, to leave the original in-tact. This is necessary because otherwise re-using predicates is impossible. Processes the dynamic relation side for the FixupDynamicRelationsWithSubtypes method. The relation. The side inheritance info. The operand. The finder. The additional relations. The alias. The info provider. if set to true [field replaced]. operand if nothing has to be changed, or the new operand to use, determined from the rest of the elements specified. If operand isn't a field, this method is a no-op. It checks whether the containingobjectname of the operand (if it's a field) is in the list of entity names used in the on clause. If so (the case with no inheritance), nothing is done. However if not, the field belongs to a subtype or supertype (through cast) which isn't in the on-clause. The relationship then has to be corrected. First we'll check whether the type in the relation is a subtype joined over an inherited field in the on clause. If that doesn't lead to a solution, we'll check whether the type in the relation is a supertype joined over a subtype's field, which is wrong, but could be created by a linq provider due to a cast used (e.g. join x in md.SuperType.Cast<SubType>() on ... equals x.SubTypeField). Adds additional inheritance hierarchy relations if necessary for filters which target entities which aren't in the pack. The relations. The filter. The info provider. Adds the additional inheritance information to the specified FieldCompareSetPredicate. The info provider. The outer aliases. The set predicate. Cleans up the data reader (closes it if necessary and disposes it) The reader. The query executed. Cleans up the data reader (closes it if necessary and disposes it) The reader. The query executed. if set to true [dispose reader]. Calculates the number of batches for excluded fields fetch. The number of pk fields. The number of entities. Size of the batch. Fetches the excluded fields batches. The data access core used to fetch the data reader with the excluded field data. The entities. The parameters. The persistence infos. Fixes the maxlength, precision and scale in derived table targeting fields. The derived table per field. list of derived table targeting fields with their actual real field target. Calculates the hash value for entity based on relation and the flag which specifies which side of the relation to use for the field names. The entity. The relation. if set to true, it will calculate the hash based on the pk fields in the entity as defined in the specified relation, otherwise the fk fields from the entity as defined in the relation are used for calculating the hashvalue. if set to true, the hashvalue was rejected, which means the hash couldn't be calculated as the entity didn't have one or more fields defined in the relation, which is true when a supertype was in while the relation was for a subtype prefetch path. the hashvalue requested, or -1 if not applicable Creates an entity instance from the reader row passed in as valuesOfRow The entity factory. The type of hierarchy. The values of row. The indices for enum converts. Key is index in values, Value is enum type. Can be null The indices for type converters. Key is index in values, Value is type converter instance. Can be null Dictionary which is used to define per entity in the fieldsUsedInQuery the length of the array fragments per entity name. Use this together with entityFieldStartIndexesPerEntity in inheritance scenarios Dictionary which is used in inheritance scenarios to determine the start of the subtype fragments in the resultset. if set to true the call is for selfservicing. Adapter instantiates entities by passing the fields to the factory, selfservicing fetches the data into the fields of the created entity. The entity factory to use. Set by this routine, if the entity is an inheritance entity the newly created entity instance with the values set into its fields Determines the fields and entity, based on the flag specified and the factory specified. if set to true [self servicing]. The entity factory to use. The new fields. entity created, if selfservicing. Null if otherwise. Used with CreateEntityInstanceFromReaderRow. Selfservicing and adapter instantiate fetched entities differently: adapter does that by passing the fetched data into the entity to create's ctor. Selfservicing creates the entity and fetches the data into its fields, as it doesn't have a ctor which accepts a fields object. Performs the actual many to many merge. The current element. The root entities. The pk side hashes. The PKPK fields. Calculates the many to many merge fields for a many-to-many merger. The fields are used to create a query between the two pk fields on both sides of the m:n relationship. The current prefetch path element, representing the m:n relationship. The parameters to use for the fetch. Prepares the excluded fields batch fetch elements. The entities. The dummy. Size of the batch. The number of pk fields. The filter. Index of the current. Consumes the excluded fields value batch. The dummy. The number of pk fields. The excluded fields to use. The result fields. The persistence infos. The entity hashes. The hash producer. The pk fields to pass. The reader. Simple class which is used to specify aspects about a fetch query specified as plain SQL. Gets or sets the global value to control whether implicit type conversions should be taken during projection for plain SQL fetch queries. Implicit type conversions are convenient but use a different, slower pipeline. By default this field is set to false. If true, the projection code used for all plain SQL fetch queries will perform implicit type conversions using a slower pipeline. If false (default), it will use optimized projection logic which assumes the value at ordinal n is of the expected type. If this field is set to false, you can set the implicit type conversion behavior per query using the property . Initializes a new instance of the class. The offset to use for the query. Default: 0. The limit to use for the query (number of rows to return). Default: 0 (no limit, all rows are returned). if set to true cache the resultset. Default: false. Duration how long the resultset should be cached. Required if cacheResultset is set to true. if set to true overwrite a cached resultset with this resultset. Default: false The tag the resultset should be cached under. Default: empty string (no tag) If true, the projection code used will perform implicit type conversions using a slower pipeline. If false, it will use optimized projection logic which assumes the value at ordinal n is of the expected type. Gets or sets the offset to use for the query. By default this is 0. Gets or sets the limit (number of rows to return) to use for the query. By default this is 0 (no limit, all rows are returned). Gets or sets a value indicating whether the resultset should be cached. Gets or sets how long the resulset as a cached resultset should be placed in the cache. if set to true it will replace an existing cached set with the one specified. Gets or sets the tag the resultset should be cached under. By default this is the empty string (no tag) Gets or sets the value to control whether implicit type conversions should be taken during projection. Implicit type conversions are convenient but are slower. If true, the projection code used will perform implicit type conversions using a slower pipeline. If false, it will use optimized projection logic which assumes the value at ordinal n is of the expected type Fetcher object which fetches a prefetch path node and it's subnodes. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. The parameters. if set to true, it always will use a parameterized prefetch path, no matter what. Used for paging scenario's The transaction to use. Is null in adapter scenarios The parameterised prefetch path threshold. The fetch node func, used to fetch the data for the current node. The merge many to many func, which is used in a m:n scenario to merge the fetched entities into the root entities using a m:n merge which will fetch the intermediate rows to perform the merge. parameters BUG in call chain: QueryParameters passed in isn't a clone, while it's ordered to be altered. This method is called from PersistenceCore.FetchPrefetchPath. It assumes it's called from that method, so guard clauses are present there, not here. It also calls that method again for further path fetches. Fetches one or more entities which match the filter information in the filterBucket into the EntityCollection passed. The entity collection object has to contain an entity factory object which will be the factory for the entity instances to be fetched. The parameters. if set to true, it always will use a parameterized prefetch path, no matter what. Used for paging scenario's The transaction to use. Is null in adapter scenarios The parameterised prefetch path threshold. The fetch node func, used to fetch the data for the current node. The merge many to many func, which is used in a m:n scenario to merge the fetched entities into the root entities using a m:n merge which will fetch the intermediate rows to perform the merge. parameters This method is called from PersistenceCore.FetchPrefetchPath. It assumes it's called from that method, so guard clauses are present there, not here. It also calls that method again for further path fetches. Produces the path node parameters. The root node parameters. Index of the node. The parameterised prefetch path threshold. The transaction to use. ready to use query parameters, or null if this node should be skipped Setups this instance. The root node parameters. if set to true [force parameterized P path]. The parameterised prefetch path threshold. Abstract base class for all generated relation classes. Returns the relation object the entity, to which this relation factory belongs, has with the subtype with the specified name name of direct subtype which is a subtype of the current entity through the relation to return. relation which makes the current entity a supertype of the subtype entity with the name specified, or null if not applicable/found Returns the relation object the entity, to which this relation factory belongs, has with its supertype, if applicable. relation which makes the current entity a subtype of its supertype entity or null if not applicable/found Class which defines a stored procedure call, used in the generated code to call an Action or Retrieval stored procedure. Initializes a new instance of the class. The data access provider. Name of the stored procedure. Name of the mapped call. Adds a new parameter to the call Name of the parameter. Name of the type, which is the ADO.NET type enum value string representation, e.g. "VarChar" The size. The direction. value for the IsNullable flag of the parameter The precision. The scale. The value. this instance to create a fluent interface Adds a return value parameter. If the stored procedure returns an integer value (possible in some databases) as return value, use this method to add such a parameter to the call Name of the integer type, e.g. "Int". this instance to create a fluent interface Obtain the value by calling GetOutputValue with the proper parameter index. Fills a new DataSet with name equal to the specified mappedCallName with the results of the stored procedure when called. filled new DataSet Fills a new DataTable with name equal to the specified mappedCallName with the results of the stored procedure when called. filled new DataTable Calls the stored procedure using the specified dataAccessProvider. Async variant of Calls the stored procedure using the specified dataAccessProvider. Creates a RetrievalQuery from the stored procedure call. ready to use IRetrievalQuery object to call the stored procedure Gets the value of the parameter at the index specified The type of the value. Index of the parameter. the value of the parameter. If the parameter is null, null is returned if TValue is a Nullable(Of T) type, otherwise the default value for the type. If TValue is a string, the default value is string.Empty. If TValue is a Guid, the default value is an empty guid, if TValue is a byte array, the default value is a new, empty array. Releases unmanaged and - optionally - managed resources Releases unmanaged and - optionally - managed resources to release both managed and unmanaged resources; to release only unmanaged resources. Persistence info container for a Table valued function. Initializes a new instance of the class. Name of the TVF call. Name of the catalog. Name of the schema. Name of the function. Adds the information for the parameter with the name specified. Parameters have to be added with this method in the right order Name of the parameter. Name of the type. The size. if set to true [is nullable]. The precision. The scale. Actual .net type of the parameter. The converter to use. this persistence info instance Adds the information of a return element field - resultset field pair. Name of the return element field. Has to be unique. Name of the TVF resultset field. .NET Type of the resultset field The converter to use. this persistence info instance Gets or sets the name of the catalog. Gets or sets the name of the schema. Gets or sets the name of the function. Gets or sets the name of the TVF call. Gets or sets the parameter persistence infos. Gets or sets the resultset persistence infos per field. Key: field name of return type, value: persistence info of mapped resultset field. Helperclass for the value instances of Used in conjunction with EntityFieldPersistenceInfoHashtable by DQE's in Insert/Delete/Update query building Array of references to entityfield objects Array of references to fieldpersistenceinfo objects For this entity name. Abstract transaction class which is used to control a serie of actions on multiple entities or entity collection classes. The database connection is opened in the constructor, so the transaction instance is ready to use. This class is the non-COM+ version, it will always start a new ADO.NET transaction and will not be using a COM+ transaction when callers are participating in such a transaction. Enum which is used to signal the element removal routine what to do while removing hte elements. This is a performance issue, now the loop has to be run just once No action Call ITransactionalElement.TransactionCommit() Call ITransactionalElement.TransactionRollback() Raised when Commit was successful. Raised when Rollback was successful. CTor. Will read the connection string from an external source. IsolationLevel to use in the transaction The name of the transaction to use. CTor. IsolationLevel to use in the transaction The name of the transaction to use. Connection string to use in this transaction Commits the transaction in action. It will end all database activity, since commiting a transaction is finalizing it. After calling Commit or Rollback, the ITransaction implementing class will reset itself. When used in combination of COM+, it will call ContextUtil.SetCommit() to commit the current COM+ transaction. Adds the passed in object as a participant of this transaction. The ITransactionalElement implementing object which actions have to be included in this transaction Removes the passed in object from the transaction. The ITransactionalElement implementing object which should be removed from this transaction Rolls back the transaction in action. It will end all database activity, since commiting a transaction is finalizing it. After calling Commit or Rollback, the ITransaction implementing class will reset itself. When used in combination of COM+, it will call ContextUtil.SetAbort() to abort (rollback) the current COM+ transaction. Implements the IDispose' method Dispose. Creates a savepoint with the name savePointName in the current transaction. You can roll back to this savepoint using . name of savepoint. Must be unique in an active transaction If no transaction is in progress. if savePointName is empty or null if the .NET database provider doesn't support transaction saving or when COM+ is used. Rolls back the transaction in action to the savepoint with the name savepointName. No internal objects are being reset when this method is called, so call this Rollback overload only to roll back to a savepoint. To roll back a complete transaction, call Rollback() without specifying a savepoint name. Create a savepoint by calling Save(savePointName) name of the savepoint to roll back to. If no transaction is in progress. if savePointName is empty or null if the .NET database provider doesn't support transaction rolling back a transaction to a named point or when COM+ is used. Not supported when using COM+ Adds the auditor passed in to the set of auditors to get audit entities from at commit. To add. Called right before the physical transaction is committed. Called right before the physical transaction is rolled back. Implements the Dispose functionality. Flag which signals this routine if a dispose action should take place (true) or not (false) Notifies the auditors that the transaction was committed. This means they should clean up any audit entities they contain. Removes all participating elements from this transaction and sends them a commit or rollback signal, based on the passed in boolean Commit. This action will make the participating objects to take care of their own connections again. Action to perform on each removed element. Gathers the audit entities to save and then saves them in 1 go. Resets the transaction object. All participants will be notified. Creates a new DbConnection instance which will be used by all elements using this ITransaction instance. Reads connectionstring from .config file. new DbConnection instance Creates a new DbConnection instance which will be used by all elements using this ITransaction instance Connection string to use new DbConnection instance Creates a new physical transaction object over the created connection. The connection is assumed to be open. a physical transaction object, like an instance of SqlTransaction. Raises the TransactionRolledback event. Raises the TransactionCommitted event Will notify all transaction participating entities that the transaction they're in, has been committed. Will notify all transaction participating entities that the transaction they're in, has been rolled back. Gets IsTransactionInProgress. True when there is a transaction in progress. Gets the isolation level the transaction should use. Only settable with the constructor. Gets the name of the transaction. Only settable with the constructor. Gets the connection string used for the connection with the database. Only settable with the constructor. The connection object to use with this transaction. The physical transaction object used over . List of GUID's of the entities currently participating in this transaction. This collection is used to keep track of which entities already have been added during a recursive save. Gets a value indicating whether a System.Transactions transaction is going on. If not, false is returned. true if [in system transaction]; otherwise, false. Abstract transaction class which is used to control a serie of actions on multiple entities or entity collection classes. The database connection is opened in the constructor so the COM+ transaction is flowing into the creation of the database connection. No ADO.NET transaction is started, everything runs in the containing COM+ transaction. This class is the COM+ version, it will never start a new ADO.NET transaction and will always be using a COM+ transaction. All actions MUST be explicitly be commited or rolled back (aborted), there is no autocomplete implemented in this class. Resource manager which is used with System.Transactions transactions: the transaction object manager (DataAccessAdapter or Transaction) will enlist itself using an instance of this class with the ambient System.Transactions transaction so when that transaction is completed, the end result is propagated to the participating entities. This enlistment is automatic and transparent for the developer. Initializes a new instance of the class. The LLBLGen Pro transaction manager object Notifies an enlisted object that a transaction is being committed. An object used to send a response to the transaction manager. Notifies an enlisted object that the status of a transaction is in doubt. An object used to send a response to the transaction manager. Notifies an enlisted object that a transaction is being prepared for commitment. A object used to send a response to the transaction manager. Notifies an enlisted object that a transaction is being rolled back (aborted). A object used to send a response to the transaction manager. Sets the transaction outcome vote. This method is called from the transaction management object if Commit or Rollback is called on that object. If false, the resource manager will vote for a rollback, otherwise for a commit. Once the vote has been set to a rollback, it will always report a rollback Projector to project plain projection data onto a custom class which can be an anonymous type. If the type T has a CTor which accepts all the types of the projectors, or when there's no parameterless CTor, it will use the CTor to fill the new objects. In the other situations, it will use property setters to fill the objects. CTor destination collection of new projection results CTor destination collection of new projection results Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The plain projection result. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The plain projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Performs the actual projection. Override this method if you want to perform your own projections. The projectors. The plain projection result. Creates a new instance of T with the ctor arguments specified. The ctor arguments, in the order expected by the constructor which info is obtainable through CTorInfoUsed. new instance of T override this routine to create instances faster than with Activator.CreateInstance Sets up the constructor parameters for creation new instances which require values set in the ctor. The projectors. Override this routine to obtain information for faster object creation. true if the routine did a new setup, false if the current setup was kept. Overrides should do work only when true was returned Gets the constructor info used during projections Gets the property descriptors for the type this projector projects to. These descriptors are cached so multi-row projections are fast. The property descriptors. Gets the destination. The destination. Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as plain result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Projector engine which projects plain projection result data onto datarows which are added to a single datatable. Used by creation of projections of EntityView(2) data to datatables. This projector engine ignores SetUsingCTorHints as it isn't applicable to filling datatables. Initializes a new instance of the class. The destination of the data. If the datatable doesn't have any columns defined, new ones are created using the propertyprojectors passed in when the first row is created, and the types of the data. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The plain projection result. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The plain projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Performs the actual projection The projectors. The plain projection result. If the datatable already contains columns, the columns are re-used as indexes into the propertyprojectors: a column without a propertyprojector won't receive a value and also a value without a corresponding column won't end up in the row. Creates the index of the column for the projectors specified. This otherwise has to be done for each field, while they're the same for each row. The projectors. Creates the columns in the destination datatable The projectors. Gets the type of the projector. The projector. Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as plain result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Projector engine which projects plain projection result data onto new entities which are added to a single entitycollection. Selfservicing specific Initializes a new instance of the class. The destination of the data. It's required that the destination collection has a factory set. Projector engine which projects plain projection result data onto new entities which are added to a single entitycollection. Adapter specific Initializes a new instance of the class. The destination of the data. It's required that the destination collection has a factory set. Abstract base class for the two collection projectors Initializes a new instance of the class. The destination of the data. It's required that the destination collection has a factory set. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The plain projection result. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The plain projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Performs the actual projection List of projectors used to create the projection result The plain projection result. Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as plain result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Simple class which doesn't do any projection work, it simply adds all received rows to the results list. Initializes a new instance of the class. The results. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The plain projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The plain projection result. Adds the row. The plain projection result. Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as plain result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Projector engine which projects plain rpojection result data onto a value list. This means that a single value is picked from the row to project and placed in the list to fill. The value in a plain row is used to project onto the destination. The type of the value in the value list. Initializes a new instance of the class. The destination for the projection. Initializes a new instance of the class. The destination for the projection. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The plain projection result. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The plain projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Adds the projection result to container. The plain projection result. Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as plain result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Simple class which wraps an IDataReader and performs fast ordinal based access on the datareader with null value checking and conversion. Used by low-level SQL api to fast project a resultset to a poco type. Initializes a new instance of the class. Sets the row which this object wraps. The row on open reader. Gets the MethodInfo of the method of this class to call to obtain a value of the type specified. If the type doesn't have a specific method, null is returned. The type of value. Gets the value in object format of the specified column The zero-based column ordinal. value of the column Gets the value of the specified column as a Boolean. The zero-based column ordinal. The value of the column. Gets the 8-bit unsigned integer value of the specified column. The zero-based column ordinal. The 8-bit unsigned integer value of the specified column. Gets the character value of the specified column. The zero-based column ordinal. The character value of the specified column. Gets the date and time data value of the specified field. If DBNull, default(DateTime) is returned. The index of the field to find. The date and time data value of the specified field. Gets the fixed-position numeric value of the specified field. The index of the field to find. The fixed-position numeric value of the specified field. Gets the double-precision floating point number of the specified field. The index of the field to find. The double-precision floating point number of the specified field. Gets the single-precision floating point number of the specified field. The index of the field to find. The single-precision floating point number of the specified field. Returns the GUID value of the specified field. If null, Guid.Empty is returned. The index of the field to find. The GUID value of the specified field. Gets the 16-bit signed integer value of the specified field. The index of the field to find. The 16-bit signed integer value of the specified field. Gets the 32-bit signed integer value of the specified field. The index of the field to find. The 32-bit signed integer value of the specified field. Gets the 64-bit signed integer value of the specified field. The index of the field to find. The 64-bit signed integer value of the specified field. Gets the string value of the specified field. The index of the field to find. The string value of the specified field. Gets the enum value of the specified field. The type of the enum. The index of the field to find. Gets the value of the specified column as a nullable Boolean or null if the value is DBNull The zero-based column ordinal. The value of the column. Gets the 8-bit unsigned integer value of the specified column or null if the value is DBNull The zero-based column ordinal. The 8-bit unsigned integer value of the specified column. Gets the character value of the specified column or null if the value is DBNull The zero-based column ordinal. The character value of the specified column. Gets the date and time data value of the specified field or null if the value is DBNull The index of the field to find. The date and time data value of the specified field. Gets the fixed-position numeric value of the specified field or null if the value is DBNull The index of the field to find. The fixed-position numeric value of the specified field. Gets the double-precision floating point number of the specified field or null if the value is DBNull The index of the field to find. The double-precision floating point number of the specified field. Gets the single-precision floating point number of the specified field or null if the value is DBNull The index of the field to find. The single-precision floating point number of the specified field. Returns the GUID value of the specified field or null if the value is DBNull The index of the field to find. The GUID value of the specified field. Gets the 16-bit signed integer value of the specified field or null if the value is DBNull The index of the field to find. The 16-bit signed integer value of the specified field. Gets the 32-bit signed integer value of the specified field or null if the value is DBNull The index of the field to find. The 32-bit signed integer value of the specified field. Gets the 64-bit signed integer value of the specified field or null if the value is DBNull The index of the field to find. The 64-bit signed integer value of the specified field. Gets the byte array of the specified field. Returns null if the value is DBNull. The index of the field to find. Gets the date time offset value of the specified field. Returns default(DateTimeOffset), which is MinValue. The index of the field to find. Gets the sbyte value of the specified field. The index of the field to find. Gets the timespan value of the specified field. Returns TimeSpan.Zero if the value is DBNull The i. Gets the unsigned int16 value of the specified field. The index of the field to find. Gets the unsigned int32 value of the specified field. The index of the field to find. Gets the unsigned int64 value of the specified field. The index of the field to find. Gets the date time offset value of the specified field or null if the value is DBNull The index of the field to find. Gets the sbyte value of the specified field or null if the value is DBNull The index of the field to find. Gets the timespan value of the specified field or null if the value is DBNull The i. Gets the unsigned int16 value of the specified field or null if the value is DBNull The index of the field to find. Gets the unsigned int32 value of the specified field or null if the value is DBNull The index of the field to find. Gets the unsigned int64 value of the specified field or null if the value is DBNull The index of the field to find. Gets the enum value of the specified field or null if the value is DBNull The type of the enum. The index of the field to find. General class which defines the projection result and destination of a value in an object[] array. Initializes a new instance of the class. Name of the projected result. Index of the value. Initializes a new instance of the class. Name of the projected result. Index of the value. Ignored if valueProducerFunc has been specified Type of the value. Initializes a new instance of the class. Name of the projected result. Index of the value. Ignored if valueProducerFunc has been specified Type of the value. Flag which hints the projector engine how to set the destination element: via the constructor (true) or on another way (false). This flag can be ignored by the projector engine if values can better be set otherwise. Initializes a new instance of the class. Name of the projected result. Index of the value. Ignored if valueProducerFunc has been specified Type of the value. Flag which hints the projector engine how to set the destination element: via the constructor (true) or on another way (false). This flag can be ignored by the projector engine if values can better be set otherwise. The the delegate to use to produce a value for this projector out of the list of object values. Be sure to set ValueProducerFuncParameterIndices if the delegate contained inside ValueProducerFunc requires any input values from the list of values to project the parameter indices array to use with ValueProducer. If ValueProducerFunc is null, this array is ignored. Projects the entity through this entity property projector and results into a single value, based on what the DefaultValueProducer is and what filter is specified (if any) The source values of which this projector will pick a value to project. The projection result is returned. Projection result of a value in the sourcevalues or null if the value index is out of bounds. If the index is out of bounds, ValuePostProcess isn't called. Calls, if a valid value was obtained from sourceValues, ValuePostProcess after the projection to allow derived classes to post-process the value. Postprocesses the value passed in, which is the projection result determined by ProjectValue. Use this routine to post-process this value if you want to perform post-processing per value. The preliminary projection result. The source values used for the processing. the projection result processed by this routine. The base class version is empty and returns preliminaryProjectionResult Gets or sets the index of the value to return when Projectvalue is called. The index of the default value. Name for the projection result. Projection result consumers can use this name to further handle the projection result. Gets or sets the type of the value returned by the value producer or producers routine of the projector. Flag which hints the projector engine how to set the destination element: via the constructor (true) or on another way (false). This flag can be ignored by the projector engine if values can better be set otherwise. Projectors for CTors have to appear in the same order as their destination parameters appear in the CTor to use. Gets or sets the delegate to use to produce a value for this projector out of the list of object values. Be sure to set ValueProducerFuncParameterIndices if the delegate contained inside ValueProducerFunc requires any input values from the list of values to project Gets or sets the parameter indices array to use with ValueProducer. If ValueProducerFunc is null, this array is ignored. Wrapper class which utilizes a set typeconverter during projection. Initializes a new instance of the class. Name of the projected result. Index of the value. Ignored if valueProducerFunc has been specified Type of the value. The type converter to use. Initializes a new instance of the class. Name of the projected result. Index of the value. Ignored if valueProducerFunc has been specified Type of the value. Flag which hints the projector engine how to set the destination element: via the constructor (true) or on another way (false). This flag can be ignored by the projector engine if values can better be set otherwise. The the delegate to use to produce a value for this projector out of the list of object values. Be sure to set ValueProducerFuncParameterIndices if the delegate contained inside ValueProducerFunc requires any input values from the list of values to project the parameter indices array to use with ValueProducer. If ValueProducerFunc is null, this array is ignored. The type converter to use. Postprocesses the value passed in, which is the projection result determined by ProjectValue. Use this routine to post-process this value if you want to perform post-processing per value. The preliminary projection result. The source values used for the processing. the projection result processed by this routine. The base class version is empty and returns preliminaryProjectionResult Gets / sets typeConverterToUse General class which defines the projection result and destination of a property of an entity. Initializes a new instance of the class. The default value provider object.This object produces the value returned by ProjectEntityProperty if ValueFilter isn't set or resolves to true for the entity passed into ProjectEntityProperty. Can't be null Name for the projection result. Projection result consumers can use this name to further handle the projection result. Can't be null / empty string Initializes a new instance of the class. The default value provider object.This object produces the value returned by ProjectEntityProperty if ValueFilter isn't set or resolves to true for the entity passed into ProjectEntityProperty. Can't be null Name for the projection result. Projection result consumers can use this name to further handle the projection result. Can't be null / empty string The value filter which can be used to select between the DefaultValueProducer and the AlternativeValueProducer. If set to null, alternativeValueProducer is ignored. The alternative value producer. Only used if ValueFilter is set to a valid filter and that filter resolves to false for the entity passed into ProjectEntityProperty. Can't be null if valuefilter is specified Initializes a new instance of the class. The default value provider object.This object produces the value returned by ProjectEntityProperty if ValueFilter isn't set or resolves to true for the entity passed into ProjectEntityProperty. Can't be null Name for the projection result. Projection result consumers can use this name to further handle the projection result. Can't be null / empty string The value filter which can be used to select between the DefaultValueProducer and the AlternativeValueProducer. If set to null, alternativeValueProducer is ignored. The alternative value producer. Only used if ValueFilter is set to a valid filter and that filter resolves to false for the entity passed into ProjectEntityProperty. Can't be null if valuefilter is specified Type of the value returned by the value producers. This can be different from the actual value produced as you can change the type in an override of ValuePostProcess. If not set, it is set by ProjectEntityProperty to the type of the value producer selected Initializes a new instance of the class. The default value provider object.This object produces the value returned by ProjectEntityProperty if ValueFilter isn't set or resolves to true for the entity passed into ProjectEntityProperty. Can't be null Name for the projection result. Projection result consumers can use this name to further handle the projection result. Can't be null / empty string The value filter which can be used to select between the DefaultValueProducer and the AlternativeValueProducer. If set to null, alternativeValueProducer is ignored. The alternative value producer. Only used if ValueFilter is set to a valid filter and that filter resolves to false for the entity passed into ProjectEntityProperty. Can't be null if valuefilter is specified Type of the value returned by the value producers. This can be different from the actual value produced as you can change the type in an override of ValuePostProcess. If not set, it is set by ProjectEntityProperty to the type of the value producer selected Flag which hints the projector engine how to set the destination element: via the constructor (true) or on another way (false). This flag can be ignored by the projector engine if values can better be set otherwise. Projects the entity through this entity property projector and results into a single value, based on what the DefaultValueProducer is and what filter is specified (if any) The entity to project. The DefaultValueProducer, ValueFilter, AlternativeValueProducer and the method to post process the value will determine what the returned value is Projection result of an entity's property using this entity property descriptor. Postprocesses the value passed in, which is the value produced by the selected value producer in ProjectEntityProperty. The preliminary projection result. The entity projected the projection result processed by this routine. The base class version is empty and returns preliminaryProjectionResult Inits the class. The default value producer. The alternative value producer. The value filter. Name of the projected result. Type of the value. if set to true [set using C tor hint]. Gets or sets the default value producer. This object produces the value returned by ProjectEntityProperty if ValueFilter isn't set or resolves to true for the entity passed into ProjectEntityProperty. Gets or sets the value filter which can be used to select between the DefaultValueProducer and the AlternativeValueProducer. If this filter isn't set (null) or set to an IPredicate implementing object and at runtime the filter resolves to true for the entity passed into ProjectEntityProperty, the DefaultValueProducer is used, otherwise the AlternativeValueProducer. If AlternativeValueProducer isn't set, an ORMInterpretationException is thrown. Gets or sets the alternative value producer. Only used if ValueFilter is set to a valid filter and that filter resolves to false for the entity passed into ProjectEntityProperty. Name for the projection result. Projection result consumers can use this name to further handle the projection result. Gets or sets the type of the value returned by the value producers. This can be different from the actual value produced as you can change the type in an override of ValuePostProcess. If not set, it is set by ProjectEntityProperty to the type of the value producer selected The type of the value. Flag which hints the projector engine how to set the destination element: via the constructor (true) or on another way (false). This flag can be ignored by the projector engine if values can better be set otherwise. Projectors for CTors have to appear in the same order as their destination parameters appear in the CTor to use. Gets or sets the delegate to use to produce a value for this projector out of the list of object values. Be sure to set ValueProducerFuncParameterIndices if the delegate contained inside ValueProducerFunc requires any input values from the list of values to project Gets or sets the parameter indices array to use with ValueProducer. If ValueProducerFunc is null, this array is ignored. Simple class which is used to emit a literal value into the projection. It subclasses dbfunctioncall as that's the class to use to emit a custom SQL fragment into the query, however we need to specialize it to avoid the () suffix for a function call. Initializes a new instance of the class. The literal as string. Retrieves a ready to use text representation of the contained function call if set to true, it will allow aggregate functions to be applied to fields. The contained function call in textual format. When IDbFunctionCall.DatabaseSpecificCreator is not set to a valid value. Gets or sets the alias to use. This is the alias of the element it represents when that element is a nested query. Null otherwise. Simple class which wraps an object array and allows type converson and name-based indexing. Used in projections of DynamicQuery resultsets. Initializes a new instance of the class. Be sure to set the raw row using SetRow() Initializes a new instance of the class. The plain row. Initializes a new instance of the class. The plain row. If set to null, the raw row has to be set through SetRow() before processing Index to lookup the value index for a name Sets the raw row this projectionrow works on. Overwrites the one set in the constructor Gets the MethodInfo of the method of this class to call to obtain a value of the type specified. If the type doesn't have a specific method, null is returned. The type of value. Gets the value for the specified name and converts it to the type T. If the value can be nullable, specify Nullable<T> of T is a value type. The name. Gets the value for the specified index and converts it to the type T. If the value can be nullable, specify Nullable<T> of T is a value type. The index. Gets the value of the specified column as a Boolean. The zero-based column ordinal. The value of the column. Gets the 8-bit unsigned integer value of the specified column. The zero-based column ordinal. The 8-bit unsigned integer value of the specified column. Gets the character value of the specified column. The zero-based column ordinal. The character value of the specified column. Gets the date and time data value of the specified field. If DBNull, default(DateTime) is returned. The index of the field to find. The date and time data value of the specified field. Gets the fixed-position numeric value of the specified field. The index of the field to find. The fixed-position numeric value of the specified field. Gets the double-precision floating point number of the specified field. The index of the field to find. The double-precision floating point number of the specified field. Gets the single-precision floating point number of the specified field. The index of the field to find. The single-precision floating point number of the specified field. Returns the GUID value of the specified field. If null, Guid.Empty is returned. The index of the field to find. The GUID value of the specified field. Gets the 16-bit signed integer value of the specified field. The index of the field to find. The 16-bit signed integer value of the specified field. Gets the 32-bit signed integer value of the specified field. The index of the field to find. The 32-bit signed integer value of the specified field. Gets the 64-bit signed integer value of the specified field. The index of the field to find. The 64-bit signed integer value of the specified field. Gets the string value of the specified field. The index of the field to find. The string value of the specified field. Return the value of the specified field. Converts DBNull.Value to null. The index of the field to find. The which will contain the field value upon return. Populates an array of objects with the column values of the current record. Copies the plain row as-is to the passed in array. It copies as much values as there are either in rawrow or how many they'll fit in values. An array of to copy the attribute fields into. The number of instances of in the array. Gets the enum value of the specified field. The type of the enum. The index of the field to find. Gets the value of the specified column as a nullable Boolean or null if the value is DBNull The zero-based column ordinal. The value of the column. Gets the 8-bit unsigned integer value of the specified column or null if the value is DBNull The zero-based column ordinal. The 8-bit unsigned integer value of the specified column. Gets the character value of the specified column or null if the value is DBNull The zero-based column ordinal. The character value of the specified column. Gets the date and time data value of the specified field or null if the value is DBNull The index of the field to find. The date and time data value of the specified field. Gets the fixed-position numeric value of the specified field or null if the value is DBNull The index of the field to find. The fixed-position numeric value of the specified field. Gets the double-precision floating point number of the specified field or null if the value is DBNull The index of the field to find. The double-precision floating point number of the specified field. Gets the single-precision floating point number of the specified field or null if the value is DBNull The index of the field to find. The single-precision floating point number of the specified field. Returns the GUID value of the specified field or null if the value is DBNull The index of the field to find. The GUID value of the specified field. Gets the 16-bit signed integer value of the specified field or null if the value is DBNull The index of the field to find. The 16-bit signed integer value of the specified field. Gets the 32-bit signed integer value of the specified field or null if the value is DBNull The index of the field to find. The 32-bit signed integer value of the specified field. Gets the 64-bit signed integer value of the specified field or null if the value is DBNull The index of the field to find. The 64-bit signed integer value of the specified field. Gets the byte array of the specified field. Returns null if the value is DBNull. The index of the field to find. Gets the date time offset value of the specified field. Returns default(DateTimeOffset), which is MinValue. The index of the field to find. Gets the sbyte value of the specified field. The index of the field to find. Gets the timespan value of the specified field. Returns TimeSpan.Zero if the value is DBNull The i. Gets the unsigned int16 value of the specified field. The index of the field to find. Gets the unsigned int32 value of the specified field. The index of the field to find. Gets the unsigned int64 value of the specified field. The index of the field to find. Gets the date time offset value of the specified field or null if the value is DBNull The index of the field to find. Gets the sbyte value of the specified field or null if the value is DBNull The index of the field to find. Gets the timespan value of the specified field or null if the value is DBNull The i. Gets the unsigned int16 value of the specified field or null if the value is DBNull The index of the field to find. Gets the unsigned int32 value of the specified field or null if the value is DBNull The index of the field to find. Gets the unsigned int64 value of the specified field or null if the value is DBNull The index of the field to find. Gets the enum value of the specified field or null if the value is DBNull The type of the enum. The index of the field to find. Converts the value specified to the type T. Assumes toConvert can be converted to T if toConvert is null. To convert. Gets the index for the name specified or -1 if not found. The name. Gets the plain row wrapped by this projectionrow Gets the with the specified name. Gets the at the specified index. Converts DBNull.Value to null. Gets the name to index map, which is an index to lookup the value index for a name. The value is the ordinal in the resultset for the column with the name specified as key. Class which contains utility methods used for data projection. Creates the hash value for an array of values, and uses all values in the array to produce the hashvalue. The projectors. The values. Hashvalue which represents the passed in array of values. creates a projection from the passed in reader, using the client side specifications provided. The value projectors. The projector. The datareader to read from The rows to skip. The rows to take. if set to true [client side limitation]. if set to true [client side distinct filtering]. if set to true [client side paging]. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is if set to true it will perform a DBNull to null conversion on the row passed to the projector. Only specify this to true if the projector deals with object arrays to the outside. In all other cases make the projectors already convert the DBNull values. The type converters to use for the query. The key is the index in the result row, the value is the type converter to run on that value. These type converters have to run prior to the projectors will run. The query executed. Can be null. If true, the projection code used will perform implicit type conversions using a slower pipeline. If false, it will use optimized projection logic which assumes the value at ordinal n is of the expected type. Class which contains projection data for entity views, used in hierarchical projections of data. The data is applied to a view of all entities with the type specified as TEntity. The entity type this view projection is for. CTor. Uses no additional filter and allows duplicates. List of entity property projectors to project the view's data CTor List of entity property projectors to project the view's data Additional filter to apply to the data before projection. Only matching entities are projected Flag to signal if duplicate results are allowed. CTor The real type of the target. Gets / sets the list of entity property projectors to project the view's data Gets / sets allowDuplicates, a flag to signal if duplicate results are allowed. Gets the type of the target entity. Gets the additional filter to apply to the data before projection. Only matching entities are projected The additional filter. Predicate class which performs an aggregate function on a set of entities and returns true or false depending if that aggregated value matches a specified expression. The set of entities this predicate is applied on are the elements of a member property with the name specified which match the specified filter. Meant for in-memory filtering. Can't be used in database targeting filters. Initializes a new instance of the class. Name of the member which is the name of the member of the entity this predicate is applied on, on which filter has to be applied. The function to apply as aggregate function. The value producer for each element in the set. The value produced by the value producer is added to the set. The operator to apply on the aggregated value. The value to compare the aggregated value with using the operatorToApply. The set filter to determine which elements in memberName form the set the aggregate function to apply on. Initializes a new instance of the class. Name of the member which is the name of the member of the entity this predicate is applied on, on which filter has to be applied. The function to apply as aggregate function. The value producer for each element in the set. The value produced by the value producer is added to the set. The operator to apply on the aggregated value. The value to compare the aggregated value with using the operatorToApply. The set filter to determine which elements in memberName form the set the aggregate function to apply on. Initializes a new instance of the class. Name of the member which is the name of the member of the entity this predicate is applied on, on which filter has to be applied. The function to apply as aggregate function. The value producer for each element in the set. The value produced by the value producer is added to the set. The operator to apply on the aggregated value. The value to compare the aggregated value with using the operatorToApply. The set filter to determine which elements in memberName form the set the aggregate function to apply on. Negate the comparison operator outcome for the final result of this predicate. Initializes a new instance of the class. Name of the member which is the name of the member of the entity this predicate is applied on, on which filter has to be applied. The function to apply as aggregate function. The value producer for each element in the set. The value produced by the value producer is added to the set. The operator to apply on the aggregated value. The value to compare the aggregated value with using the operatorToApply. The set filter to determine which elements in memberName form the set the aggregate function to apply on. Negate the comparison operator outcome for the final result of this predicate. Initializes a new instance of the class. Name of the member which is the name of the member of the entity this predicate is applied on, on which filter has to be applied. The function to apply as aggregate function. The value producer callback which is called for every entity matching the set filter and which should produce a value to aggregate. The operator to apply on the aggregated value. The value to compare the aggregated value with using the operatorToApply. The set filter to determine which elements in memberName form the set the aggregate function to apply on. Initializes a new instance of the class. Name of the member which is the name of the member of the entity this predicate is applied on, on which filter has to be applied. The function to apply as aggregate function. The value producer callback which is called for every entity matching the set filter and which should produce a value to aggregate. The operator to apply on the aggregated value. The value to compare the aggregated value with using the operatorToApply. The set filter to determine which elements in memberName form the set the aggregate function to apply on. Negate the comparison operator outcome for the final result of this predicate. Initializes a new instance of the class. Name of the member which is the name of the member of the entity this predicate is applied on, on which filter has to be applied. The aggregator callback which is called to aggregate over the set of values produced by the individual calls to the valueProducerCallback. The value producer callback which is called for every entity matching the set filter and which should produce a value to aggregate. The operator to apply on the aggregated value. The value to compare the aggregated value with using the operatorToApply. The set filter to determine which elements in memberName form the set the aggregate function to apply on. Initializes a new instance of the class. Name of the member which is the name of the member of the entity this predicate is applied on, on which filter has to be applied. The aggregator callback which is called to aggregate over the set of values produced by the individual calls to the valueProducerCallback. The value producer callback which is called for every entity matching the set filter and which should produce a value to aggregate. The operator to apply on the aggregated value. The value to compare the aggregated value with using the operatorToApply. The set filter to determine which elements in memberName form the set the aggregate function to apply on. Negate the comparison operator outcome for the final result of this predicate. Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Checks if the passed in operand value is numeric. The operand. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Writes the additional data a derived type has to the writer specified. The writer. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. Performs the aggregate function specified. The values to aggregate. true if the aggregate predicate resolves to true, otherwise false. Performs the count function and applies the operator on it with the operand The values to aggregate. the operator application result Performs the count function ignoring duplicate values and applies the operator on it with the operand The values to aggregate. the operator application result Performs the sum distinct. The values to aggregate. the operator application result Performs the sum. The values to aggregate. the operator application result Performs the min. The values to aggregate. the operator application result Performs the max. The values to aggregate. the operator application result Performs the avg distinct. The values to aggregate. the operator application result Performs the avg. The values to aggregate. the operator application result Creates a distinct list from the list of values passed in. The values to aggregate. a new list with all distinct values in valuesToAggregate Applies the operator on the value passed in and the set operand. Value has to be numeric, so if it's not a value type, false will be returned. The value. Gets / sets memberName, which is the name of the member of the entity this predicate is applied on, on which filter has to be applied. Gets / sets the filter to apply to elements of the member (or the member itself in case of a single instance). Gets the value producer expression. Predicate class to filter in-memory entity collections based on a specified callback function. Meant for in-memory filtering. Can't be used in database targeting filters. Initializes a new instance of the class. The callback to call for entity interpretation. Initializes a new instance of the class. The callback to call for entity interpretation. flag to negate the results of the predicate Writes the additional data a derived type has to the writer specified. The writer. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. By default this method throws a NotSupported exception. It is only implemented on predicates which can be used for in-memory filtering. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. Generic version of the DelegatePredicate predicate, to use with Predicate(Of T) predicates, which can be constructed with Lambda expressions. type of the entity this entity can work on. Initializes a new instance of the class. The func to call. Initializes a new instance of the class. The func to call. flag to negate the results of the predicate Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. By default this method throws a NotSupported exception. It is only implemented on predicates which can be used for in-memory filtering. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. Class to define a derived table. A derived table is a select statement which is used inside a FROM clause of a query. Use derived table definitions in combination of DynamicRelation objects to build your query. Initializes a new instance of the class. The fields which form the select list for the derived table. The alias for the derived table to use. Initializes a new instance of the class. The fields which form the select list for the derived table. The alias for the derived table to use. The filter to use in the derived table. Can be null. Initializes a new instance of the class. The fields which form the select list for the derived table. The alias for the derived table to use. The filter to use in the derived table. Can be null. The relations to use in the derived table. Can be null. Initializes a new instance of the class. The fields which form the select list for the derived table. The alias for the derived table to use. The filter to use in the derived table. Can be null. The group by collection to use in the derived table. Can be null. Initializes a new instance of the class. The fields which form the select list for the derived table. The alias for the derived table to use. The filter to use in the derived table. Can be null. The relations to use in the derived table. Can be null. The group by collection to use in the derived table. Can be null. Initializes a new instance of the class. The fields which form the select list for the derived table. The alias for the derived table to use. The filter to use in the derived table. Can be null. The relations to use in the derived table. Can be null. The sort expression to use in the derived table. Can be null. The group by collection to use in the derived table. Can be null. Initializes a new instance of the class. The fields which form the select list for the derived table. The alias for the derived table to use. The filter to use in the derived table. Can be null. The relations to use in the derived table. Can be null. The sort expression to use in the derived table. Can be null. The group by collection to use in the derived table. Can be null. The max number of items to return. Specify 0 for all items. flag to signal if duplicates are allowed (true, default) or not (false) Appends the field passed in to the list of fields. The field to append. Returns the IEntityFieldCore part of the field at position index index of field to return the IEntityFieldCore portion of the IEntityFieldCore part of the field at position index Returns the IEntityFieldCore part of the field in this derived table with the alias specified The field alias. field with the alias specified or null if not found. Gets the fields as an IEntityFieldCore array. IEntityFieldCore array with all the fields of the derived table Adds the relations specified. The relations to add. Replaces the field at the index specified with the new field passed in. The new field. The index. Appends the specified derived table definition as a unioned query to this derived table. Converts this instance to a queryparameters instance to be passed to dqes. Creates a new query element from this derived table. DatabaseSpecificCreator has to be set to a value. Creates a new query element from this derived table. Creator has to be set to a value. Sets the IFieldPersistenceInfo part of the field at position index. Adapter specific. The field persistence info object to set index of field to set the persistence info of Adds the unioned queries in this derived table as query parameters to the specified query parameters. Gets whether this instance has any unioned queries defined (true) or not (false) Returns the unioned derived table definitions of this instance. Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Gets / sets alias Gets / sets allowDuplicates Gets / sets filter Gets / sets relations Gets / sets sorter Gets / sets groupBy Gets / sets maxNumberOfItemsToReturn Gets the field count. Gets whether this instance has any unioned queries defined (true) or not (false) Returns the unioned derived table definitions of this instance. Abstract base class for the DynamicRelation class which is generated. Dynamic relations have always their left operand defined as the 'pk' side if applicable. Inits the class. Type of the join. The alias left operand. The alias right operand. The on clause. The left operand. The right operand. Sets the left operand persistence info. The persistence info. Sets the right operand persistence info. The persistence info. Clones this instance. (shallow copy) shallow copy of this instance. Sets the left operand. The operand. Sets the right operand. The operand. Enables / disables the artificial aliasing for target per entity relations. This method is used to enable the artificial aliasing of entities which are in a hierarchy of TargetPerEntity and which are in this relation. This is switched on for dyn/typedlist fetches to be sure dyn/typedlists with fields from multiple entities in the same inheritance hierarchy will be retrievable properly, as they need aliasing under the hood but if the developer didn't alias the entities, the query will fail because the supertype(s) aren't joined multiple types. if set to true, enable artificial aliasing, otherwise false (default). Artificial aliasing is disabled by default Gets per alias specified in a relation all entity names covered by that alias. This means that if an entity in a relation is based on multiple entities (through inheritance) it will return all entity names the entity is based on, from the actual entity to the root of the hierarchy path and every entity name in between. Also, if the relation contains derived tables, the fields filed under the alias of the derived table are returned. Entity names per alias multivaluehashtable: per alias (key) all entity names are stored in a uniquevaluelist. The artificial alias per entity. This collection contains per entity (key) the artificial alias (value), IF such an artificial alias has been given out. (only done with entities which are part of a hierarchy of type TargetPerEntity) Returns true if the start element of the relation (the left operand) is the Pkside. Gets the name of the left operand for hint targeting. This is either AliasLeftOperand, or if that's empty the containing entity name of the left operand field, if applicable otherwise an empty string. Gets the name of the right operand for hint targeting. This is either AliasRightOperand, or if that's empty the containing entity name of the right operand field, if applicable otherwise an empty string. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Gets the inheritance provider for inheritance info retrieval for entity operands The inheritance info provider Checks if the alias for the side specified is indeed an artificial alias. Artificial aliases are issued for sides which don't have an alias set and which are in a targetperentity hierarchy. Will always return false if the side specified is a derived table. if set to true [left operand]. true if the side has an artificial alias so Alias* returns an artificial alias. Returns always false if artificial aliasing is disabled (default) and if the side is a derived table. Gets the describing field for the operand passed in and the inheritance info for the entity. Operand is either an adapter entity or a selfservicing entity or an entity field (adapter/selfservicing). In case of a field, it returns the same field and only obtains inheritance info. The operand. if set to true [is left operand]. The inheritance info of the operand field which describes operand, e.g. the PK field of the entity. Just one is needed. Determines the alias for the side specified if set to true [left operand]. the alias for the side requested Toggles the artificial aliasing for target per entity relations in the relations to the hierarchy root in the inheritanceinfo object passed in. the value to set The inheritance info. Gets the left operand's InheritanceInfo Gets the right operand's InheritanceInfo Gets the alias for the left operand. Gets the alias for the right operand. Gets the On clause filter for the On clause in the join. Should be null if a cross-join is used. Gets the left operand. Can be either a DerivedTableDefinition or an entity field (IEntityFieldCore) Gets the right operand. Can be either a DerivedTableDefinition or an entity field (IEntityFieldCore) or null (left operand then has to be a DerivedTableDefinition) Gets the persistence info for the left operand. Is null if left operand is a DerivedTableDefinition instead of an IEntityFieldCore Gets the persistence info for the right operand. Is null if right operand is a DerivedTableDefinition instead of an IEntityFieldCore Returns true of the left operand Is a DerivedTableDefinition Returns true of the right operand Is a DerivedTableDefinition The join type to use. If right operand is null and left operand is a DerivedTableDefinition, this value is ignored. Class which at runtime represents an entity property, and which is used in Predicate expressions for filtering and sorting in-memory using EntityView(2) objects. Both selfservicing and adapter use this class. Initializes a new instance of the class. Name of the property. Case sensitive Initializes a new instance of the class. The descriptor of the property this object has to represent Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. A hash code for the current . Returns the hashcode for this field which can be used for an expression key. This value is based on the field info hashcode and alias, as well as expression hashcode (if present) Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into a fieldinfo instance The reader. Serializes the field's definition as xml to the writer specified. The writer. Deserializes the field's definition data on the xml reader into a field instance The reader. Adds the linked sub type field to the list of linked subtype fields. The linked sub type field. Accepts the change made to this field as final. Rejects the value of the current value and resets current value with the original value, and will report false. Sets the FieldIndex, if FieldInfo is null. Used in DefineField. The new index. Forces a set of the IsChanged flag for this field. new value for IsChanged. Do not call this method from your code. This is an internal method Forcess a set of the IsNull flag if [is null]; otherwise, . Do not call this method from your code. This is an internal method Sets the DbValue property with the value passed in. Writes the XML of this Field object to the writer specified The writer. The aspects. Gets linkedSubTypeFields Not implemented Not implemented Not implemented Not implemented Setter not implemented Not implemented Not implemented Not implemented Not implemented Not implemented Not implemented Not implemented Not implemented Not implemented Not implemented Returns the datatype of the entityproperty. Only valid after this entityproperty has been evaluated with an entity. Gets a value indicating whether the DataType is an enum type. This is a helper boolean so it doesn't have to be determined for every field set during a fetch. Gets the real datatype. This is the underlying datatype of DataType and if that's a Nullable(Of T) it's the type of T. This is a helper property so it's not determined over and over again for every field during a fetch. Not implemented Not implemented Not implemented Not implemented Not implemented Not implemented Not implemented Not implemented Not implemented Not Implemented Not Implemented Gets or sets a value indicating whether this field should be threated as a derived table field. This is necessary when this field is in a query and targets a derived table while this field is actually a full entity field (so it has field info). If this flag is true, the field will result in objectAlias.Alias instead of persistenceinfo.Fieldname as alias (alias only if required) Gets the value for the field implementing this interface for the entity passed in. The entity. the value of the property in the entity passed in. If the field isn't present in the entity passed in, null is returned. If the value for the property is null, DBNull.Value is returned. Operator overload for the '==' operator to produce a FieldCompareExpressionPredicate to represent leftOperand == rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '!=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand != rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate which is negated Operator overload for the '>' operator to produce a FieldCompareExpressionPredicate to represent leftOperand > rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '>=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand >= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<' operator to produce a FieldCompareExpressionPredicate to represent leftOperand < rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand <= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '==' operator to produce a FieldCompareExpressionPredicate to represent leftOperand == rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '!=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand != rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate which is negated Operator overload for the '>' operator to produce a FieldCompareExpressionPredicate to represent leftOperand > rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '>=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand >= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<' operator to produce a FieldCompareExpressionPredicate to represent leftOperand < rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand <= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '==' operator to produce a FieldCompareRangePredicate. Field to compare the values to compare with. A FieldCompareRangePredicate Operator overload for the '!=' operator to produce a FieldCompareRangePredicate. Field to compare the values to compare with. A FieldCompareRangePredicate which is negated Operator overload for the '==' operator to produce a FieldCompareValue/Null predicate. Field to compare the value to compare with. If value is null, a FieldCompareNullPredicate will be created instead. A FieldCompareNullPredicate or FieldCompareValuePredicate with the operator ComparisonOperator.Equal Operator overload for the '!=' operator to produce a FieldCompareValue/Null predicate. Field to compare the value to compare with. If value is null, a FieldCompareNullPredicate will be created instead. A FieldCompareNullPredicate or FieldCompareValuePredicate with the operator ComparisonOperator.NotEqual Operator overload for the '>' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.GreaterThan Operator overload for the '>=' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.GreaterEqual Operator overload for the '<' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.LesserThan Operator overload for the '<=' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.LessEqual Operator overload for the '==' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.Equal Operator overload for the '!=' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.NotEqual Operator overload for the '>' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.GreaterThan Operator overload for the '>=' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.GreaterEqual Operator overload for the '<' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.LesserThan Operator overload for the '<=' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.LessEqual Operator overload for the '%' operator to produce a FieldLikePredicate. Field to compare Pattern. A FieldLikePredicate Operator overload for the '+' operator to produce an Expression which represents field + value Left operand. Value. Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents field + expression Left operand. Right operand. Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents field + field2 Left operand. Right operand Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents field + field2 Left operand. Right operand Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents value + field Value. Right operand. Expression object which represents value + field Operator overload for the '+' operator to produce an Expression which represents expression + field Left operand. Right operand. Operator overload for the '*' operator to produce an Expression which represents field * value Left operand. Value. Expression object which represents field * value Operator overload for the '*' operator to produce an Expression which represents field * expression Left operand. Right operand Expression object which represents field * expression Operator overload for the '*' operator to produce an Expression which represents field * field2 Left operand. Right operand Expression object which represents field * field2 Operator overload for the '*' operator to produce an Expression which represents field * field2 Left operand. Right operand Expression object which represents field * field2 Operator overload for the '*' operator to produce an Expression which represents value * field Value. Right operand. Expression object which represents value * field Operator overload for the '*' operator to produce an Expression which represents expression * field Left operand. Right operand. Operator overload for the '-' operator to produce an Expression which represents field - value Left operand. Value. Expression object which represents field - value Operator overload for the '-' operator to produce an Expression which represents field - expression Left operand. Right operand Expression object which represents field - expression Operator overload for the '-' operator to produce an Expression which represents field - field2 Left operand. Right operand Expression object which represents field - field2 Operator overload for the '-' operator to produce an Expression which represents value - field Value. Right operand. Expression object which represents value - field Operator overload for the '-' operator to produce an Expression which represents expression - field Left operand. Right operand. Operator overload for the '/' operator to produce an Expression which represents field / value Left operand. Value. Expression object which represents field / value Operator overload for the '/' operator to produce an Expression which represents field / expression Left operand. Right operand Expression object which represents field / expression Operator overload for the '/' operator to produce an Expression which represents field / field2 Left operand. Right operand Expression object which represents field / field2 Operator overload for the '/' operator to produce an Expression which represents field / field2 Left operand. Right operand Expression object which represents field / field2 Operator overload for the '/' operator to produce an Expression which represents value / field Value. Right operand. Expression object which represents value / field Operator overload for the '/' operator to produce an Expression which represents expression / field Left operand. Right operand. Operator overload for the '|' operator to concatenate sortoperators to a field Field. Operator to use. new SortClause object The name of the property. Name cannot be of zero length nor can they consist of solely spaces. Leading and trailing spaces are trimmed. The value specified for Name is invalid. The expression to apply to this field in a select list, update statement or predicate. Expression is applied before AggregateFunctionToApply. The database function call to apply on this field in a selectlist, update statement or predicate or expression. FunctionCallToApply is applied before ExpressionToApply. Gets the representing property descriptor. The representing property descriptor. Generic implementation of the IEntityRelation interface, which is used for relations between IEntity* instances. CTor CTor The type of relation this instance represents Initializes a new instance of the class. The type of relation this instance represents Name of the mapped field in the start entity onto this relation. Initializes a new instance of the class. The type of relation. Set to true if the start entity of the relation is the PK side of the relation. This is set in the generated code. This property is true in 1:n relations and in 1:1 relations where the start entity is the PK side and the end entity is thus the FK side. Required for determining which alias belongs to which entity. Initializes a new instance of the class. The type of relation. Name of the mapped field in the start entity onto this relation. Set to true if the start entity of the relation is the PK side of the relation. This is set in the generated code. This property is true in 1:n relations and in 1:1 relations where the start entity is the PK side and the end entity is thus the FK side. Required for determining which alias belongs to which entity. CTor The IEntityField instance which represents the primary key in the relation The IEntityField instance which represents the foreign key in the relation The type of relation this instance represents Selfservicing specific Initializes a new instance of the class. The IEntityField instance which represents the primary key in the relation The IEntityField instance which represents the foreign key in the relation The type of relation this instance represents Set to true if the start entity of the relation is the PK side of the relation. This is set in the generated code. This property is true in 1:n relations and in 1:1 relations where the start entity is the PK side and the end entity is thus the FK side. Required for determining which alias belongs to which entity. Name of the mapped field. Selfservicing specific CTor The IEntityField2 instance which represents the primary key in the relation The IEntityField2 instance which represents the foreign key in the relation The type of relation this instance represents Adapter specific Initializes a new instance of the class. The IEntityField2 instance which represents the primary key in the relation The IEntityField2 instance which represents the foreign key in the relation The type of relation this instance represents Set to true if the start entity of the relation is the PK side of the relation. This is set in the generated code. This property is true in 1:n relations and in 1:1 relations where the start entity is the PK side and the end entity is thus the FK side. Required for determining which alias belongs to which entity. Name of the mapped field in the start entity onto this relation. Adapter specific Returns a that represents the current . A that represents the current . Adds a new pair of entity field instances to the relation. Primary Key fields and Foreign Key Fields have to be added in pairs. The Entity field instance which represents a field in the primary key in the relation The Entity field instance which represents the corresponding field in the foreign key in the relation this instance Injects for the PK and FK side the inheritance info for this entity relation. It sets InheritanceInfoPkSideEntity and InheritanceInfoFkSideEntity using the provider specified. The inheritance provider to use this instance Initializes the class' member variables. Gets the IFieldPersistenceInfo data for the PK field at index specified. index of the field in the list of PK fields. IFieldPersistenceInfo object Gets per alias specified in a relation all entity names covered by that alias. This means that if an entity in a relation is based on multiple entities (through inheritance) it will return all entity names the entity is based on, from the actual entity to the root of the hierarchy path and every entity name in between. Entity names per alias multivaluehashtable: per alias (key) all entity names are stored in a uniquevaluelist. The artificial alias per entity. This collection contains per entity (key) the artificial alias (value), IF such an artificial alias has been given out. (only done with entities which are part of a hierarchy of type TargetPerEntity) Returns in an arraylist all IEntityFieldCore objects for the PK fields in this entityrelation List with the requested objects Returns in an arraylist all IEntityFieldCore objects for the FK fields in this entityrelation ArrayList with the requested objects Returns in an arraylist all IFieldPersistenceInfo objects for the FK fields in this entityrelation ArrayList with the requested objects Returns in an arraylist all IFieldPersistenceInfo objects for the PK fields in this entityrelation ArrayList with the requested objects Gets the IFieldPersistenceInfo data for the FK field at index specified. index of the field in the list of FK fields. IFieldPersistenceInfo object Gets the IEntityFieldCore information about the PK field at index specified index of field in the list of PK fields IEntityFieldCore object Gets the IEntityFieldCore information about the FK field at index specified index of field in the list of FK fields IEntityFieldCore object Sets the IFieldPersistenceInfo data for the PK field at index specified. index of the field in the list of PK fields. The persistence info for the entity field at position index. Used by DataAccessAdapter objects. Sets the IFieldPersistenceInfo data for the FK field at index specified. index of the field in the list of FK fields. The persistence info for the entity field at position index. Used by DataAccessAdapter objects. Sets the aliases for the start entity and the end entity formed by the fields stored in this entityrelation. The start entity and end entity are determined based on the type of the relation and the primary key / foreign key fields. Mainly used by RelationCollection.Add(). the alias for the start entity in the relation. Alias is case sensitive. An alias with solely spaces or an empty string is ignored. the alias for the end entity in the relation Alias is case sensitive. An alias with solely spaces or an empty string is ignored. Enables / disables the artificial aliasing for target per entity relations. This method is used to enable the artificial aliasing of entities which are in a hierarchy of TargetPerEntity and which are in this relation. This is switched on for dyn/typedlist fetches to be sure dyn/typedlists with fields from multiple entities in the same inheritance hierarchy will be retrievable properly, as they need aliasing under the hood but if the developer didn't alias the entities, the query will fail because the supertype(s) aren't joined multiple types. if set to true, enable artificial aliasing, otherwise false (default). Artificial aliasing is disabled by default Gets per alias specified in a relation all entity names covered by that alias. This means that if an entity in a relation is based on multiple entities (through inheritance) it will return all entity names the entity is based on, from the actual entity to the root of the hierarchy path and every entity name in between. Entity names per alias multivaluehashtable: per alias (key) all entity names are stored in a uniquevaluelist. The artificial alias per entity. This collection contains per entity (key) the artificial alias (value), IF such an artificial alias has been given out. (only done with entities which are part of a hierarchy of type TargetPerEntity) Gets the alias for the left operand (Start entity) Gets the alias for the right operand (End entity) Gets the name of the left operand for hint targeting. This is either AliasLeftOperand, or if that's empty the containing entity name of the left operand field, if applicable otherwise an empty string. Gets the name of the right operand for hint targeting. This is either AliasRightOperand, or if that's empty the containing entity name of the right operand field, if applicable otherwise an empty string. The join type to use. Returns true if the start element of the relation (the left operand) is the Pkside. Gets the left operand's InheritanceInfo Gets the right operand's InheritanceInfo Resets the aliases for start/end entity if they're artificial. Gets the custom filter for the query to build. The set CustomFilter plus added inheritance based type filters if necessary Determines if this relation is a weak relation (true) or not (false). 1:m is always weak by definition. 1:1 relations are weak when relation is seen from PK entity, otherwise always strong (when seen from FK entity). This can't be determined here, so 1:1 relations are always reported 'weak'. true when this relation is weak, false otherwise. Returns false by default. Sees 1:1 not as a strong relation per se. Earlier versions did so. Determines the alias for the side specified with the pkSide flag. if true, the alias for teh PK side is determined, otherwise the FK side the alias for the side requested Checks if the alias for the side specified is indeed an artificial alias. Artificial aliases are issued for sides which don't have an alias set and which are in a targetperentity hierarchy. if set to true [pk side]. true if the side has an artificial alias so Alias*Side and Alias*Entity return an artificial alias. Returns always false if artificial aliasing is disabled (default). Builds the custom filter. If there's a custom filter specified and one or both sides are in a targetperentityhierarchy and have a typefilter in the inheritanceinfo, these filters are merged: customfilter AND (typefilterSTART AND typeFilterEND) Ready to use custom filter. Toggles the artificial aliasing for target per entity relations in the relations to the hierarchy root in the inheritanceinfo object passed in. the value to set The inheritance info. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Deserializes the inheritance info. The setter func. The reader. Deserializes the custom filter. The reader. Deserializes the fields. The destination. The persistence information of the destination. The reader. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. The relation type the IEntityRelation instance represents. Flag to signal if this relation is a 'weak' relation or not. Weak relations are optional relations, which means when A and B have a weak relation, not all instances of A have to have a related instance of B. Returns the amount of fields in the EntityRelation object. Flag to signal the join creator logic to use the CustomFilter specified as the ON clause, instead of appending the CustomFilter to the ON clause. Ignored if CustomFilter is null or empty. Default is false. Custom filter for JOIN clauses which are added with AND to the ON clause resulting from this EntityRelation. By adding a predicate expression with fieldcomparevalue predicate objects for example, you can add extra filtering inside the JOIN. Hint value for the consideration of the jointype of this relation. Default: JoinHint.None Alias value for the entity which is on the PK side of the relation. Determined from the relation type and the pk/fk fields Alias value for the entity which is on the FK side of the relation. Determined from the relation type and the pk/fk fields Set to true if the start entity of the relation is the PK side of the relation. This is set in the generated code. This property is true in 1:n relations and in 1:1 relations where the start entity is the PK side and the end entity is thus the FK side. Required for determining which alias belongs to which entity. Gets the alias of the start entity. Gets the alias of the end entity. Gets or sets the inheritance info for the pk side entity. Gets or sets the inheritance info for the fk side entity. Gets or sets the name of the field mapped onto this relation in the start entity. Gets or sets a value indicating whether this instance is a hierarchy relation. Implementation of a Field Between ValueBegin And ValueEnd expression, using the following format: IEntityField(Core) Between Parameter1 And Parameter2 (f.e Foo BETWEEN @Foo1 AND Foo2) There is no check for types between the values specified and the specified IEntityField. CTor CTor. Creates the Field Between Value1 And Value2 expression (Self servicing version) Field used in the Between expression Begin value in the Between clause. Can be a field object End value in the Between clause. Can be a field object CTor. Creates the Field Between Value1 And Value2 expression (Self servicing version) Field used in the Between expression Begin value in the Between clause. Can be a field object End value in the Between clause. Can be a field object Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor. Creates the Field Between Value1 And Value2 expression (Self servicing version) Field used in the Between expression Begin value in the Between clause. Can be a field object End value in the Between clause. Can be a field object Flag to make this expression add NOT to itself CTor. Creates the Field Between Value1 And Value2 expression (Self servicing version) Field used in the Between expression Begin value in the Between clause. Can be a field object End value in the Between clause. Can be a field object Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself CTor. Creates the Field Between Value1 And Value2 expression. (Adapter version) Field used in the Between expression The persistence info object for the field Begin value in the Between clause. Can be a field object End value in the Between clause. Can be a field object CTor. Creates the Field Between Value1 And Value2 expression. (Adapter version) Field used in the Between expression The persistence info object for the field Begin value in the Between clause. Can be a field object End value in the Between clause. Can be a field object Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor. Creates the Field Between Value1 And Value2 expression (Adapter version) Field used in the Between expression The persistence info object for the field Begin value in the Between clause. Can be a field object End value in the Between clause. Can be a field object Flag to make this expression add NOT to itself CTor. Creates the Field Between Value1 And Value2 expression (Adapter version) Field used in the Between expression The persistence info object for the field Begin value in the Between clause. Can be a field object End value in the Between clause. Can be a field object Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Implements the IPredicate ToQueryText method. Retrieves a ready to use text representation of the contained Predicate. The two parameters for begin and end value are constructed using the field's name plus the postfixes 'Begin' and 'End'. Generates SQL-92 syntaxis for BETWEEN, which is accepted by all databases known. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. Writes the additional data a derived type has to the writer specified. The writer. Reads the additional a derived type has from the reader's XML data. The reader is positioned at the 'predicate' element. The reader. Deserializes the between field using the reader and the func specified. The reader. To execute func. Creates the parameter. The parameter value. ready to use parameter Inits the class Field used in the comparison expression (SelfServicing). if this object was constructed using a non-selfservicing constructor. Field used in the comparison expression (IEntityFieldCore). Gets / sets persistenceInfo for field When a value is set for this property and this object was created using a selfservicing constructor. Gets / sets valueBegin Gets / sets valueEnd Gets beginIsField, flag to signal if the ValueBegin is a field object Gets endIsField, flag to signal if the ValueEnd is a field object Gets or sets the persistence info for the BeginValue, if that's a field Gets or sets the persistence info for the EndValue, if that's a field Gets the field which is the ValueBegin Gets the field which is the ValueEnd Gets the fieldcore which is the ValueBegin Gets the fieldcore which is the ValueEnd Implementation of a Field compare-operator Expression expression, using the following format: IEntityField(Core) ComparisonOperator Expression (f.e. Foo = (Bar * 2)) CTor CTor Selfservicing specific Entityfield to compare Operator to use Expression to compare with CTor Selfservicing specific Entityfield to compare Operator to use Expression to compare with Flag to make this expression add NOT to itself CTor Selfservicing specific Entityfield to compare Operator to use Expression to compare with Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor Selfservicing specific Entityfield to compare Operator to use Expression to compare with Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself CTor Adapter specific Entityfield to compare The persistence info object for the field Operator to use Expression to compare with CTor Adapter specific Entityfield to compare The persistence info object for the field Operator to use Expression to compare with Flag to make this expression add NOT to itself CTor Adapter specific Entityfield to compare The persistence info object for the field Operator to use Expression to compare with Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor Adapter specific Entityfield to compare The persistence info object for the field Operator to use Expression to compare with Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Implements the IPredicate ToQueryText method. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Writes the additional data a derived type has to the writer specified. The writer. Reads the additional a derived type has from the reader's XML data. The reader is positioned at the 'predicate' element. The reader. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. Initializes the class. Field used in the comparison expression (SelfServicing). if this object was constructed using a non-selfservicing constructor. Field used in the comparison expression (IEntityFieldCore). Gets / sets persistenceInfo for field When a value is set for this property and this object was created using a selfservicing constructor. Operator to use in the comparison Gets / sets expressionToCompareWith Implementation of a Field Compare NULL expression using the following format: IEntityField(Core) IS NULL (f.e. Foo IS NULL). CTor CTor. Creates the Field IS NULL predicate. (SelfServicing version) Field used in the comparison expression CTor. Creates the Field IS NULL predicate. (SelfServicing version) Field used in the comparison expression Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor. Creates the Field IS NULL predicate. Field used in the comparison expression Flag to make this expression add NOT to itself CTor. Creates the Field IS NULL predicate. Field used in the comparison expression Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself CTor. Creates the Field IS NULL predicate. Field used in the comparison expression The persistence info object for the field CTor. Creates the Field IS NULL predicate. Field used in the comparison expression The persistence info object for the field Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor. Creates the Field IS NULL predicate. Field used in the comparison expression The persistence info object for the field Flag to make this expression add NOT to itself CTor. Creates the Field IS NULL predicate. Field used in the comparison expression The persistence info object for the field Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Implements the IPredicate ToQueryText method. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Writes the additional data a derived type has to the writer specified. The writer. Reads the additional a derived type has from the reader's XML data. The reader is positioned at the 'predicate' element. The reader. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. Inits the class Field used in the comparison expression (SelfServicing). if this object was constructed using a non-selfservicing constructor. Field used in the comparison expression (IEntityFieldCore). Gets / sets persistenceInfo for field When a value is set for this property and this object was created using a selfservicing constructor. Implementation of a Field compare-range Values expression, using the following format: IEntityField(Core) ComparisonOperator Parameters (f.e. Foo IN (@Foo1, @Foo2 ... )) There is no check for types between the value specified and the specified IEntityField. CTor CTor. Creates Field IN (values) clause Field used in the comparison expression Value range to set for the IN clause. Specify any range of values. If a single array is passed or an ArrayList, this will be converted to a range of values. CTor. Creates Field IN (values) clause Field used in the comparison expression Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Value range to set for the IN clause. Specify any range of values. If a single array is passed or an ArrayList, this will be converted to a range of values. CTor. Creates Field IN (values) clause Field used in the comparison expression Flag to make this expression add NOT to itself Value range to set for the IN clause. Specify any range of values. If a single array is passed or an ArrayList, this will be converted to a range of values. CTor. Creates Field IN (values) clause Field used in the comparison expression Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself Value range to set for the IN clause. Specify any range of values. If a single array is passed or an ArrayList, this will be converted to a range of values. CTor. Creates Field IN (values) clause Field used in the comparison expression The persistence info object for the field Value range to set for the IN clause. Specify any range of values. If a single array is passed or an ArrayList, this will be converted to a range of values. CTor. Creates Field IN (values) clause Field used in the comparison expression The persistence info object for the field Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Value range to set for the IN clause. Specify any range of values. If a single array is passed or an ArrayList, this will be converted to a range of values. CTor. Creates Field IN (values) clause Field used in the comparison expression The persistence info object for the field Flag to make this expression add NOT to itself Value range to set for the IN clause. Specify any range of values. If a single array is passed or an ArrayList, this will be converted to a range of values. CTor. Creates Field IN (values) clause Field used in the comparison expression The persistence info object for the field Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself Value range to set for the IN clause. Specify any range of values. If a single array is passed or an ArrayList, this will be converted to a range of values. Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Implements the IPredicate ToQueryText method. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Writes the additional data a derived type has to the writer specified. The writer. Reads the additional a derived type has from the reader's XML data. The reader is positioned at the 'predicate' element. The reader. Deserializes the values. The reader. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. Initializes the class. Field used in the comparison expression (SelfServicing). if this object was constructed using a non-selfservicing constructor. Field used in the comparison expression (IEntityFieldCore). Gets / sets persistenceInfo for field When a value is set for this property and this object was created using a selfservicing constructor. Values to set for the IN Clause Implementation of a Field compare-operator Set expression, using the following format: IEntityField(Core) ComparisonOperator (Subquery) If the operator EXISTS is used, the field is ignored so can be set to null/Nothing, as the predicate will simply result in EXISTS (SELECT setField FROM ...)
This predicate isn't supported for in-memory filtering. Use FieldCompareRange for that.
CTor Creates a new instance. field to compare to the set results field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. the maximum amount of rows to return in the set query. The sort expression to use in the set query SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null negate the compare expression SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. negate the compare expression SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null negate the compare expression SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. negate the compare expression SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. the maximum amount of rows to return in the set query. The sort expression to use in the set query negate the compare expression SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used field to base the set on operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. the maximum amount of rows to return in the set query. The sort expression to use in the set query negate the compare expression The Group By clause to use in the set query. SelfServicing specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null Adapter specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. Adapter specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Adapter specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. Adapter specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. the maximum amount of rows to return in the set query. The sort expression to use in the set query Adapter specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null negate the compare expression Adapter specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. negate the compare expression Adapter specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null negate the compare expression Adapter specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. negate the compare expression Adapter specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. the maximum amount of rows to return in the set query. The sort expression to use in the set query negate the compare expression Adapter specific constructor Creates a new instance. field to compare to the set results. specify null if EXISTS operator is used the persistence info for field. Set to null field to base the set on the persistence info for SetField. Set to null operator to use as operator between field and the set filter to use in the set query. Can be null relations to use in the setquery. Can be null Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection of the query this predicate is part of or should be left empty if no alias is specified (or no relation collection is used in the query this predicate is part of). In that case, use another overload. the maximum amount of rows to return in the set query. The sort expression to use in the set query negate the compare expression The Group By clause to use in the set query. Adapter specific constructor Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Implements the IPredicate ToQueryText method. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Writes the additional data a derived type has to the writer specified. The writer. Reads the additional a derived type has from the reader's XML data. The reader is positioned at the 'predicate' element. The reader. Deserializes the set field. The reader. Inits the class. Field used in the comparison expression (SelfServicing). if this object was constructed using a non-selfservicing constructor. Field used in the comparison expression (IEntityFieldCore). Gets / sets persistenceInfo for field When a value is set for this property and this object was created using a selfservicing constructor. Field used in the subquery (the field the set is of) (SelfServicing). if this object was constructed using a non-selfservicing constructor. Field used in the subquery (the field the set is of) (SelfServicing). Gets / sets persistenceInfo for Setfield When a value is set for this property and this object was created using a selfservicing constructor. Operator to use in the comparison Gets / sets the set relations to use in the subquery. Gets / sets the filter to use in the subquery Wraps SetFilter in an IPredicateExpression instance Gets / sets maxNumberOfItemsToReturn for the subquery. Default: 0 (return all rows) Gets / sets the setSorter expression to order the subquery results. Use it in combination with MaxNumberOfItemsToReturn set to 1 Gets / sets the groupByClause for this FieldCompareSetPredicate instance Gets or sets a value indicating whether duplicates are allowed (true, default) in the subquery or not (false). On most databases this has no effect, but on e.g. Oracle it can be beneficial to specify false (which emits DISTINCT) to force the optimizer to use an index, if applicable. Implementation of a Field compare-operator Value expression, using the following format: IEntityField(Core) ComparisonOperator Parameter (f.e. Foo = @Foo) There is no check for types between the value specified and the specified IEntityField. CTor CTor. Creates Field ComparisonOperator Parameter clause. The value to compare with is retrieved from the passed in field object. Field used in the comparison expression Operator to use in the comparison CTor. Creates Field ComparisonOperator Parameter clause Field used in the comparison expression Operator to use in the comparison Value to set for the parameter CTor. Creates Field ComparisonOperator Parameter clause Value to set for the parameter Flag to make this expression add NOT to itself CTor. Creates Field ComparisonOperator Parameter clause Field used in the comparison expression Operator to use in the comparison Value to set for the parameter Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor. Creates Field ComparisonOperator Parameter clause Value to set for the parameter Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself CTor. Creates Field ComparisonOperator Parameter clause. The value to compare with is retrieved from the passed in field object. Field used in the comparison expression The persistence info object for the field Operator to use in the comparison CTor. Creates Field ComparisonOperator Parameter clause. The value to compare with is retrieved from the passed in field object. Field used in the comparison expression The persistence info object for the field Operator to use in the comparison Value to set for the parameter CTor. Creates Field ComparisonOperator Parameter clause. The value to compare with is retrieved from the passed in field object. Field used in the comparison expression The persistence info object for the field Operator to use in the comparison Value to set for the parameter Flag to make this expression add NOT to itself CTor. Creates Field ComparisonOperator Parameter clause. The value to compare with is retrieved from the passed in field object. Field used in the comparison expression The persistence info object for the field Operator to use in the comparison Value to set for the parameter Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor. Creates Field ComparisonOperator Parameter clause. The value to compare with is retrieved from the passed in field object. Field used in the comparison expression The persistence info object for the field Operator to use in the comparison Value to set for the parameter Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Implements the IPredicate ToQueryText method. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. Writes the additional data a derived type has to the writer specified. The writer. Reads the additional a derived type has from the reader's XML data. The reader is positioned at the 'predicate' element. The reader. Initializes the class. Returns the field's value to use: if the field is a PK field AND it is changed, use the DbValue value, otherwise the currentvalue Field used in the comparison expression (SelfServicing). if this object was constructed using a non-selfservicing constructor. Field used in the comparison expression (IEntityFieldCore). Gets / sets persistenceInfo for field When a value is set for this property and this object was created using a selfservicing constructor. Operator to use in the comparison Value to set for the parameter Gets / sets caseSensitiveCollation flag. If set to true, the UPPER() function (or db specific equivalent) is applied to the field, IF the value specified is a string value. You can use this to do a case insensitive compare on a case sensitive database. Default: false FieldFullTextSearchPredicate class. CONTAINS(IEntityField(Core), Parameter) (f.e. CONTAINS(Foo, @Foo) )
FREETEXT(IEntityField(Core), Parameter) (f.e. FREETEXT(Foo, @Foo) )
SqlServer specific.
On SqlServer 2005, also multi-field CONTAINS/FREETEXT predicates are supported.
This predicate isn't supported for in-memory filtering.
CTor CTor The entity fields to include in the CONTAINS/FREETEXT fieldlist. List can contain EntityField or EntityField2 field objects. operatore to use pattern (incl. full text search commands) SqlServer 2005 specific. To set the object alias for the fields, use the field object's method SetObjectAlias instead CTor The entity fields to include in the CONTAINS/FREETEXT fieldlist. List can contain EntityField or EntityField2 field objects. operatore to use pattern (incl. full text search commands) Flag to make this expression add NOT to itself SqlServer 2005 specific. To set the object alias for the fields, use the field object's method SetObjectAlias instead CTor SelfServicing specific Field to compare operatore to use pattern (incl. full text search commands) CTor SelfServicing specific Field to compare operatore to use pattern (incl. full text search commands) Flag to make this expression add NOT to itself CTor SelfServicing specific Field to compare operatore to use pattern (incl. full text search commands) Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor SelfServicing specific Field to compare operatore to use pattern (incl. full text search commands) Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself CTor Adapter specific Field to compare The persistence info for the field operatore to use pattern (incl. full text search commands) CTor Adapter specific Field to compare The persistence info for the field operatore to use pattern (incl. full text search commands) Flag to make this expression add NOT to itself CTor Adapter specific Field to compare The persistence info for the field operatore to use pattern (incl. full text search commands) Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor Adapter specific Field to compare The persistence info for the field operatore to use pattern (incl. full text search commands) Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Flag to make this expression add NOT to itself Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Implements the IPredicate ToQueryText method. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Writes the additional data a derived type has to the writer specified. The writer. Reads the additional a derived type has from the reader's XML data. The reader is positioned at the 'predicate' element. The reader. Deserializes the field list. The reader. Initializes the class Inits the class. The entity fields. The pattern. The operator to use. if set to true [negate]. if set to true [self servicing]. The object alias. Returns true if the target of this predicate is a list of fields instead of a single field. Field used in the comparison expression (SelfServicing). if this object was constructed using a non-selfservicing constructor or when the predicate was constructed with a fieldslist. Field used in the comparison expression (IEntityFieldCore). Gets / sets persistenceInfo for field When a value is set for this property and this object was created using a selfservicing constructor. Gets / sets the pattern to use in a Field LIKE Pattern clause. Gets / sets operatorToUse Gets / sets persistenceInfosFieldsList Gets / sets the entity fields to include in the CONTAINS/FREETEXT fieldlist. List can contain EntityField or EntityField2 field objects. SqlServer 2005 specific Implementation of a LIKE predicate expression, using the following formats: IEntityField(Core) LIKE Parameter (f.e. Foo LIKE @Foo ) A specified pattern will be set as the parameters value. CTor CTor for Field LIKE Pattern. Field to compare with the LIKE operator Pattern to use in the LIKE expression CTor for Field LIKE Pattern. Field to compare with the LIKE operator Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Pattern to use in the LIKE expression CTor for Field LIKE Pattern. Field to compare with the LIKE operator Pattern to use in the LIKE expression Flag to make this expression add NOT to itself CTor for Field LIKE Pattern. Field to compare with the LIKE operator Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Pattern to use in the LIKE expression Flag to make this expression add NOT to itself CTor for Field LIKE Pattern. Field to compare with the LIKE operator The persistence info object for the field Pattern to use in the LIKE expression CTor for Field LIKE Pattern. Field to compare with the LIKE operator The persistence info object for the field Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Pattern to use in the LIKE expression CTor for Field LIKE Pattern. Field to compare with the LIKE operator The persistence info object for the field Pattern to use in the LIKE expression Flag to make this expression add NOT to itself CTor for Field LIKE Pattern. Field to compare with the LIKE operator The persistence info object for the field Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Pattern to use in the LIKE expression Flag to make this expression add NOT to itself Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Implements the IPredicate ToQueryText method. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. Writes the additional data a derived type has to the writer specified. The writer. Reads the additional a derived type has from the reader's XML data. The reader is positioned at the 'predicate' element. The reader. Initializes the class Field used in the comparison expression (SelfServicing). if this object was constructed using a non-selfservicing constructor. Field used in the comparison expression (IEntityFieldCore). Gets / sets persistenceInfo for field When a value is set for this property and this object was created using a selfservicing constructor. Gets / sets the pattern to use in a Field LIKE Pattern clause. if this predicate is used in in-memory filtering, this pattern can also be a regular expression, though in that case, don't use % characters but normal regular expression characters. If this pattern is a regular expression, set the flag PatternIsRegEx to true. If PatternRegEx is false, the value of Pattern is considered a normal string with the standard LIKE syntaxis (i.e. with % as wildcard). Gets or sets a value indicating whether the string specified in Pattern is a regular expression (true) or not (false). Only used for in-memory filtering, ignored when predicate is used in database filters. Gets / sets caseSensitiveCollation flag. If set to true, the UPPER() function (or db specific equivalent) is applied to the field. Default: false Gets / sets the escape character to use for the pattern. By default this field is null, so no ESCAPE clause is emitted. Class which is used to specify a FROM clause directive for a SQL query, e.g. a table/view hint or a temporal table predicate. Initializes a new instance of the class. Clones this instance. Converts this instance to a ready to use SQL fragment The creator object to use. The parameters created during the process. Will be null if no parameters are created. Gets or sets the alias of the element this directive has to be applied on. Gets or sets the type of the directive. Gets or sets the directive to apply to the element. Arguments should be specified with {n} specifications, like BETWEEN {0} AND {1}. Gets the arguments for the directive (optional) GroupByCollection class which is used to collect EntityField(2) instances which are used for the GROUP BY clause in a retrieval query. When a group by collection is specified in a retrieval query, all fields in the resultset have to be in this collection. Generic CTor Initializes a new instance of the class. The field to add to the groupbycollection. Adds the range of IEntityFieldCore fields to the groupbycollection. The fields to add to this groupbycollection. Adds the passed in entity field instance to the list. entity fields can be added just once. If the field is already in the collection, the index of the field in the list is returned. entity field instance to add Index of added field in the list. Removes the passed in entity field instance. Finds the object to remove using value compare. entity field instance to remove Inserts the field passed in on index specified. entity field to insert index on which the field should be inserted If the field is already added. Removes the IEntityField(2) instance at index specified from the collection. the index of the field to remove Checks if the field is in the list. Does a value compare, not an object reference compare. entity field to check for presence. true if a similar field is found in the collection, false otherwise. Gets the index of the specified field in the list. field to get the index of -1 if not found, index otherwise Returns the IEntityFieldCore part of the field at position index index of field to return the IEntityFieldCore portion of the IEntityFieldCore part of the field at position index Returns the IFieldPersistenceInfo part of the field at position index index of field to return the IFieldPersistenceInfo portion of the IFieldPersistenceInfo part of the field at position index Sets the IFieldPersistenceInfo part of the field at position index. Adapter specific. The field persistence info object to set index of field to set the persistence info of Retrieves a ready to use text representation for the groupby collection string which is usable as the argument for the GROUP BY clause in a query Emits expressions on fields instead of the field names, if applicable. Retrieves a ready to use text representation for the groupby collection. If set to false (default), it will emit the expression of a field in the groupbycollection instead of the fieldname. string which is usable as the argument for the GROUP BY clause in a query Replaces the field at the index specified with the field passed in The new field. The index. Gets the enumerator. enumerator for this collection Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Inits the class. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Deserializes the having clause. The reader. Deserializes the fields. The reader. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. Indexer in the collection. The amount of items currently stored in the IGroupByCollection Gets/sets the predicate expression which forms the having clause for this group by collection. Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. The list of parameters created when the Predicate was translated to text usable in a query. Only valid after a succesful call to ToQueryText Predicate class which allows in-memory filters to perform a predicate on one or more related entities. The entity this predicate is applied on has to have a member property with the name specified. Each element in that member (or the member itself, in case of a single instance) will be interpreted with the specified filter. The result of that interpretation is used together with the MemberOperator specified what the result of this predicate will be: true or false, in which case the entity this predicate is applied on is accepted (true) or not (false). Meant for in-memory filtering. Can't be used in database targeting filters. Initializes a new instance of the class. Name of the member of the entity this predicate is applied on, on which filter has to be applied. The operator to use. The filter to apply to elements of the member (or the member itself in case of a single instance). Initializes a new instance of the class. Name of the member of the entity this predicate is applied on, on which filter has to be applied. The operator to use. The filter to apply to elements of the member (or the member itself in case of a single instance). If true, the result of the MemberPredicate will be negated prior to return. Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Writes the additional data a derived type has to the writer specified. The writer. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Gets / sets memberName, which is the name of the member of the entity this predicate is applied on, on which filter has to be applied. Gets / sets operatorToUse Gets / sets the filter to apply to elements of the member (or the member itself in case of a single instance). Utility class which operates on numeric values and which applies arithmetic operations. This class couldn't be done with generics, because Microsoft didn't implement a where clause facility to specify operators, so it's impossible to apply operators like + or - onto generic typed parameters. Start method for the arithmetic operation interpreters. From here the type specific versions are called. The left operand value. The operator to use. The right operand value. Performs an arithmetic operation on the operands passed in. The operator executed is the operator of this expression. left operand The operator to use. right operand result of the arithmetic operation Performs an arithmetic operation on the operands passed in. The operator executed is the operator of this expression. left operand The operator to use. right operand result of the arithmetic operation Performs an arithmetic operation on the operands passed in. The operator executed is the operator of this expression. left operand The operator to use. right operand result of the arithmetic operation Performs an arithmetic operation on the operands passed in. The operator executed is the operator of this expression. left operand The operator to use. right operand result of the arithmetic operation Performs an arithmetic operation on the operands passed in. The operator executed is the operator of this expression. left operand The operator to use. right operand result of the arithmetic operation Performs an arithmetic operation on the operands passed in. The operator executed is the operator of this expression. left operand The operator to use. right operand result of the arithmetic operation Performs an arithmetic operation on the operands passed in. The operator executed is the operator of this expression. left operand The operator to use. right operand result of the arithmetic operation Performs an arithmetic operation on the operands passed in. The operator executed is the operator of this expression. left operand The operator to use. right operand result of the arithmetic operation Performs an arithmetic operation on the operands passed in. The operator executed is the operator of this expression. left operand The operator to use. right operand result of the arithmetic operation Performs an arithmetic operation on the operands passed in. The operator executed is the operator of this expression. left operand The operator to use. right operand result of the arithmetic operation Abstract base implementation of the IPredicate interface. CTor Retrieves a ready to use text representation of the contained Predicate. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects Operator overload for the '&' operator, to concatenate predicates together. Predicate expression containing: leftHandSide AND righthandside Operator overload for the '|' operator, to concatenate predicates together Predicate expression containing: leftHandSide OR righthandside Operator overload for the ! operator, to negate the passed in predicate. Right hand side. passed in predicate with the negate flag toggled Creates a new IPredicate instance from the information currently pointed at by the reader specified. The reader. filled IPredicate instance. Writes the additional data a derived type has to the writer specified. The writer is positioned at the 'predicate' element. The writer. Reads the additional a derived type has from the reader's XML data. The reader is positioned at the 'predicate' element. The reader. Serializes the predicate as xml to the writer specified. The writer. Deserializes the predicate data on the xml reader into a predicate instance The reader. Serializes the predicate as xml to the writer specified. The writer. Deserializes the predicate data on the xml reader into a predicate instance The reader. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. By default this method throws a NotSupported exception. It is only implemented on predicates which can be used for in-memory filtering. Interprets the implementing class on the entity passed in. true if the predicte resolves to true for this entity, false otherwise This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). The PredicateType of this instance. Used to determine the instance nature without a lot of casting. Gets / sets instanceType The list of parameters created when the Predicate was translated to text usable in a query. Only valid after a succesful call to ToQueryText Flag for setting the Predicate to negate itself, i.e. to add 'NOT' to its result. Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Gets / sets selfServicing, a flag to signal if this predicate is constructed using a selfservicing constructor (field is of type IEntityField) Default: false; Implementation of the IPredicateExpression interface. CTor. This empty constructor is not recommended when adding this instance directly to another PredicateExpression. CTor. Initial IPredicate implementing object for this PredicateExpression CTor operand one of the expression operator of the expression operand two of the expression Gets a list of all framework objects (fields, expression objects etc.) which are located in this IPredicate instance. E.g. a FieldCompareValuePredicate will return a list with 1 IEntityFieldCore instance: the field to compare. If no framework elements are present in the predicate, the base implementation is used, which returns an empty list. This routine is used to gather information for Linq queries. List with 0 or more framework objects IPredicateExpression instances return a list of the elements in the predicate expression, which can be predicateexpressions as well so it's not recursive. Adds an IPredicate implementing object to the PredicateExpression. This can be a Predicate derived class or a PredicateExpression. If no object is present yet in the PredicateExpression, no operator is added, otherwise the object is added with an 'And'-operator. The IPredicate implementing object to add the PredicateExpression on which this method is called, for command chaining Adds an IPredicate implementing object to the PredicateExpression with an 'Or'-operator. The object added can be a Predicate derived class or a PredicateExpression. If no objects are present yet in the PredicateExpression, the operator is ignored. The IPredicate implementing object to add When predicateToAdd is null the PredicateExpression on which this method is called, for command chaining Adds an IPredicate implementing object to the PredicateExpression with an 'And'-operator. The object added can be a Predicate derived class or a PredicateExpression. If no objects are present yet in the PredicateExpression, the operator is ignored. The IPredicate implementing object to add When predicateToAdd is null the PredicateExpression on which this method is called, for command chaining Implements the IPredicate ToQueryText method. Retrieves a ready to use text representation of the contained PredicateExpression. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained Predicate. if set to true, it will allow aggregate functions to be applied to fields. The contained Predicate in textual format. When IPredicate.DatabaseSpecificCreator is not set to a valid value. Clears this instance. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Interprets this predicate on the passed in entity The entity to interpret this predicate on true if the predicate interpretation resolves to true, otherwise false. By default this method throws a NotSupported exception. It is only implemented on predicates which can be used for in-memory filtering. Writes the additional data a derived type has to the writer specified. The writer. Reads the additional a derived type has from the reader's XML data. The reader is positioned at the 'predicate' element. The reader. Deserializes the elements. The reader. Adds the predicate. The predicate to add. The operator to use. Gets the predicate expression element at the index specified Gets the amount of predicate expression elements in this predicate expression. This is including all operators. Simple wrapper class which wraps a predicate and allows logic to work with that predicate differently because it's seen as a correlation predicate, which means e.g. inheritance hierarchy relationships shouldn't be added because of elements inside this predicate expression. Initializes a new instance of the class. Initializes a new instance of the class. To add. Initializes a new instance of the class. operand one of the expression operator of the expression operand two of the expression Implementation of the IPredicateExpressionElement interface CTor CTor The type of the Element. The contents of the Element Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Deserializes the contents as predicate. The reader. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. The type of the Element. The contents of the Element Small class which wraps a predicate so it can be placed in an IExpression element, like a scalar query expression or dbfunction call. Initializes a new instance of the class. Necessary for deserialization. Initializes a new instance of the class. The predicate to wrap. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression instance The reader. Retrieves a ready to use text representation of the contained expression. The contained expression in textual format. When IExpression.DatabaseSpecificCreator is not set to a valid value. Retrieves a ready to use text representation of the contained expression. if set to true, it will allow aggregate functions to be applied to fields. The contained expression in textual format. When IExpression.DatabaseSpecificCreator is not set to a valid value. The list of parameters created when the Expression was translated to text usable in a query. Only valid after a succesful call to ToQueryText Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Gets the left expression operand. Set by the constructor used. Gets the right expression operand. Set by the constructor used. Can be null Gets the operator of the expression. Not valid (ExOp.None) if RightOperand is null. Set by the constructor used. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression instance The reader. Gets the wrapped predicate. PrefetchPath class, which specifies a prefetch path to fetch related entities during a fetch. SelfServicing specific. The default value for the 'UseRootMaxLimitAndSorterInPrefetchPathSubQueries' flag. This is also a configurable setting in the config file: add a line to the config file's appSettings section: useRootMaxLimitAndSorterInPrefetchPathSubQueries and specify a value of true or false. Default is false. Static CTor CTor the entity type enum value for the entity this path is for. CTor the entity type enum value for the entity this path is for. Clears this instance Adds the specified element to the path. The PrefetchPathElement to add the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement Additional sort clauses to be added added to the sortexpression already in the PrefetchPathElement the element added, so chaining of commands is possible When the elementToAdd is a node definition which is already added to this path. Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement Additional sort clauses to be added added to the sortexpression already in the PrefetchPathElement The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the element added, so chaining of commands is possible When the elementToAdd is a node definition which is already added to this path. Sets the graph level. The level. Returns an enumerator that iterates through the instance. An for the instance. Indexer in the prefetch path Returns the number of elements in this path Returns the capacity of the collection Indexer in the prefetch path The EntityType enum value for the entity which is the root type of this path. Set in the constructor Gets or sets the graph level. PrefetchPath class, which specifies a prefetch path to fetch related entities during a fetch. Adapter specific. The default value for the 'UseRootMaxLimitAndSorterInPrefetchPathSubQueries' flag. This is also a configurable setting in the config file: add a line to the config file's appSettings section: useRootMaxLimitAndSorterInPrefetchPathSubQueries and specify a value of true or false. Default is false. Static CTor CTor the entity type enum value for the entity this path is for. CTor the entity type enum value for the entity this path is for. Clears this instance Adds the specified element to the path. The PrefetchPathElement to add the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add The entity factory to use to produce the related entities. the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement The entity factory to use to produce the related entities. the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement The entity factory to use to produce the related entities. the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement Additional sort clauses to be added added to the sortexpression already in the PrefetchPathElement the element added, so chaining of commands is possible Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement Additional sort clauses to be added added to the sortexpression already in the PrefetchPathElement The entity factory to use to produce the related entities. the element added, so chaining of commands is possible When the elementToAdd is a node definition which is already added to this path. Adds the specified element to the path. The PrefetchPathElement to add Maximum amount of items to fetch of the set of entities specified by the element. Additional predicate expression to be added to the filter already in the PrefetchPathElement Additional relations to be added to the relationcollection already in the PrefetchPathElement Additional sort clauses to be added added to the sortexpression already in the PrefetchPathElement The entity factory to use to produce the related entities. The list of IEntityField2 objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the element added, so chaining of commands is possible When the elementToAdd is a node definition which is already added to this path. Sets the graph level. The level. Returns an enumerator that iterates through the instance. An for the instance. Indexer in the prefetch path Returns the number of elements in this path Returns the capacity of the collection Indexer in the prefetch path The EntityType enum value for the entity which is the root type of this path. Set in the constructor Gets or sets the graph level. PrefetchPathElement class. CTor. Creates a new instance. Retrieval collection. Relation. Destination entity type. To fetch entity type. Max amount of items to return. Sorter. Filter. Filter relations. Name of the property the entities fetched by the definition of this path element are stored. The type of relation between the entity to fetch and the entity which will hold the entity to fetch Gets the hash code. Compares the object passed in. Performs a compare on Property name, destination entity type and tofetch entity type Obj. The subpath containing path elements to retrieve in the ToFetch entity of this PrefetchPathElement. Can be empty. The entity collection to fill (and to use to retrieve the entities to fetch). After the fetch, this collection contains the entities to merge with the instances of the parent entity. The subpath containing path elements to retrieve in the ToFetch entity of this PrefetchPathElement. Can be empty. The entity collection to fill (and to use to retrieve the entities to fetch). After the fetch, this collection contains the entities to merge with the instances of the parent entity. The relation between the destination (parent) entity and the entity to fetch with this path element The EntityType enum value for the entity the entities to fetch are to be stored in. Set in the constructor The EntityType enum value for the entity to fetch defined by this path element. Set in the constructor The maximum amount of entities to set per destination instance. The sort expression to sort the entities per destination instance. The filter predicate expression to fetch the ToFetch entities. Initially this is set in the constructor. Add additional predicates to this predicate expression. The relations to use in the filters. Initially this is an empty collection, as the fetches use subqueries. Add additional relations to this relation collection to have multi-entity filters. The name of the property which is the destination for the entities fetched by the definition of this path element. The type of relation between the entity to fetch and the entity which will hold the entity to fetch Gets or sets the graph level. Gets / sets the list of IEntityFieldCore objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The flag to switch on (true) or off (false, default) the usage of the max limit and sorter used to fetch the root of the path in subqueries. If true, the root limit and sorter is added to the subquery filtering on the root entities, which can lead to more optimal queries. Some queries/databases can suffer from this, so only set this to true if required. Default is false, use with care. Setting is ignored for prefetch path elements which are in sub paths Gets or sets a value indicating whether the query should use its parent's caching directive (false, default) or should bypass the parent's caching directive and always fetch the query from the database (true). PrefetchPathElement2 class. CTor. Creates a new instance. Retrieval collection. Relation. Destination entity type. To fetch entity type. Max amount of items to return. Sorter. Filter. Filter relations. Name of the property the entities fetched by the definition of this path element are stored. The type of relation between the entity to fetch and the entity which will hold the entity to fetch Gets the hash code. Compares the object passed in. Performs a compare on Property name, destination entity type and tofetch entity type Obj. The subpath containing path elements to retrieve in the ToFetch entity of this PrefetchPathElement. Can be empty. The entity collection to fill (and to use to retrieve the entities to fetch). After the fetch, this collection contains the entities to merge with the instances of the parent entity. The subpath containing path elements to retrieve in the ToFetch entity of this PrefetchPathElement. Can be empty. The entity collection to fill (and to use to retrieve the entities to fetch). After the fetch, this collection contains the entities to merge with the instances of the parent entity. The relation between the destination (parent) entity and the entity to fetch with this path element The EntityType enum value for the entity the entities to fetch are to be stored in. Set in the constructor The EntityType enum value for the entity to fetch defined by this path element. Set in the constructor The maximum amount of entities to set per destination instance. The sort expression to sort the entities per destination instance. The filter predicate expression to fetch the ToFetch entities. Initially this is set in the constructor. Add additional predicates to this predicate expression. The relations to use in the filters. Initially this is an empty collection, as the fetches use subqueries. Add additional relations to this relation collection to have multi-entity filters. The factory to use during the fetch of the entities defined by this path element. If this property is not set, the entity factory in the RetrievalCollection is used. Use this property to override the default factory, The name of the property which is the destination for the entities fetched by the definition of this path element. The type of relation between the entity to fetch and the entity which will hold the entity to fetch Gets or sets the graph level. Gets / sets the list of IEntityFieldCore objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The flag to switch on (true) or off (false, default) the usage of the max limit and sorter used to fetch the root of the path in subqueries. If true, the root limit and sorter is added to the subquery filtering on the root entities, which can lead to more optimal queries. Some queries/databases can suffer from this, so only set this to true if required. Default is false, use with care. Setting is ignored for prefetch path elements which are in sub paths Gets or sets a value indicating whether the query should use its parent's caching directive (false, default) or should bypass the parent's caching directive and always fetch the query from the database (true). Bucket class which contains all the parameters for formulating a set fetch query. Initializes a new instance of the class. Initializes a new instance of the class. The page number, from the actual public API Size of the page, from the actual public API. The max number of items to return, from the actual public API. Initializes a new instance of the class. The page number, from the actual public API Size of the page, from the actual public API. The max number of items to return, from the actual public API. The filter bucket to initialize the filter/relations properties with. CTor which accepts literal elements. Used to pass elements directly to the query engine. Clones this instance using a memberwise clone and also creates usable clones inside the clone returned of the relations and filtertouse objects, so the original can be re-used. if set to true always clones this instance even if it's a local copy If this already is a local copy, it will return itself, not a clone. It will make sure filters and relations are not null in that case. Sets the dbspecific creator property for the elements inside this object which need it. If creator is null, the creator property is reset for these elements Clones this instance. Determines the type converters to run during a projection fetch. Adds the specified query parameters as a unioned query to this instance. Enables / disables the artificial aliasing for target per entity relations. This method is used to enable the artificial aliasing of entities which are in a hierarchy of TargetPerEntity and which are in the relations of this collection. This is switched on for dyn/typedlist fetches to be sure dyn/typedlists with fields from multiple entities in the same inheritance hierarchy will be retrievable properly, as they need aliasing under the hood but if the developer didn't alias the entities, the query will fail because the supertype(s) aren't joined multiple types. if set to true, enable artificial aliasing, otherwise false (default). Artificial aliasing is disabled by default Sets the cache parameters in the query specified to the cache related parameters of this parameters object. The query. Determines the allow duplicates value Gets or sets the excluded / included fields list. Gets or sets the collection to fetch. Gets or sets the filter to use. Gets or sets the relations to use. Gets or sets the sorter to use. Gets or sets the group by to use. Gets or sets a value indicating whether [allow duplicates]. Gets or sets the rows to skip. Gets or sets the rows to take. Gets or sets the prefetch path to use. Gets / sets the set of query hints to be used for the query created from these parameters. Can be empty. Gets or sets the fields for query. To obtain an array for query production, always call , as this property will return null if this instance was created with the CTor accepting an array of fields. Setting this property to a non-null value will reset the array of fields passed to a ctor of this instance as this property takes precedence. Gets the fields for the query as an array. This is equivalent to calling GetAsEntityFieldCoreArray on FieldsForQuery, however this property will cache the results and will return the same array every time. It can be this property returns a valid array while FieldsForQuery returns null. This is the case if the CTor accepting an array of fields was used to construct this object. Always use this property to obtain the array for query production. Gets or sets the field persistence infos for query. The query parameters of the queries which are unioned with the query represented by this query. Gets or sets a value indicating whether this instance is a local copy. If true, it's ok to modify it along the way to a query. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is Gets the FilterToUse as predicate expression. Gets the filter + relations as bucket. Gets or sets a value indicating whether the resultset should be cached. Gets or sets how long the resulset as a cached resultset should be placed in the cache. if set to true it will replace an existing cached set with the one specified. Gets or sets the tag the resultset should be cached under. By default this is the empty string (no tag) if set to true it will perform a DBNull to null conversion on the row passed to the projector. Only specify this to true if the projector deals with object arrays to the outside. In all other cases make the projectors already convert the DBNull values. Gets or sets the aliases of entities already type filtered. The aliases in this set have already received a type filter, and all fields with the same alias can be skipped for type filtering in the pipeline further. Can be null. The optional tag for the SQL query/queries to relate SQL strings in an RDBMS with an origin. Gets whether there are relations specified in this parameters object (true) or not (false) Gets whether there are sort clauses specified in this parameters object (true) or not (false) Gets whether there are group by elements specified in this parameters object (true) or not (false) Gets whether there is a predicate expression specified as filter and if so that it contains elements (true) or not (false). Gets whether there is at least one unioned query specified (true) or not (false). Class which is used to stack relation objects between several entities to build a complete join path CTor Initializes a new instance of the class. IEntityRelation instance to add Initializes a new instance of the class. IDynamicRelation instance to add Initializes a new instance of the class. IEntityRelation instance to add Hint to signal the join type for this relation. Overrules obeyWeakRelations, except when the hint is JoinHint.None. Initializes a new instance of the class. IEntityRelation instance to add the alias for the end entity in the relation (Customer.Relations.OrderUsingCustomerID: Order is end entity). Alias is case sensitive Hint to signal the join type for this relation. Overrules obeyWeakRelations, except when the hint is JoinHint.None. Adds the passed in IEntityRelation instance to the list. IEntityRelation instance to add the added relation in the list, so you can chain commands on 1 line Adds the passed in IEntityRelation instance to the list. IEntityRelation instance to add Hint to signal the join type for this relation. Overrules obeyWeakRelations, except when the hint is JoinHint.None. the added relation in the list, so you can chain commands on 1 line Adds the passed in IEntityRelation instance to the list, under the alias specified for the end entity. The start entity gets no alias. The weakness of the relation is considered based on the ObeyWeakRelations setting. IEntityRelation instance to add the alias for the end entity in the relation (Customer.Relations.OrderUsingCustomerID: Order is end entity). Alias is case sensitive the added relation in the list, so you can chain commands on 1 line when aliasRelationEndEntity is an empty string, null or otherwise unusable alias (contains spaces) Adds the passed in IEntityRelation instance to the list, under the alias specified for the end entity and will consider the relation's weakness based on the hint value. The start entity gets no alias. IEntityRelation instance to add the alias for the end entity in the relation (Customer.Relations.OrderUsingCustomerID: Order is end entity). Alias is case sensitive Hint to signal the join type for this relation. Overrules obeyWeakRelations, except when the hint is JoinHint.None. the added relation in the list, so you can chain commands on 1 line when aliasRelationEndEntity is an empty string, null or otherwise unusable alias (contains spaces) Adds the passed in IEntityRelation instance to the list, under the aliases specified and will consider the relation's weakness based on the hint value. The start entity gets no alias. IEntityRelation instance to add the alias for the start entity in the relation (Customer.Relations.OrderUsingCustomerID: Customer is start entity). Alias is case sensitive the alias for the end entity in the relation (Customer.Relations.OrderUsingCustomerID: Order is end entity). Alias is case sensitive Hint to signal the join type for this relation. Overrules obeyWeakRelations, except when the hint is JoinHint.None. the added relation in the list, so you can chain commands on 1 line when aliasRelationEndEntity or aliasRelationStartEntity are an empty string, null or otherwise unusable alias (contains spaces) Adds the passed in relation to this collection The relation to add. the added relation Removes all items from the . Adds the passed in IDynamicRelation instance to the list IDynamicRelation to add the added relation in the list, so you can chain commands on 1 line. Adds the range of IRelation objects stored in c to this collection. Collection with IRelation objects to add Adds the passed in IRelation instance to the list at position index. IRelation instance to add Index to add the relation to. Removes the passed in IRelation instance. Only the first instance will be removed. IRelation instance to remove Gets per alias specified in a relation all entity names covered by that alias. This means that if an entity in a relation is based on multiple entities (through inheritance) it will return all entity names the entity is based on, from the actual entity to the root of the hierarchy path and every entity name in between. Entity names per alias multivaluehashtable: per alias (key) all entity names are stored in a uniquevaluelist. The artificial alias per entity. This collection contains per entity (key) the artificial alias (value), IF such an artificial alias has been given out. (only done with entities which are part of a hierarchy of type TargetPerEntity) Gets all derived tables in the relations inside this relation collection. List of all the derived tables in this relation collection or an empty list if none found. Converts the set of relations to a set of nested JOIN query elements using ANSI join syntaxis. Oracle 8i doesn't support ANSI join syntaxis and therefore the OracleDQE has its own join code. It uses a database specific creator object for database specific syntaxis, like the format of the tables / views and fields. The string representation of the INNER JOIN expressions of the contained relations, when ObeyWeakRelations is set to false (default) or the string representation of the LEFT/RIGHT JOIN expressions of the contained relations, when ObeyWeakRelations is set to true When the DatabaseSpecificCreator is not set when the relation set contains an error and is badly formed. For example when the relation collection contains relations which do not have an entity in common, which can happen when a bad alias is specified Converts the set of relations to a set of nested JOIN query elements using ANSI join syntaxis. Oracle 8i doesn't support ANSI join syntaxis and therefore the OracleDQE has its own join code. It uses a database specific creator object for database specific syntaxis, like the format of the tables / views and fields. The non ANSI where clause. The non ANSI root table reference. This parameter is set in UPDATE and DELETE statements where a multi-table relation filter is used. These queries wrap the joins produced with this routine in a subquery and the table used outside the subquery shouldn't be mentioned in the join list. So if this table reference is in the join list, it is skipped (however field1=field2 statements are added to link the outer table to the subquery logic). The non ANSI field suffix. For Oracle and PostGresql this is '(+)'. the string to use in the FROM clause After this calls the parameters produced are in the Parameters collection. Produces the output for the ToQueryText methods. If ansiJoins is set to false, a non-ansi variant is produced (table, table, table etc.) with a separate where clause. If ansiJoins is true, normal OUTER joins are used (INNER/LEFT/RIGHT with ON clauses). true if ansi joins (INNER/LEFT/RIGHT) should be used The non ANSI where clause. Empty if ansiJoins is set to true The non ANSI root table reference. This parameter is set in UPDATE and DELETE statements where a multi-table relation filter is used. These queries wrap the joins produced with this routine in a subquery and the table used outside the subquery shouldn't be mentioned in the join list. So if this table reference is in the join list, it is skipped (however field1=field2 statements are added to link the outer table to the subquery logic). The non ANSI field suffix. For Oracle and PostGresql this is '(+)'. the string to use in the FROM clause After this calls the parameters produced are in the Parameters collection. Adds the from clause directives specified to this collection To add. Marks all fields which refer to a joined part which is actually a derived table as a derived table referencing field. This is then later on used to correct names, if necessary. Only required for joins between a derived table and a normal relation which is implicit (i.e. a dynamic relation with just a derived table is in the collection together with a normal relation where 1 side is to be replaced with the derived table Preprocesses the relations in this relationcollection The start/end entity can have an inheritance info object with them, causing these relations to be inserted at that spot, where the additional relations for the start entity are added BEFORE the actual relation and the relations for the end entity AFTER the actual relation. the full set of relations to process Enables / disables the artificial aliasing for target per entity relations. This method is used to enable the artificial aliasing of entities which are in a hierarchy of TargetPerEntity and which are in the relations of this collection. This is switched on for dyn/typedlist fetches to be sure dyn/typedlists with fields from multiple entities in the same inheritance hierarchy will be retrievable properly, as they need aliasing under the hood but if the developer didn't alias the entities, the query will fail because the supertype(s) aren't joined multiple types. if set to true, enable artificial aliasing, otherwise false (default). Artificial aliasing is disabled by default Removes the hierarchy relations from this relationcollection. During query construction, hierarchy relations are added to this collection to make the actual relations reaching all the tables / views targeted. In prefetch paths, these relationcollections are passed on. Normally this isn't a problem, as duplicate relations are filtered out, but in an edge case with m:n with relation to the supertype, it can be this will cause a problem. To avoid this problem, the hierarchy relations have to be filtered out, as they're re-added anyway. Keeping them in this list, will cause them to crash the query processor as these 'duplicated' relations will be dangling at the end of the set but aren't necessarily connected to the full set of relations. Determines if super or sub type is in join list. The aliases already in join list. The info to examine. The alias operand. Prepares the joinable fragments from the current relation to process for query text production. The query text. The relation as entity relation. The relation as dynamic relation. if set to true [relation is dynamic relation]. The pk element. The fk element. The alias PK side. The alias FK side. The pk element reference. The fk element reference. The pk side parameters. The fk side parameters. The original alias fk side, if applicable, as specified on the relation. The original alias pk side, if applicable, as specified on the relation. true if processing should continue after this call, false otherwise. This flag is set when a single-sided dynamic relation with a derived table is determined: there's no right side so processing should stop. Adds the sub relation to the relations to return collection. To return. The aliases already in join list. The start entity alias. The end entity alias. The sub relation. The hint for joins. Determines the aliases for the elements in the relation passed in. The relation. The alias start element. The alias end element. The original alias start element. The original alias end element. Appends the parameters in toAdd to the parameters of the custom filter. To add. Inits the class. Adds the correct relation to relation collection. The collection to add to. The current relation. The relation as entity relation. The relation as dynamic relation. Determines if the relations in this collection when used in a join result in duplicate rows. true if it does, false otherwise 1:n, m:n and DynamicRelation instances with two sides are considered reasons that duplicates could occur. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Enables / disables the artificial aliasing for target per entity relations. This method is used to enable the artificial aliasing of entities which are in a hierarchy of TargetPerEntity and which are in the relations of this collection. This is switched on for dyn/typedlist fetches to be sure dyn/typedlists with fields from multiple entities in the same inheritance hierarchy will be retrievable properly, as they need aliasing under the hood but if the developer didn't alias the entities, the query will fail because the supertype(s) aren't joined multiple types. if set to true, enable artificial aliasing, otherwise false (default). Artificial aliasing is disabled by default Adds the from clause directives specified to this collection To add. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. Returns the capacity of the collection returns the number of relations in this collection Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Indexer in the collection. Gets / sets ObeyWeakRelations, which is the flag to signal the collection what kind of join statements to generate in the ToQueryText statement, which is called by the DQE. Weak relationships are relationships which are optional, for example a customer with no orders is possible, because the relationship between customer and order is based on a field in order. When this property is set to true (default: false), weak relationships will result in LEFT JOIN statements. When set to false (which is the default), INNER JOIN statements are used. Gets Custom Filter Parameters, created in ToQueryText and which are used in custom filters. Optional alias for select list fields. Used in entity fetches where the entity type to fetch has to be aliased because the source of the data is a derived table or requires aliasing because the relations used require that. If specified, all predicates referring to the entity type to fetch have to use the same alias. Gets a value indicating whether the contents of this relation collection will result in joins which result in duplicate data. This is the case if there's at least one 1:n or m:n relation. Gets from clause directives which are to be set on FROM clause elements in the resulting SQL query. IRelationPredicateBucket implementation which can be used as a single unit to pass to a data-access adapter for filtering over multi-entities. CTor Initializes a new instance of the class. The filter to use. If filterToUse is a PredicateExpression, it will be set as the initial PredicateExpression object of this RelationalPredicateBucket. In that case, adding a predicate P to this bucket's PredicateExpression object will add P to the object passed in as filterToUse. To avoid this, add the object passed in as filterToUse separately to this bucket using the Add* methods on this bucket's PredicateExpression, and then add P using the Add* methods. Initializes a new instance of the class. The relation to use. Initializes a new instance of the class. The filter to use. The relation to use. If filterToUse is a PredicateExpression, it will be set as the initial PredicateExpression object of this RelationalPredicateBucket. In that case, adding a predicate P to this bucket's PredicateExpression object will add P to the object passed in as filterToUse. To avoid this, add the object passed in as filterToUse separately to this bucket using the Add* methods on this bucket's PredicateExpression, and then add P using the Add* methods. Initializes a new instance of the class. The filter. The relation collection. If filterToUse isn't null, it will be set as the initial PredicateExpression object of this RelationalPredicateBucket. In that case, adding a predicate P to this bucket's PredicateExpression object will add P to the object passed in as filterToUse. To avoid this, add the object passed in as filterToUse separately to this bucket using the Add* methods on this bucket's PredicateExpression, and then add P using the Add* methods. create a shallow copy of this object. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. The relation collection with EntityRelation objects which is used in combination with the PredicateExpression in this bucket The predicate expression to use in combination with the Relations in this bucket. Optional alias for select list fields. Used in entity fetches where the entity type to fetch has to be aliased because the source of the data is a derived table or requires aliasing because the relations used require that. If specified, all predicates referring to the entity type to fetch have to use the same alias. Gets/Sets Relations.SelectListAlias Class which implements ISortClause, a class which forms a single sort clause, thus an order by definition defined for a single IEntityField. Initializes a new instance of the class. For deserialization CTor IEntityField to sort on the sort operator to use for this sort clause CTor IEntityField to sort on the sort operator to use for this sort clause Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. CTor IEntityFieldCore to sort on Persistence info of fieldToSort the sort operator to use for this sort clause CTor IEntityFieldCore to sort on Persistence info of fieldToSort the sort operator to use for this sort clause Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). In that case, use another overload. Sets the case sensitive collation flag and returns the sortclause instance for further command chaining new value for teh CaseSensitiveCollation flag. this instance for command chaining Sets the property to the value specified and returns itself, for command chaining in e.g. QuerySpec. value to Set this instance Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Sets the property to the value specified and returns itself, for command chaining in e.g. QuerySpec. value to Set this instance Sets the case sensitive collation flag and returns the sortclause instance for further command chaining new value for teh CaseSensitiveCollation flag. this instance for command chaining This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. Operator overload for the '&' operator to concatenate sortclauses into a sortexpression left operand right operand new sortexpression object with first the leftoperand and then the rightoperand Operator overload for the '&' operator to concatenate sortclauses into a sortexpression left operand right operand the left operand to which the right operand is added entity field to sort on. Persistence information for FieldToSort. Can be a cast of the same object, when an IEntityField is added to this sort clause The sort operator to use for this sort clause Alias for the object the field belongs to. Used to identify which entity to use when the entity is present multiple times in a relation collection. Alias has to match an alias specified in the relation collection or should be left empty if no alias is specified (or no relation collection is used). Gets / sets caseSensitiveCollation flag. If set to true, the UPPER() function (or db specific equivalent) is applied to the field. Default: false CaseSensitiveCollation is also used for in-memory sorts. If set to true, sorts in-memory will be case insensitive, otherwise sorts will be case sensitive. The default for in-memory sorts is the same as for sorts on the db: false. Gets or sets a value indicating whether the alias of the field should be emitted if it has an expression/aggregate or the full field / expression. Default is true. Set to false if the field in this sortclause isn't used in the projection and it has an expression/aggregate assigned to it. Implementation of the ISortExpression interface. This class contains the sort clauses used in IRetrievalQuery instances. CTor CTor which initially adds the passed in sort clause. This is an accelerator constructor to make code more compact. Sort clause to add. Clears this instance Adds the passed in sort clause to the list. the sort clause to add The index the sort clause was added to Inserts the passed in sort clause at the index provided. Index to insert the sortclause at the sort clause to insert Removes the given sort clause from the list. the sort clause to remove. Retrieves a ready to use text representation for the sort clauses contained in this expression. string which is usable as the argument for the ORDER BY clause in a query uses aliases for fields which have an expression and/or aggregate applied. Retrieves a ready to use text representation for the sort clauses contained in this expression. If set to false (default is true), the full field name with expression / aggregate is placed in the result string instead of the alias of the field. If set to true, aliases are used for fields with an expression and/or aggregate applied. string which is usable as the argument for the ORDER BY clause in a query Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Serializes the object as xml to the writer specified. The writer. Deserializes the object data on the xml reader into this instance The reader. Returns an enumerator that iterates through the instance. An for the instance. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. Returns the number of elements in this path Returns the capacity of the collection Indexer for this list. Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. The list of parameters created when the sortexpression was translated to text usable in a query. Only valid after a succesful call to ToQueryText Definition of a TVF call to be used in the Query api. A tvf call is implemented as a derived table definition. Initializes a new instance of the class. The fields which form the select list for the resultset of the TVF call. The alias for the derived table to use. Name of the mapped function call. The parameter values. Adapter specific version Initializes a new instance of the class. The fields which form the select list for the resultset of the TVF call. The alias for the derived table to use. Name of the mapped function call. The persistence info. The parameter values. SelfServicing specific version. Gets the persistence infos for each mapped field as array. array with for each field in this TVF call return element (the fields set) a matching persistence info object, or null if unmapped Gets the persistence infos for each parameter as array. Gets the parameter values as array. Creates a new query element from this derived table. DatabaseSpecificCreator has to be set to a value. Gets the name of the mapped function, which is the name mapped onto the real TVF. Gets or sets the TVF persistence info. Class to define the window bounds for a WindowSpecification which is used to produce an OVER() clause in a select query CTor Defines a frame from startBound PRECEDING to CURRENT ROW, using the ROWS clause The start bound of the frame Defines a frame from startBound to CURRENT ROW, using the ROWS clause The start bound of the frame Defines a frame BETWEEN startBound AND endbound FOLLOWING, using the ROWS clause The start bound of the frame the end bound of the frame in # of rows. Defines a frame BETWEEN startBound PRECEDING AND endbound, using the ROWS clause The start bound of the frame in # of rows the end bound of the frame Defines a frame BETWEEN startBound PRECEDING AND endbound FOLLOWING, using the ROWS clause The start bound of the frame in # of rows the end bound of the frame Defines a frame BETWEEN startBound AND endbound , using the ROWS clause The start bound of the frame in # of rows the end bound of the frame Defines a frame from startBound to CURRENT ROW, using the RANGE clause The start bound of the frame Defines a frame from startBound PRECEDING to CURRENT ROW, using the RANGE clause The start bound of the frame Defines a frame BETWEEN startBound AND endbound FOLLOWING, using the RANGE clause The start bound of the frame the end bound of the frame in # of rows. Defines a frame BETWEEN startBound PRECEDING AND endbound, using the RANGE clause The start bound of the frame in # of rows the end bound of the frame Defines a frame BETWEEN startBound AND endbound , using the RANGE clause The start bound of the frame in # of rows the end bound of the frame Defines a frame BETWEEN startBound PRECEDING AND endbound FOLLOWING, using the RANGE clause The start bound of the frame in # of rows the end bound of the frame Class which defines the partition of a window specification, used to produce an OVER() clause in a select query CTor Creates a WindowPartition with the expressions specified. the expressions which define the partition for the window specification Converts this instance to string fragments which are added to the query fragments container specified Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. The parameters created when this instance is converted to string. Only valid after a successful call to ToQueryFragments Gets the list of partition expressions making up this window partition. Class to define a window for an OVER() clause in a select query. CTor. Will result in an empty OVER() clause to be emitted. CTor. Will result in an OVER(PARTITION BY...) clause to be emitted Specifies the partition for the window specification. Can be null CTor Will result in an OVER(ORDER BY ...) clause to be emitted Specifies the ordering of the window specification. Required if bounds is specified on most databases. Can be null CTor. Will result in an OVER(PARTITION BY ... ORDER BY ...) clause to be emitted Specifies the partition for the window specification. Can be null Specifies the ordering of the window specification. Required if bounds is specified on most databases. Can be null CTor. Will result in an OVER(ORDER BY ... ROWS/RANGE ...) clause to be emitted Specifies the ordering of the window specification. Required if bounds is specified on most databases. Can be null Specifies the window bounds of the window specification. Can be null. CTor. Will result in an OVER(PARTITION BY ... ORDER BY ... ROWS/RANGE ...) clause to be emitted Specifies the partition for the window specification. Can be null Specifies the ordering of the window specification. Required if bounds is specified on most databases. Can be null Specifies the window bounds of the window specification. Can be null. Specifies the Partition of this instance, overwriting an existing partition specification the expressions to use for the partition this instance, for command chaining Specifies the sort expression of this instance, overwriting an existing sort expression the sort clauses forming the sort expression to use this instance, for command chaining Specifies the sort expression of this instance, overwriting an existing sort expression the sort expression to use this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame from startBound PRECEDING to CURRENT ROW, using the ROWS clause The start bound of the frame this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame from startBound to CURRENT ROW, using the ROWS clause The start bound of the frame this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame BETWEEN startBound AND endbound FOLLOWING, using the ROWS clause The start bound of the frame the end bound of the frame in # of rows. this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame BETWEEN startBound PRECEDING AND endbound, using the ROWS clause The start bound of the frame in # of rows the end bound of the frame this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame BETWEEN startBound PRECEDING AND endbound FOLLOWING, using the ROWS clause The start bound of the frame in # of rows the end bound of the frame this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame BETWEEN startBound AND endbound , using the ROWS clause The start bound of the frame in # of rows the end bound of the frame this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame from startBound to CURRENT ROW, using the RANGE clause The start bound of the frame this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame from startBound PRECEDING to CURRENT ROW, using the RANGE clause The start bound of the frame this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame BETWEEN startBound AND endbound FOLLOWING, using the RANGE clause The start bound of the frame the end bound of the frame in # of rows. this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame BETWEEN startBound PRECEDING AND endbound, using the RANGE clause The start bound of the frame in # of rows the end bound of the frame this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame BETWEEN startBound AND endbound , using the RANGE clause The start bound of the frame in # of rows the end bound of the frame this instance, for command chaining Specifies the window bounds of this instance, overwriting an existing window bounds definition. Defines a frame BETWEEN startBound PRECEDING AND endbound FOLLOWING, using the RANGE clause The start bound of the frame in # of rows the end bound of the frame this instance, for command chaining Converts this instance to a string fragment which is used in a select query string. the window specification in textual format For efficiency, there's already a leading space in front of 'OVER' Returns the partition information (can be null) Returns the sort expression (can be null) Object which will be used to create valid parameter objects, field names, including prefix/postfix characters, and conversion routines, and field names, including prefix/postfix characters. Uses the strategy pattern so the generic code can work with more than one target database. Gets the list of parameters created during string fragment creation. Only valid after a successful call to ToQueryText Implementation of the ActionQuery class. CTor Command to use CTor Connection object to use Command to use Adds the specified parameter to the set of output parameters for a dbreader exectured query. These parameters aren't part of the dbcommand, and are filled with resultsets. All parameters are expected in each resultsets returned by the dbdatareader returned when this query is executed. Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. the SequenceRetrievalQuery added Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. List with the parameter objects in the actual query which need the value returned by the execution of the command the SequenceRetrievalQuery added Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. Used to make SequenceParameters 'output' parameters. Required for Access. Default: false; the SequenceRetrievalQuery added Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. Used to make SequenceParameters 'output' parameters. Required for Access. Default: false; List with the parameter objects in the actual query which need the value returned by the execution of the command the SequenceRetrievalQuery added Produces a string representation of this query. Executes the query contained by the IQuery instance. If there was nothing to execute, 0 is returned. If a query is executed: the number of rows affected (if applicable), otherwise 0. If no query is executed: 1 (so callers won't see it as a concurrency exception) When there is no command object inside the query object, or no connection object inside the query object when an exception was caught during query execution Async variant of . Executes the query contained by the IQuery instance. The cancellation token. The number of rows affected (if applicable), otherwise 0. When there is no command object inside the query object, or no connection object inside the query object when an exception was caught during query execution Merges all data of query into this query's QueryToExecute. It moves parameters and other elements. Query is after this not usable anymore. Performs the dispose action. Flag which signals this routine if a dispose action should take place (true) or not (false) Executes the sequence queries. if set to true queries which have ExecuteSequenceCommandFirst set to true are executed, otherwise the ones which have that property set to false. The cancellation token. Executes the sequence queries. if set to true queries which have ExecuteSequenceCommandFirst set to true are executed, otherwise the ones which have that property set to false. Syncs the parameter parameter relations. Prepares the execute. true if execution should proceed, false otherwise No Command present. Nothing to execute. or No Connection present. Cannot execute command. Makes sure that output parameters which have to be filled by a reader are setup in the right set per resultset. Wires the sequence queries to transaction. Array list of ISequenceRetrievalQuery objects which are used to produce sequence values for input/output parameters in this query. Normally this collection is empty, as it is only used when the target database provider doesn't support batched queries (firebird/access/sqlce and others). Execute will wire the transaction if present. Gets the parameter parameter relations for this IActionQuery. These definitions are used for insert queries in multi-target entity inserts. Gets or sets the forced return value. If smaller than 0, the value returned by the command is used, otherwise this value. Set by DQEs which know up front the query won't return a valid return value, because batching is used. If true (Default false) it will execute the command through ExecuteReader instead of ExecuteNonQuery and will assume output parameters are part of one or more resultsets. Output parameters are expected to be added through , and are set through ordinal (so first parameter is set with value at ordinal 0). Gets the set of parameters set for the dbdatareader fill procedure. these parameters are added through and aren't part of the command. A controller for one or more action queries which have to be executed in sequence, with pre/post work performed by this object. CTor flag whether the action queries controlled by this controller are insert actions (true) or updates (false). size of the batch to execute as set by the user. The size of the queue this controller is used with an active connection. Used to create commands on the fly. Executes the queries packed into this instance, using the elements specified. the queue element to execute the query created from the queue element The type of the next element in the queue, can be null. Used to decide whether to execute the batch we're creating or not. Pair (required for async api equivalence.) Value1 being true if the execution operation was successful, false otherwise Value2 being the amount of elements saved by this action. Can be more than 1 if there were elements already collected to be packed. Executes the pending elements in the queue we collected. This is needed as this instance collects elements based on a passed in query and can decide to postpone execution (due to batching/packing). Pair (required for async api equivalence.) Value1 being true if the execution operation was successful, false otherwise Value2 being the amount of elements saved by this action. Can be more than 1 if there were elements already collected to be packed. Async variant of the queue element to execute the query created from the queue element The type of the next element in the queue, can be null. Used to decide whether to execute the batch we're creating or not. Pair (required for async api equivalence.) Value1 being true if the execution operation was successful, false otherwise Value2 being the amount of elements saved by this action. Can be more than 1 if there were elements already collected to be packed. Async variant of Pair (required for async api equivalence.) Value1 being true if the execution operation was successful, false otherwise Value2 being the amount of elements saved by this action. Can be more than 1 if there were elements already collected to be packed. Executes the elements in the elementsToRun list specified the elements to execute Pair (required for async api equivalence.) Value1 being true if the execution operation was successful, false otherwise Value2 being the amount of elements saved by this action. Can be more than 1 if there were elements already collected to be packed. Async variant of the elements to execute Pair (required for async api equivalence.) Value1 being true if the execution operation was successful, false otherwise Value2 being the amount of elements saved by this action. Can be more than 1 if there were elements already collected to be packed. Performs the work after an action query has been executed the # of rows affected by thet action query executed the query executed Checks whether the query specified can be packed with the current batch elements. A query which is packable but has a different entity type as the ones in the batch and either one has parameter-field relationships (so have sequenced pk's) isn't packable with the batch already forming If that's the case, false is returned. false if the query isn't packable with the current batch, true otherwise. Perform the work after a save (insert/update) query has been executed Packs all queries collected in the actionqueueelementswithquery structure and returns then as one packed query Packs all queries collected in the actionqueueelementswithquery structure and returns then as one packed query, by appending all commands together to one string. Unwraps the command specified if it's been wrapped by a profiler Performs the dispose action. Flag which signals this routine if a dispose action should take place (true) or not (false) Gets / sets the func which is to be called when an ExecuteActionQuery call has to be made for a query. Async variant of Gets / sets the func which is to be called when an OnSaveEntityComplete call has to be made for a query/entity Gets / sets the func which is to be called when a PerformPostEntitySaveAction call has to be made for a query/entity. Passes 'true' to 'saveSucceeded'. The DQE used in the last query. Can be null. The optional func to create an action query from the set of queries specified. If null, the default implementation is used. The active transaction. Simple class which represents an IActionQuery but doesn't do anything. You can use this to build a custom IActionQuery implementation without the necessity to implement the whole interface. Action query which contains multiple action queries which have to be executed in the order in which they're stored. Used for multi-target entities, like saving an inherited entity in a target-per-entity hierarchy. Creates a new instance. Async variant of . Executes the query contained by the IQuery instance. The cancellation token. The number of rows affected (if applicable), otherwise 0. When there is no command object inside the query object, or no connection object inside the query object when an exception was caught during query execution Adds the action query passed in. Query. Produces a string representation of this batch action query. Executes all action queries in this batchactionquery, in the order in which they were added. The number of rows affected (if applicable) of all queries executed combined, otherwise 0. When there is no command object inside one or more query objects, or no connection object inside the query object when an exception was caught during query execution Adds a new to the collection of . An output parameter can be stored once in the collection. The in the relationship. The Parameter in the relationship. The type converter to use, if applicable (can be null) The ParameterFieldRelation added Allows parameter values to be null Adds a new to the collection of . An output parameter can be stored once in the collection. The in the relationship. The Parameter in the relationship. The type converter to use, if applicable (can be null) if set to true it's allowed that the parameter value to sync with the field can be null. If false and the parameter value is null, an ORMBadSequenceException will be thrown The ParameterFieldRelation added Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. the SequenceRetrievalQuery added Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. List with the parameter objects in the actual query which need the value returned by the execution of the command the SequenceRetrievalQuery added Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. Used to make SequenceParameters 'output' parameters. Required for Access. Default: false; the SequenceRetrievalQuery added Adds a new sequence retrieval query to this query The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. Used to make SequenceParameters 'output' parameters. Required for Access. Default: false; List with the parameter objects in the actual query which need the value returned by the execution of the command the SequenceRetrievalQuery added Sets the command text to the text specified The command text. Adds the parameter to the query's command. The parameter to add. Adds the parameters to the query's command. The parameters to add. Adds the output parameter value for synchronization with the enclosed DbParameter, after the query has been executed. The value as parameter value. Reflects the output values of output parameters in parameter values, if any. BatchActionQuery doesn't support ParameterValues. Use ActionQuery instead Reflects the output values in related fields for all actionqueries in this batchactionquery. Wires the command of this query with the transaction passed in. the transaction to wire the command with Sets the command timeout. Timeout interval, in seconds. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Performs the dispose action. Flag which signals this routine if a dispose action should take place (true) or not (false) Gets the actionQueries set in this batch action query object. Gets the sequence retrieval queries. Not implemented in BatchActionQueries. Gets or sets the connection for this action query object. Get will return the connection of the first action query stored. Set will set the connection on all actionquery objects. Gets or sets the command. Not implemented on Batch action query objects. Use the indexer instead. Gets the parameters of all queries. Gets the parameter field relations. Gets or sets the ActionQuery at the specified index. Gets the number of IActionQueries in this query. Gets the parameter parameter relations for this IActionQuery. These definitions are used for insert queries in multi-target entity inserts. Gets / sets quitOnPartlyFailure Gets / sets the ExceptionInfoRetriever object to retrieve db specific info from a db specific exception. Gets or sets the forced return value. If smaller than 0, the value returned by the command is used, otherwise this value. Set by DQEs which know up front the query won't return a valid return value, because batching is used. Ctor for multiple action queries packed together into one class. Func to create dbcommands. If null, the connection is used to create a command Ctor used for a single IActionQuery instance to be represented by a packed query, e.g. because it's a BatchedActionQuery itself, or has a sequenced query so it can't be packed into another query. the queue element the query is constructed from the action query to use as the query for this packed action query. No other queries are added to it. Adds the specified pair to the list of queries represented by this instance. Performs the dispose action. Flag which signals this routine if a dispose action should take place (true) or not (false) The list of queries represented by this packed action query, used for doing postprocessing. The actial query to execute for this packed action query. This query is either the only query in this packed query or a new query created from the IActionQUery instances in the representedqueueelementswithquery list. Abstract query class for the various query objects in the framework. CTor Command to use CTor Connection object to use Command to use Will walk all instances of this query and reflect the parameter values in the related fields. Only output parameters are taken into account. Used by Insert queries which retrieve Identity / sequence values back from the database after a succesful insert. Reflects the output values of output parameters in parameter values, if any. Overloaded ToString implementation Returns a complete textual representation of the command stored. Overloaded ToString implementation if set to true it will return the query including parameter values. If false, it will only emit the SQL statement. Returns a complete textual representation of the command stored. Adds the parameter to the query's command. The parameter to add. Adds the parameters to the query's command. The parameters to add. Adds a new to the collection of . An output parameter can be stored once in the collection. The in the relationship. The Parameter in the relationship. The type converter to use, if applicable (can be null) The ParameterFieldRelation added Allows parameter values to be null Adds a new to the collection of . An output parameter can be stored once in the collection. The in the relationship. The Parameter in the relationship. The type converter to use, if applicable (can be null) if set to true it's allowed that the parameter value to sync with the field can be null. If false and the parameter value is null, an ORMBadSequenceException will be thrown The ParameterFieldRelation added Wires the command of this query with the transaction passed in. the transaction to wire the command with Sets the command text to the text specified The command text. Sets the command timeout. Timeout interval, in seconds. Adds the output parameter value for synchronization with the enclosed DbParameter, after the query has been executed. The value as parameter value. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Performs the dispose action. Flag which signals this routine if a dispose action should take place (true) or not (false) Merges the passed in elements in toMerge into this instance. It's up to the caller to remove the elements from the set passed in. Gets the exception info using the info retriever set to this query object. The ex. Emits the traceable object as text to the output if set to true it will emit verbose information, otherwise it will only emit info-level information. The connection object to use with the The command used for this query. The list of parameters used in the . List with the instances for the relations between entity fields and output parameters. Implementation of the RetrievalQuery class. CTor Command to use CTor Connection object to use Command to use Executes the query contained by the IQuery instance. The connection has to be opened before calling Execute(). The behavior setting to pass to the ExecuteReader method. An open, ready to use IDataReader instance When there is no command object inside the query object, or no connection object inside the query object or the connection is closed. Advances the returned datareader to the right resultset described by ResultsetNumber, if possible. If there are less resultsets than ResultsetNumber describes, the last resultset found is returned Executes the query contained by the IQuery instance as a scalar query. the value returned by the scalar execution of the query Caches the current row of the datareader as-is in the cached resultset. Called when the consumer is done with the resultset read. Call this method to signal that the retrievalquery can cache its resultset, if required. Async variant of . Executes the query contained by the IQuery instance. The connection has to be opened before calling Execute(). The behavior setting to pass to the ExecuteReader method. The cancellation token. An open, ready to use IDataReader instance When there is no command object inside the query object, or no connection object inside the query object or the connection is closed. Advances the returned datareader to the right resultset described by ResultsetNumber, if possible. If there are less resultsets than ResultsetNumber describes, the last resultset found is returned Async variant of . Executes the query contained by the IQuery instance as a scalar query. The cancellation token. the value returned by the scalar execution of the query Moves the reader specified to desired resultset. To return. The cancellation token. Initializes the cached resultset object to receive rows. Requires an active reader being present If this retrievalquery has its QueryTag set to a value, this method will first insert the QueryTag as a comment in the CommandText of its DbCommand and then execute it, after which it will reset the commandtext to its original value. Moves the reader specified to desired resultset. To return. Pulls the reader from cache if required. Performs pre-execute checks and throws exceptions if some expected elements are not of the values they should be. No Command present. Nothing to execute. or No Connection present. Cannot execute command. or The Connection is not in the prefered condition 'Open'. Cannot execute command. Gets / sets the flag which signals fetch code to use client side (i.e. in code) limitation logic and it should not rely on the amount of rows returned for row limitations. This flag is set by DQEs if DISTINCT can't be used but row limitations are required and TOP is thus not reliable. Default: false. If true, ManualRowsToTake is the amount to read. Flag to tell the object fetcher to use manual paging. This is required when DISTINCT is required however due to DISTINCT violating types it can't be applied to the query. This then causes duplicates in the resultset, which shouldn't be there and thus causing pages with much lesser data. Only set by a DQE, normally false. Only valid when RequiresClientSidePaging is set to true. Required to calculate the actual page start. Only valid when RequiresClientSidePaging is set to true. Required to calculate the actual page start. Flag to tell the object fetcher to use manual distinct filtering, as the DISTINCT command couldn't be applied. Used to tell paging wrappers to set RequiresClientSidePaging. Gets or sets the resultset number to retrieve. This is a 1-based number (so first resultset is numbered '1', which is also the default). If set to 2 or higher, Execute will call NextResult() on the datareader till the required resultset is reached or NextResult returns false. If set to 0 or lower, the value is ignored. Gets or sets a value indicating whether the resultset should be cached. Gets or sets how long the resulset as a cached resultset should be placed in the cache. if set to true it will replace an existing cached set with the one specified. Gets a value indicating whether name overwriting has to take place (false) or not (true). Is true when this query was created from a proc call where name overwriting was already applied. Gets or sets the tag the resultset should be cached under. By default this is the empty string (no tag) Class for sequence retrieval queries. Sequence retrieval queries are scalar queries (returning a value) which are used to retrieve the actual / to use sequence value in systems which do not support batched queries. Normally every DQE will batch the sequence retrieval query into the INSERT query as a batched query, however some systems do not support this and the only solution is the SequenceRetrievalQuery. Used for Access, Firebird and other systems. SequenceRetrievalQueries can be added to IActionQuery instances and will use the IActionQuery object's connection object. Initializes a new instance of the class. Initializes a new instance of the class. The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. Initializes a new instance of the class. The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. List with the parameter objects in the actual query which need the value returned by the execution of the command Initializes a new instance of the class. The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. Used to make SequenceParameters 'output' parameters. Required for Access. Default: false; List with the parameter objects in the actual query which need the value returned by the execution of the command ToString representation of Sequence query, used in Trace logs. Returns a that represents this instance. if set to true [verbose]. A that represents this instance. Adds the sequence parameter. To add. this instance Executes the scalar query contained in this object. (Executed with ExecuteScalar()) Expects that the command can be executed without problems. Will store its value in the sequence parameters after execution When there is no command object set when an exception was caught during query execution Async variant of . Executes the scalar query contained in this object. (Executed with ExecuteScalar()) Expects that the command can be executed without problems. The cancellation token. When there is no command object set when an exception was caught during query execution Will store its value in the sequence parameters after execution Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Performs the dispose action. Flag which signals this routine if a dispose action should take place (true) or not (false) Converts the scalar to right type and sets the parameter. The scalar value. Emits the traceable object as text to the output if set to true it will emit verbose information, otherwise it will only emit info-level information. The Scalar command used to retrieve the used/to use sequence value. This command will be executed as a scalar query and depending on ExecuteSequenceCommandFirst it will be executed before or after the actual query. Flag to signal if SequenceRetrievalCommand has to be executed before (true) or after (false) the actual query in this ActionQuery object. List with the parameter objects in the actual query which need the value returned by the execution of the command Used to make SequenceParameters 'output' parameters. Required for Access. Default: false; Base class for DAO classes which are generated. The parameterised prefetch path threshold. This threshold is used to determine when the prefetch path logic should switch to a subquery or when it should use a WHERE field IN (value1, value2, ... valueN) construct, based on the # of elements in the parent collection. If that # of elements exceeds this threshold, a subquery is constructed, otherwise field IN (value1, value2, ...) construct is used. The default value is 50. On average, this is faster than using a subquery which returns 50 elements. Use this to tune prefetch path fetch logic for your particular needs.

This threshold is also used to determine if paging is possible. A page size bigger than this threshold will disable the paging functionality when using paging + prefetch paths.
Testing showed that values larger than 300 will be slower than a subquery. This setting is a global setting, so will affect all database actions after setting it to a new value.

Special thanks to Marcus Mac Innes (http://www.styledesign.biz) for this optimization code.
CTor for TypedListDAO CTor Inheritance info provider to use. The persistence information provider to use. Dqe to use. Type of inheritance. Name of the entity. Entity factory. Reads the data of an entity into the specified EntityFields object and returns that object. Which data is read is determined using the passed in Primary Key field(s). If specified, it also processes the prefetch path. The entity to fetch. Contained data will be overwritten. A containing transaction, if caller is added to a transaction, or null if not. the PrefetchPath which defines the graph of objects to fetch. The context to fetch the prefetch path with. The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. When fieldsToFetch is null Adds the given fields to the database as a new entity. The EntityField data to use for the insert. A containing transaction, if caller is added to a transaction, or null if not. true if the addition was succesful, false otherwise When fields is null Updates an existing entity using the given fields. The EntityField data to use for the update A containing transaction, if caller is added to a transaction, or null if not. true if the update was succesful, false otherwise When fields is null Updates an existing entity using the given fields. The EntityField data to use for the update A containing transaction, if caller is added to a transaction, or null if not. Predicate expression, meant for concurrency checks in an Update query true if the update was succesful, false otherwise When fields is null Reads the data of the entity passed in, and returns that object. Which data is read is determined using the set Primary Key field(s). If specified, it also processes the prefetch path. The entity to fetch. Contained data will be overwritten. A containing transaction, if caller is added to a transaction, or null if not. Select filter. the PrefetchPath which defines the graph of objects to fetch. The context to fetch the prefetch path with. The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. Performs the polymorphic entity fetch for the entity type of this DAO. It will produce an entity of that type or a subtype of that type, based on the values retrieved, or an empty entity if not found. The passed in fields object has its PK fields filled, which are used to produce a PK filter. Containing transaction. Fields required for PK construction Context to use for fetch The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. New entity with the data filtered by the passed in PK filter, or an empty entity if not found. Entity can be of type produced by the set entity factory (which produces entities of the type this DAO is for) or a subtype. Deletes an entity from the persistent storage. Which entity is deleted is determined from the passed in EntityFields object. The EntityField data to use for the deletion A containing transaction, if caller is added to a transaction, or null if not. Predicate expression, meant for concurrency checks in a delete query. Can be null. true if the delete was succesful, false otherwise When fields is null Executes the passed in retrievalquery and returns an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. The reader behavior to set. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The reader behavior to set. The max number of items to return. Specify 0 to return all elements If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The reader behavior to set. The max number of items to return. Specify 0 to return all elements The sort clauses. The group by clause. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The reader behavior to set. The parameters. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is in progress, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The max number of items to return. Specify 0 to return all elements If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The max number of items to return. Specify 0 to return all elements The sort clauses. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The fields to use to build the query. The filter. The relations. The max number of items to return. Specify 0 to return all elements The sort clauses. The group by clause. If set to true, allow duplicates in the resultset, otherwise it will emit DISTINCT into the query (if possible). The page number. Size of the page. Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The parameters. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. The fields in projection, which are used to determine the type converters to use. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. The type converters to use for the query. The key is the index in the result row, the value is the type converter to run on that value. These type converters have to run prior to the projectors will run. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is if set to true it will perform a DBNull to null conversion on the row passed to the projector. Only specify this to true if the projector deals with object arrays to the outside. In all other cases make the projectors already convert the DBNull values. The type converters to use for the query. The key is the index in the result row, the value is the type converter to run on that value. These type converters have to run prior to the projectors will run. Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the specified destination set. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The destination to which instances of T will be added. The retrieval query. If true, the projection code used will perform implicit type conversions using a slower pipeline. If false, it will use optimized projection logic which assumes the value at ordinal n is of the expected type. Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The reader which points to the first row of a resultset Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. The resultset won't be cached in the resultset cache. To cache the resultset, use the overload which accepts the IRetrievalQuery executed Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The reader which points to the first row of a resultset the query object executed which produced the reader. Pass the executed query object to make sure resultset caching is possible. Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will occur if the passed in executedQuery is setup to cache its resultset. Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is specified, the command is wired to the transaction and executed inside the transaction. A containing transaction if caller is added to a transaction, or null of not. The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open Type of the return elements, one for each row The open reader to project the active resultset of List of instances of T, one for each row in the resultset of reader Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will not occur. To use resultset caching, use the overload which accepts an IRetrievalQuery Projects the current resultset of the passed in datareader using the value projectors and the projector specified. The reader will be left open Type of the return elements, one for each row The open reader to project the active resultset of the query object executed which produced the reader. Pass the executed query object to make sure resultset caching is possible. List of instances of T, one for each row in the resultset of reader Use this overload together with FetchDataReader if your datareader contains multiple resultsets, so you have fine-grained control over how you want to project which resultset in the datareader. Resultset caching will occur if the passed in executedQuery is setup to cache its resultset. Retrieves in the calling Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. Collection to fill with the entity objects retrieved The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The EntityFactory to use when creating entity objects during a GetMulti() call. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in the calling Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. Collection to fill with the entity objects retrieved The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The EntityFactory to use when creating entity objects during a GetMulti() call. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. the PrefetchPath which defines the graph of objects to fetch. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in the calling entity collection object all entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. It will also prefetch all related objects defined in the prefetchpath specified. A containing transaction, if caller is added to a transaction, or null if not. Collection to fill with the entity objects retrieved The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The EntityFactory to use when creating entity objects during a GetMulti() call. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. the PrefetchPath which defines the graph of objects to fetch. true if succeeded, false otherwise Retrieves in the calling Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. Collection to fill with the entity objects retrieved The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The EntityFactory to use when creating entity objects during a GetMulti() call. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. the PrefetchPath which defines the graph of objects to fetch. The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in the calling Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. The EntityFactory to use when creating entity objects during a GetMulti() call. The parameters. true if succeeded, false otherwise Retrieves entities of the type this dao is for in a datatable which match the specified filter. It will always create a new connection to the database. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. a filled datatable if succeeded, false otherwise Retrieves entities of the type this dao is for in a datatable which match the specified filter. It will always create a new connection to the database. The maximum number of items to return with this retrieval query. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. The page number to retrieve. The page size of the page to retrieve. a filled datatable if succeeded, false otherwise Retrieves entities of the type this dao is for in a datatable which match the specified filter. It will always create a new connection to the database. The maximum number of items to return with this retrieval query. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. The page number to retrieve. The page size of the page to retrieve. a filled datatable if succeeded, false otherwise Retrieves the results of the query specified into the tableToFill. The fields used to produce the query or tableToFill. The table to fill. The query to use. The transaction to use. true if succeeded, false otherwise Used with stored procedure calling IRetrievalQuery instances to fill a typed view mapped onto a resultset. Be sure to call Dispose() on the passed in query, as it's not disposed in this method. Retrieves rows in the datatable provided which match the specified filter, containing the fields specified. It will always create a new connection to the database. IEntityFields implementation which forms the definition of the resultset to return. The datatable to fill with the rows retrieved The order by specifications for the sorting of the resultset. If null is specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. Flag to allow duplicate rows or not The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. true if succeeded, false otherwise Retrieves rows in the datatable provided which match the specified filter, containing the fields specified. It will always create a new connection to the database. IEntityFields implementation which forms the definition of the resultset to return. The datatable to fill with the rows retrieved The maximum number of items to return with this retrieval query. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. If null is specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. Flag to allow duplicate rows or not The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in the calling Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. The EntityFactory to use when creating entity objects during a GetMulti() call. The parameters. true if succeeded, false otherwise Internal version used for prefetch path fetching. This method alters the relations and filter objects in a hierarchical fetch to make sure the additional relations for hierarchical fetches are returned to the caller so they can be re-used in a recursive fetch like a prefetch path fetch. Retrieves in the passed in entity collection object all entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. Collection to fill with the entity objects retrieved The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct to total query. the PrefetchPath which defines the graph of objects to fetch. The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The page number to retrieve. The page size of the page to retrieve. Retrieves in the passed in entity collection object all entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. The parameters. Retrieves in the passed in entity collection object all entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. The parameters. BUG in call chain: QueryParameters passed in isn't a clone, while it's ordered to be altered. Internal version used for prefetch path fetching. This method alters the relations and filter objects in a hierarchical fetch to make sure the additional relations for hierarchical fetches are returned to the caller so they can be re-used in a recursive fetch like a prefetch path fetch. Retrieves entities of the type produced by the set entityfactory, in a datatable which match the specified filter. It will always create a new connection to the database. The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. The parameters. a filled datatable if succeeded, false otherwise Retrieves rows in the datatable provided which match the specified filter, containing the fields specified. It will always create a new connection to the database. The datatable to fill with the rows retrieved The transaction to use. The parameters. true if succeeded, false otherwise Performs the polymorphic entity fetch for the entity type of this DAO. It will produce an entity of that type or a subtype of that type, based on the values retrieved, or an empty entity if not found. The passed in filter, is a filter to be used to filter out the entity to fetch. Containing transaction. Filter. Context to use for fetch The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. New entity with the data filtered by the passed in PK filter, or an empty entity if not found. Entity can be of type produced by the set entity factory (which produces entities of the type this DAO is for) or a subtype. Deletes from the persistent storage all entities which match with the specified filter, formulated in the predicate or predicate expression definition, of the type and subtypes of the entity owning this DAO. A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to delete. Number of entities affected, if the used persistent storage has rowcounting enabled. Not supported for deleting entities which are part of a TargetPerEntity hierarchy Deletes from the persistent storage all 'Employee' entities which match with the specified filter, formulated in the predicate or predicate expression definition. A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to delete. The set of relations to walk to construct the total query. Number of entities affected, if the used persistent storage has rowcounting enabled. Not supported for deleting entities which are part of a TargetPerEntity hierarchy Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. IEntity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to update. Number of entities affected, if the used persistent storage has rowcounting enabled. Use the returned value to determine if the update succeeded (value > 0) Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. IEntity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to update. Set of relations to walk to construct the total query Number of entities affected, if the used persistent storage has rowcounting enabled. Use the returned value to determine if the update succeeded (value > 0) Executes the expression defined with the field in the fields collection specified, using the various elements defined. The expression is executed as a scalar query and a single value is returned. IEntityFields instance with a single field with an expression defined and eventually aggregates A containing transaction, if caller is added to a transaction, or null if not. filter to use The relations to walk The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. the value which is the result of the expression defined on the specified field Executes the expression defined with the field in the fields collection specified, using the various elements defined. The expression is executed as a scalar query and a single value is returned. IEntityFields instance with a single field with an expression defined and eventually aggregates A containing transaction, if caller is added to a transaction, or null if not. filter to use The relations to walk The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. Allow duplicates in the resultset. the value which is the result of the expression defined on the specified field Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields instance with a single field with an expression defined and eventually aggregates A containing transaction, if caller is added to a transaction, or null if not. filter to use The relations to walk The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. the number of rows in the set defined by the query elements passed in Gets the number of rows returned by a query for the fields specified, using the filter and groupby clause specified. IEntityFields instance with a single field with an expression defined and eventually aggregates A containing transaction, if caller is added to a transaction, or null if not. filter to use The relations to walk The list of fields to group by on. When not specified or an empty collection is specified, no group by clause is added to the query. A check is performed for each field in the selectList. If a field in the selectList is not present in the groupByClause collection, an exception is thrown. Allow duplicates in the resultset. the number of rows in the set defined by the query elements passed in Executes the specified plain SQL query using this DAO. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Executes the passed in action query and, if not null, runs it inside the passed in transaction. ActionQuery to execute. A containing transaction if caller is added to a transaction, or null of not. execution result, which is the amount of rows affected (if applicable) Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 row. Retrieval query to execute A containing transaction if caller is added to a transaction, or null of not. The IEntityFields object to store the fetched data in The field persistence info objects used to produce the query. This array contains null for all excluded fields and is necessary for the row fetcher. Overriders of this method should pass fieldsToFill.GetAsPersistenceInfoArray() to this parameter Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 row. Retrieval query to execute A containing transaction if caller is added to a transaction, or null of not. Collection to fill with the retrieved rows. Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query The field persistence info objects used to produce the query. This array contains null for all excluded fields and is necessary for the row fetcher. Overriders of this method should pass fieldsToFill.GetAsPersistenceInfoArray() to this parameter Executes the passed in retrieval query and returns the results as a datatable using the passed in data-adapter. Retrieval query to execute The dataadapter to use to fill the datatable. Fields persistence info objects for the fields used for the query. Required for type conversion on values. DataTable with the rows requested Executes the passed in retrieval query and returns the results in thedatatable specified using the passed in data-adapter. Retrieval query to execute The dataadapter to use to fill the datatable. DataTable to fill Fields persistence info objects for the fields used for the query. Required for type conversion on values. true if succeeded, false otherwise Wires the passed in transaction to the command object of the passed in query. If no transaction is passed in, nothing is wired. Query to wire up with the passed in transaction transaction to wire to the query Executes the passed in query as a scalar query and returns the value returned from this scalar execution. a scalar query, which is a SELECT query which returns a single value A containing transaction if caller is added to a transaction, or null of not. the scalar value returned from the query. Async variant of Executes the passed in query as a scalar query and returns the value returned from this scalar execution. a scalar query, which is a SELECT query which returns a single value A containing transaction if caller is added to a transaction, or null of not. The cancellation token the scalar value returned from the query. Creates a new closed ADO.NET Connection object based on the connection string read from the *.config file of the appdomain. The connection string is stored in a key with the name defined in the constant connectionKeyString A ready to use, closed, sqlconnection object Creates a new ADO.NET Connection Conectionstring To use A ready to use, closed, ADO.NET connection object Determines which connection to use: the connection held by the passed in transaction (if any) or a new one (if no Transaction was passed in) A transaction the caller participates in. If null, the caller is not participating in a transaction A ready to use connection object Creates a new ADO.NET DataAdapter. Ready to use DbDataAdapter Creates a new ADO.NET transaction the connection to use the isolation level to use new ADO.NET transaction object. Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the entitycollection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of Calls the specified action stored procedure in the database. If a transaction is in progress, it will participate in that transaction. Stored procedure to call array of parameters to pass The transaction. The cancellation token. the number of rows affected. Async variant of . Retrieves in the calling Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. The EntityFactory to use when creating entity objects during a GetMulti() call. The parameters. The cancellation token. true if succeeded, false otherwise parameters Async variant of Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. The cancellation token. Async variant of . Creates a new Retrieval query from the elements passed in, executes that retrievalquery and projects the resultset of that query using the value projectors and the projector specified. If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The parameters. The cancellation token. parameters Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). The query to execute. The cancellation token. List of instances of T, one for each row in the resultset of queryToExecute Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is specified, the command is wired to the transaction and executed inside the transaction. A containing transaction if caller is added to a transaction, or null of not. The query to execute. List of instances of T, one for each row in the resultset of queryToExecute Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is specified, the command is wired to the transaction and executed inside the transaction. A containing transaction if caller is added to a transaction, or null of not. The query to execute. The cancellation token. List of instances of T, one for each row in the resultset of queryToExecute Async variant of . Creates a new Retrieval query from the elements passed in and executes that retrievalquery to return an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The reader behavior to set. The parameters. The cancellation token. Open, ready to use IDataReader parameters Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Async variant of . Executes the passed in retrievalquery and returns an open, ready to use IDataReader. The datareader's command behavior is set to the readerBehavior passed in. If a transaction is specified, the command is wired to the transaction. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. The reader behavior to set. The cancellation token. Open, ready to use IDataReader Advanced functionality: be aware that the datareader returned is open, and the connection used to open this datareader is also open Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into the entity passed in. The entity to load the excluded field data into. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The cancellation token. The field data is set like a normal field value set, so authorization is applied to it. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the entitycollection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The entity factory of the passed in entities collection is null. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in the entities collection passed in. The entities to load the excluded field data into. The entities have to be either of the same type or have to be in the same inheritance hierarchy as the entity which factory is set in the collection. A containing transaction, if caller is added to a transaction, or null if not. The excludedIncludedFields object as it is used when fetching the entitycollection. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The cancellation token. The entity factory of the passed in entities collection is null. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Adds the given fields to the database as a new entity. The EntityField data to use for the insert. A containing transaction, if caller is added to a transaction, or null if not. The cancellation token. true if the addition was succesful, false otherwise fields;fields can't be null When fields is null Async variant of . Updates an existing entity using the given fields. The EntityField data to use for the update A containing transaction, if caller is added to a transaction, or null if not. Predicate expression, meant for concurrency checks in an Update query The cancellation token. true if the update was succesful, false otherwise fields;fields can't be null When fields is null Async variant of . Deletes an entity from the persistent storage. Which entity is deleted is determined from the passed in EntityFields object. The EntityField data to use for the deletion A containing transaction, if caller is added to a transaction, or null if not. Predicate expression, meant for concurrency checks in a delete query. Can be null. The cancellation token. true if the delete was succesful, false otherwise fields;fields can't be null When fields is null Async variant of . Updates all entities of the same type or subtype of the entity entityWithNewValues directly in the persistent storage if they match the filter supplied in filterBucket. Only the fields changed in entityWithNewValues are updated for these fields. Entities of a subtype of the type of entityWithNewValues which are affected by the filterBucket's filter will thus also be updated. IEntity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to update. Set of relations to walk to construct the total query The cancellation token. Number of entities affected, if the used persistent storage has rowcounting enabled. Use the returned value to determine if the update succeeded (value > 0) Async variant of . Deletes from the persistent storage all 'Employee' entities which match with the specified filter, formulated in the predicate or predicate expression definition. A containing transaction, if caller is added to a transaction, or null if not. A predicate or predicate expression which should be used as filter for the entities to delete. The set of relations to walk to construct the total query. The cancellation token. Number of entities affected, if the used persistent storage has rowcounting enabled. Not supported for deleting entities which are part of a TargetPerEntity hierarchy Async variant of Executes the specified plain SQL query using this DAO. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Async variant of Executes the specified plain SQL query using this DAO. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery A containing transaction if caller is added to a transaction, or null of not. The cancellation token. The SQL query to execute. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The value returned by the executed DbCommand. In general this is the number of rows affected by the executed sqlQuery Async variant of Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the element to project each row to. A containing transaction if caller is added to a transaction, or null of not. The cancellation token. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Async variant of Executes the specified plain SQL query using this DAO and projects each row in the resultset to an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the element to project each row to. The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The cancellation token. The SQL query to execute, which returns a resultset. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. A list with 0 or more instances of T, one for each row in the resultset obtained from executing the query constructed from sqlQuery and the specified parameters Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. Uses default fetch aspects. The type of the scalar value to return. the cancellationToken A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of . Executes the specified plain SQL query using this DAO and returns the first scalar value returned as an instance of T. Every parameter value is converted into one or more parameters which have to be pre-defined in the sqlQuery. The type of the scalar value to return. the cancellationToken The fetch aspects for this query. Can be null, in which case the defaults are used. A containing transaction if caller is added to a transaction, or null of not. The SQL query to execute, which returns a scalar value. Should contain parameter names for the parameter values, or placeholders for parameter sets. See documentation for details regarding format specifics. The object containing the parameter values to use in the query. If it's an object array, parameters using ordening are assumed, otherwise for each public, non-static property, a parameter is created. The first scalar value returned by the query as an instance of T or null if the query returned a NULL. Async variant of Executes the passed in action query and, if not null, runs it inside the passed in transaction. ActionQuery to execute. A containing transaction if caller is added to a transaction, or null of not. The cancellation token. execution result, which is the amount of rows affected (if applicable) Calls the specified action stored procedure in the database. If a transaction is in progress, it will participate in that transaction. Stored procedure to call array of parameters to pass The transaction. the number of rows affected. Calls the specified retrieval stored procedure in the database. Fills the specified datatable. Will participate in the transaction if a transaction is in progress. Stored procedure to call array of parameters to specify Datatable to fill by the stored procedure The transaction. true if succeeded, false otherwise Calls the specified retrieval stored procedure in the database. Fills the specified DataSet. Will participate in the transaction if a transaction is in progress. Stored procedure to call array of parameters to specify DataSet to fill by the stored procedure The transaction. true if succeeded, false otherwise Creates the name of the correct stored procedure. The stored procedure to call. Persists the queue passed in. The queue contains ActionQueueElements and is in the right order, just save it from front to back Queue to persist. if true, the actions to perform are save actions, otherwise update actions Transaction to use. the total amount of entities saved or -1 if the persist of the queue failed It assumes a transaction, if needed, is already created and opened and passed in. All exceptions are bubbled upwards Persists the queue passed in. The queue contains ActionQueueElements and is in the right order, just save it from front to back Queue to persist. if true, the actions to perform are save actions, otherwise update actions Transaction to use. The cancellation token. the total amount of entities saved or -1 if the persist of the queue failed It assumes a transaction, if needed, is already created and opened and passed in. All exceptions are bubbled upwards Executes the passed in retrieval query and, if not null, runs it inside the passed in transaction. Used to read 1 row. Retrieval query to execute A containing transaction if caller is added to a transaction, or null of not. Collection to fill with the retrieved rows. Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query The field persistence info objects used to produce the query. This array contains null for all excluded fields and is necessary for the row fetcher. Overriders of this method should pass fieldsToFill.GetAsPersistenceInfoArray() to this parameter The cancellation token. Executes the passed in retrieval query and returns the results in thedatatable specified using the passed in data-adapter. Retrieval query to execute The dataadapter to use to fill the datatable. DataTable to fill Fields persistence info objects for the fields used for the query. Required for type conversion on values. The cancellation token. true if succeeded, false otherwise Retrieves in the calling Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. The EntityFactory to use when creating entity objects during a GetMulti() call. The parameters. The cancellation token. true if succeeded, false otherwise Internal version used for prefetch path fetching. This method alters the relations and filter objects in a hierarchical fetch to make sure the additional relations for hierarchical fetches are returned to the caller so they can be re-used in a recursive fetch like a prefetch path fetch. Async variant of Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. The fields in projection, which are used to determine the type converters to use. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is The cancellation token. Executes the passed in retrievalquery and projects the resultset using the value projectors and the projector specified. IF a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the projector. The value projectors. The projector to use for projecting a plain row onto a new object provided by the projector. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The query to execute. if set to true the projection method will perform value projections on the plain row prior to using it in the projector and will create a new object row to store the projected values in. If false, the plain row is passed on as-is if set to true it will perform a DBNull to null conversion on the row passed to the projector. Only specify this to true if the projector deals with object arrays to the outside. In all other cases make the projectors already convert the DBNull values. The type converters to use for the query. The key is the index in the result row, the value is the type converter to run on that value. These type converters have to run prior to the projectors will run. The cancellation token. Async variant of Executes the passed in retrievalquery and projects the resultset onto instances of T (each row is materialized into an instance of T). If a transaction is specified, the command is wired to the transaction and executed inside the transaction. The projection results will be stored in the specified destination set. The transaction to use, if you execute this method inside a transcation. Specify null otherwise The destination to which instances of T will be added. The retrieval query. The cancellation token. If true, the projection code used will perform implicit type conversions using a slower pipeline. If false, it will use optimized projection logic which assumes the value at ordinal n is of the expected type. Retrieves in the passed in entity collection object all entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. The parameters. The cancellation token. parameters Gets the connection string to use the connection string as set by code or in the config file. Performs the execute single row retrieval query action. This method simply calls Execute on the queryToExecute passed in. The query to execute. The commandbehavior to pass to Execute. live datareader created by the execute method Use this method to pass a different command behavior to queryToExecute.Execute(), which is necessary for ASE sybase for example, as the Sybase ASE provider has a critical bug in some versions where SingleRow doesn't work but SingleResult will. Routine which is meant to handle value read errors when GetValues is called on the passed in reader. This routine is only called when the GetValues() method on the passed in reader throws an exception. Implementors of this routine thus have to call different methods to retrieve the values for the current row. The data has to be read into the toFill array. The open datareader, positioned at the current active row array to fill with the current row's values The exception thrown by GetValues(toFill) true if the values are succesfully read, false otherwise. By default this routine returns false. If false is returned, ex is bubbled upwards by the caller. Merges the entities fetched in currentElement.RetrievalCollection with the rootEntities for a many to many relation Current element. The parameters. Root entities. the transaction we're in, if applicable. The cancellation token. Retrieves in the passed in entity collection object all entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A containing transaction, if caller is added to a transaction, or null if not. The parameters. The cancellation token. BUG in call chain: QueryParameters passed in isn't a clone, while it's ordered to be altered. Internal version used for prefetch path fetching. This method alters the relations and filter objects in a hierarchical fetch to make sure the additional relations for hierarchical fetches are returned to the caller so they can be re-used in a recursive fetch like a prefetch path fetch. Creates the stored procedure call command for the stored proc specified. The stored procedure to call. array of parameters to pass The transaction. ready to use DbCommand Fetches one row from the open data-reader and places that row into the passed in object rowDestination. rowDestination should match the format of the rows read by DataSource. Will only read the current row. The open datareader used to fetch the data The IEntityFields implementing object where the data should be stored. The field persistence info objects used to produce the query. This array contains null for all excluded fields Merges the entities fetched in currentElement.RetrievalCollection with the rootEntities for a many to many relation Current element. The parameters. Root entities. the transaction we're in, if applicable. Creates a new predicate expression which filters on the primary key fields and the set values for the given primary key fields. If no primary key fields are specified, null is returned. IEntityField collection with all the fields of the entity for which the filter has to be constructed filled in predicate expression or null if no primary key fields are specified. Creates for each entity which PK field(s) are in the passed in arraylist a new predicate expression which filters on the primary key fields of that entity and the set values for the given primary key fields. If no primary key fields are specified, null is returned. IEntityField collection with all the fields of the entity for which the filter has to be constructed ArrayList with for each entity a filled in predicate expression or null if no primary key fields are specified. PK filters are stored in the same order as entities appear in the pkfields, which is the same order in which entities are located in the hierarchy (from root to leaf) Creates the query from elements. The transaction to use. The parameters. Disposes the connection if necessary. To dispose. The containing transaction. Performs the pre get multi actions. The parameters to use. Creates the select query for get multi. The parameters. The connection to use. Adds the queue elements to transaction. The queue to persist. The transaction to use. Performs the pre persist entity actions, called from queue The entity to save. true if caller should proceed, false otherwise Performs the post persist entity actions, called from queue. if set to true [insert actions]. The transaction to use. The element. The entity to save. if set to true [was succesful]. if set to true [authorization failure occured]. During a save action an entity's update action failed. The entity which failed is enclosed. Sets the discriminator flag if required. The fields. Performs the pre query execution actions. The query to execute. The containing transaction. Performs the pre update query filter processing. The fields. The update restriction. The pk filters. The additional relations update. The entity ' + _entityName + ' doesn't have a PK defined. The update query will therefore affect all entities in the table(s), not just this entity. Please define a Primary Key field in the designer for this entity. Performs the pre delete query filter processing. The fields. The delete restriction. The pk filters. The relations. Performs the filter relationship processing. The fields. The restriction. The additional relations update. Pk fields to use Obtains the relations to use for update multi. The relations. The entity with new values as entity base. Determines if the save action specified is allowed on the entity specified. Traces failure to ORMPersistenceExecution tracer. The entity to save. if set to true [insert actions]. The persistence information provider. true if the action is allowed, false otherwise Gets the persistence information provider to use. Gets the db provider factory to use. Gets the db specific creator to use. Gets / sets the command time out (in seconds). This is a global setting, so every Command object created after you've set this property to a value will have that value as CommandTimeOut. Default is 30 seconds which is the ADO.NET default. Gets / sets entityFactory to use Gets the function mappings for the DQE related to this Dao class. These function mappings are static and therefore not changeable. Wrapper class around a DaoBase instance and an ITransaction object to call stored procedures using StoredProcedureCall instances. Initializes a new instance of the class. The DAO instance to use for data access. The transaction object. Can be null. Calls the specified action stored procedure in the database. If a transaction is in progress, it will participate in that transaction. Stored procedure to call array of parameters to pass the number of rows affected. Calls the specified retrieval stored procedure in the database. Fills the specified datatable. Will participate in the transaction if a transaction is in progress. Stored procedure to call array of parameters to specify Datatable to fill by the stored procedure true if succeeded, false otherwise Calls the specified retrieval stored procedure in the database. Fills the specified DataSet. Will participate in the transaction if a transaction is in progress. Stored procedure to call array of parameters to specify DataSet to fill by the stored procedure true if succeeded, false otherwise Gets the DB provider factory instance. ready to use Db provider factory instance Gets the db specific creator instance for the database this object targets. ready to use creator Async variant of Calls the specified action stored procedure in the database. If a transaction is in progress, it will participate in that transaction. Stored procedure to call array of parameters to pass The cancellation token. the number of rows affected. Async variant of . Fetches the excluded field batch defined by the parameters specified. The returned reader is used by the batch fetcher to merge the resultset it represents into the entities hold by the caller. The result fields. The filter. Size of the batch. The cancellation token. Creates the correct stored procedure name, i.e. with catalog / schema name replaced properly. The stored procedure to call. the stored procedure name to use in a procedure call with schemas etc. properly replaced. Fetches the excluded field batch defined by the parameters specified. The returned reader is used by the batch fetcher to merge the resultset it represents into the entities hold by the caller. The result fields. The filter. Size of the batch. General Entity Base class, which is used to inherit the Entity classes from. Global flag to control whether lazy loading should be enabled (true, default) or not (false). Setting this to false, disables normal lazy loading in entities, unless the specific 'AlwaysFetch...' flag is set for the particular navigator in the entity instance. CTor Private CTor for deserialization Converts this entity to XML, recursively. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity to XML, recursively. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entity object, including containing data. Produces the actual XML for this entity, recursively. Because it recurses through referenced entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity. the XmlDocument which will contain the node this method will create. This document is required to create the new node object Dictionary with ObjectIDs of all the objects already processed. If this entity's ObjectID is in the key list, a ProcessedObjectReference tag is emitted and the routine simply returns. The aspect flags to control the format of the XML produced The XmlNode representing this complete entity object, including containing data. Performs the actual conversion from Xml to entity data. current node which points to an entity node. ObjectID's of all entities instantiated Arraylist with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. Will not recursively save internal dirty entities. Uses, if applicable, the ConcurrencyPredicateFactory to supply the predicate to limit save activity. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. Uses, if applicable, the ConcurrencyPredicateFactory to supply the predicate to limit save activity. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Will not recursively save internal dirty entities. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if all changed fields were successfully persisted to the database, false otherwise Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Loads the data for the excluded fields specified in the list of excluded fields into this entity. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. Uses, if applicable, the ConcurrencyPredicateFactory to supply the predicate to limit delete activity. true if Delete succeeded, false otherwise When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. Predicate expression, meant for concurrency checks in a delete query. Overrules the predicate returned by a set ConcurrencyPredicateFactory object. true if Delete succeeded, false otherwise When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. The cancellation token. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. The cancellation token. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. The cancellation token. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of Saves the Entity class to the persistent storage. It updates or inserts the entity, which depends if the entity was originally read from the database. If the entity is new, an insert is done and the updateRestriction is ignored. If the entity is not new, the updateRestriction predicate is used to create an additional where clause (it will be added with AND) for the update query. This predicate can be used for concurrency checks, like checks on timestamp column values. Predicate expression, meant for concurrency checks in an Update query. Will be ignored when the entity is new. Overrules an optional set ConcurrencyPredicateFactory. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. The cancellation token. true if all changed fields were successfully persisted to the database, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Do not call this routine directly, use the overloaded version in a derived class as this version doesn't construct a local transaction during recursive save, this is done in the overloaded version in a derived class. Async variant of . Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. true if Delete succeeded, false otherwise The delete action of an entity failed, probably due to the set delete restriction provided. The entity which failed is enclosed. When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Async variant of . Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. The cancellation token. true if Delete succeeded, false otherwise The delete action of an entity failed, probably due to the set delete restriction provided. The entity which failed is enclosed. When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Async variant of . Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. Predicate expression, meant for concurrency checks in a delete query. Overrules the predicate returned by a set ConcurrencyPredicateFactory object. true if Delete succeeded, false otherwise The delete action of an entity failed, probably due to the set delete restriction provided. The entity which failed is enclosed. When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Async variant of . Deletes the Entity from the persistent storage. This method succeeds also when the Entity is not present. Predicate expression, meant for concurrency checks in a delete query. Overrules the predicate returned by a set ConcurrencyPredicateFactory object. The cancellation token. true if Delete succeeded, false otherwise The delete action of an entity failed, probably due to the set delete restriction provided. The entity which failed is enclosed. When an exception is caught during the delete process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Calls the OnFetchComplete routine, which is a protected routine. This method is used by the DaoBase multi-entity fetch logic Calls the OnSave routine, which is a protected routine. Calls the OnSaveComplete routine, which is a protected routine. Calls the create DAO instance method. Queues the auditor of this entity (if any) for commit flush in the transaction in progress. This way, entities produced by the auditor will be flushed in the transaction. If no transaction is in progress and there are entities produced by the auditor of this entity, the audit entities are flushed with a new transaction. Refetches the Entity from the persistent storage. Refetch is used to re-load an Entity which is marked "Out-of-sync", due to a save action. Refetching an empty Entity has no effect. true if Refetch succeeded, false otherwise When an exception is caught during the save process. The caught exception is set as the inner exception. Encapsulation of database-related exceptions is necessary since these exceptions do not have a common exception framework implemented. Creates the DAO instance for this type Gets the factory instance for the entity type specified from the cache. the type of the entity the factory is for Creates a new transaction object The level of isolation. The name. Transaction ready to use Performs the insert action of a new Entity to the persistent storage. The cancellation token. true if succeeded, false otherwise Performs the update action of an existing Entity to the persistent storage. true if succeeded, false otherwise Performs the update action of an existing Entity to the persistent storage. Predicate expression, meant for concurrency checks in an Update query The cancellation token. true if succeeded, false otherwise Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Enumerable with 0 or more IEntityCore objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Enumerable with 0 or more IEntityCore objects, referenced by this entity Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the DataAccessAdapter to perform recursive saves. Only 1:n related collections are returned. Enumerable with 0 or more IEntityCollectionCore objects, referenced by this entity Creates a new entity factory instance related to this entity. new IEntityFactoryCore implementing factory Removes this instance from the parent collection (if present), to which it was added through databinding ISerializable member. Does custom serialization so event handlers do not get serialized. See ISerializable See ISerialilzable Performs a 1:n lazy loading fetch for the navigator specified. The func which fetches the passed in collection Performs a single entity lazy loading action. Non-inheritance variant fetches the passed in entity Performs a single-entity lazy loading action. Inheritance variant function which returns a fetched new entity instance Sets the single related entity navigator to the value (toSet) specified. This isn't done directly, but indirecly by the opposite entity To set. The navigator name in this. Will check if the entity should refetch itself. Will use the factory pattern trick. Refetching occurs when the EntityFields are marked OutOfSync and thus not dirty. Creates entity fields object for this entity. Used in constructor to setup this entity in a polymorphic scenario. Performs the insert action of a new Entity to the persistent storage. true if succeeded, false otherwise Performs the update action of an existing Entity to the persistent storage. true if succeeded, false otherwise Performs the update action of an existing Entity to the persistent storage. Predicate expression, meant for concurrency checks in an Update query true if succeeded, false otherwise Called right before the entity's save logic is started. This is right after all entities this entity depends on are saved succesfully. Called after the entity's save routine is finished. Called right before the entity's Delete logic is started. Called after the entity's delete routine is finished. Called right before the entity's Fetch logic is started. Called after the entity's Fetch routine is finished. Called by CreateFields, after the fields object has been created, which are passed in. The created fields. Returns the value for the flag _alwaysFetch*NavigatorName*. Used for lazy loading The name of the navigator which flag to obtain the value of Sets the _alwaysFetch*Navigatorname* flag for the navigator specified to the value specified. Returns the value for the flag _alreadyFetched*NavigatorName*. Used for lazy loading The name of the navigator which flag to obtain the value of Sets the _alreadyFetched*Navigatorname* flag for the navigator specified to the value specified. If set to true, the already fetched data is reset, if newValue is false and the current value of the flag is true Deserializes the member data of this instance. Checks if lazy loading should occur for the relation passed in and the FK fields in this entity for the relation Routine is used by GetSingle... lazy loaders in selfservicing entities. The relation. Is 1:1 or m:1 relation If lazy loading should take place, true is returned, otherwise false. True is returned if the fk fields aren't null. Adds the specified entity to the transaction this entity is in, if necessary. To add. Removes the specified element from the transaction this entity is in if necessary. To remove. Gets the original entity class instance containing the same data (entity instance) as present in toGet from active context. If no active context is set, toGet is returned. To get. original entity class instance with same entity instance (data) as present in toGet, or toGet if not found or no active context is set. Handles the interfaces for current property during XML serialization. The parent document. The processed object I ds. The aspects. The entity node. The node creator. The current property descriptor. Creates the transaction manager if required. if set to true [transaction started in this scope]. The transaction manager. Determines the queues for save. The update restriction. if set to true [recurse]. The insert queue. The update queue. Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Collection with 0 or more IEntity objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Collection with 0 or more IEntity objects, referenced by this entity Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the Save logic to perform recursive saves. Only 1:n related collections are returned. Collection with 0 or more IEntityCollection objects, referenced by this entity Creates the entity factory for this type. Constructs the XML output from the object graph which has this object as the root. Writer to which the xml is written to Uses XmlFormatAspect.Compact | XmlFormatAspect.MLTextInCDataBlocks | XmlFormatAspect.DatesInXmlDataType. Calls into ReadXml(reader), which will use the document route. The reader. Gets a collection of related entities referenced by this entity which depend on this entity (this entity is the PK side of their FK fields). These entities will have to be persisted after this entity during a recursive save. Collection with 0 or more IEntity objects, referenced by this entity Gets a collection of related entities referenced by this entity which this entity depends on (this entity is the FK side of their PK fields). These entities will have to be persisted before this entity during a recursive save. Collection with 0 or more IEntity objects, referenced by this entity Gets a list of all entity collections stored as member variables in this entity. The contents of the list is used by the Save logic to perform recursive saves. Only 1:n related collections are returned. Collection with 0 or more IEntityCollection objects, referenced by this entity Returns a new ready to use factory for the type of this instance. a new ready to use factory for the type of this instance. Returns true if this entity instance is in the middle of a serialization process, for example during a WriteXml() call. For internal use only. List of IEntityField references which form the primary key. Reads/Affects .Fields.PrimaryKeyFields Gets / sets parentCollection. databinding related. Returns true if this entity instance is in the middle of a Serialization process, for example during a WriteXml() call. For internal use only. Gets the default name of the root element for xml serialization Implementation of the entity collection base class. CTor The EntityFactory to use when creating entity objects during a GetMulti() call. Private CTor for deserialization Will add a new entity to the list, will set its parent collection property so CancelEdit will remove it from the list again, and will set its flag that it is added by databinding. Do not call this method from your own code. This is a databinding ONLY method. If this collection is set to ReadOnly Sets the entity information of the entity object containing this collection. Call this method only from entity classes which contain EntityCollection members, like 'Customer' which contains 'Orders' entity collection. The entity containing this entity collection as a member variable The field the related entity has mapped onto the relation which delivers the entities contained in this collection When the in which this IEntity participates is commited, this IEntity can succesfully finish actions performed by this IEntity. This method is called by , you should not call it by yourself. When this IEntity doesn't participate in a transaction it finishes the actions itself, calling this method is not needed. When the in which this IEntity participates is rolled back, this IEntity has to roll back its internal variables. This method is called by , you should not call it by yourself. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection. Per entity type found, an entry is stored inside the destination dictionary. It will simply project every data element. The destination dictionary in which the projection result is stored. destination is cleared before a projection is performed. Creates a hierarchical projection of all the data in this view and for each type in the complete graph found starting with each entity in this view, using the viewProjections data passed in. Per entity type found, an entry is stored inside the destination dictionary. The projection data per entity type The destination dictionary in which the projection result is stored. destination is cleared before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection. Per entity type found, a new datatable is created inside destination or if one with the name of the entity is already present, that one is used. It will simply project every data element. The destination dataset in which the projection result is stored. Each DataTable has the name of the entity contained, e.g. "CustomerEntity". DataRelations are created between the data if applicable. Data in destination's datatables (if present) is removed before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection, using the collectionProjections data passed in. Per entity type found, a new datatable is created inside destination or if one with the name of the entity is already present, that one is used. The projection data per entity type The destination dataset in which the projection result is stored. Each DataTable has the name of the entity contained, e.g. "CustomerEntity". DataRelations are created between the data if applicable. Data in destination's datatables (if present) is removed before a projection is performed. Builds the collection projectors for this collection. The collection projections. Type of the entities per. Creates the hierarchical projection for the entities per type passed in into the destination specified. The collection projections. The destination. Type of the entities per. Creates the hierarchical projection for the entities per type passed in into the destination specified. The collection projections. The destination. Type of the entities per. Creates a new EntityView object of the right type on this collection with no filter nor sorter applied. new EntityView on this collection Creates a new EntityView object of the right type on this collection with the passed in filter applied The filter. new EntityView on this collection Creates a new EntityView object of the right type on this collection with the passed in filter and sorter applied to it. The filter. The sorter. new EntityView on this collection Creates a new EntityView object of the right type on this collection with the passed in filter and sorter applied to it and the dataChangeAction set to the passed in value. The filter. The sorter. The data change action to take if data in the related collection changes. new EntityView on this collection Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.). Will not recursively save entities inside the collection. Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.) If true, will recursively save the entities inside the collection Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Deletes all Entities in the IEntityCollection from the persistent storage. If this IEntityCollection is added to a transaction, the delete processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the deletes are done in a/ new Transaction. Deleted entities are marked deleted and are removed from the collection. Amount of entities deleted Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage Amount of entities affected, if the used persistent storage has rowcounting enabled. Not supported for entities which are in a hierarchy of TargetPerEntity Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage The set of relations to walk to construct the total query. Not supported for entities which are in a hierarchy of TargetPerEntity Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. Can be null, which will result in an update action which will affect all Customer entities. Amount of entities affected, if the used persistent storage has rowcounting enabled. Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. The set of relations to walk to construct the total query. Amount of entities affected, if the used persistent storage has rowcounting enabled. Loads the data for the excluded fields specified in the list of excluded fields into all the entities in this collection. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*DaoBase.ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) The maximum number of items to return with this retrieval query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The maximum number of items to return with this retrieval query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct the total query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) the PrefetchPath which defines the graph of objects to fetch. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. the PrefetchPath which defines the graph of objects to fetch. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. the PrefetchPath which defines the graph of objects to fetch. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. the PrefetchPath which defines the graph of objects to fetch. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. the PrefetchPath which defines the graph of objects to fetch. The list of IEntityField objects which have to be excluded or included for the fetch. If null or empty, all fields are fetched (default). If an instance of ExcludeIncludeFieldsList is passed in and its ExcludeContainedFields property is set to false, the fields contained in excludedIncludedFields are kept in the query, the rest of the fields in the query are excluded. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. The parameters for the query. true if succeeded, false otherwise Gets the amount of Entity objects in the database. the amount of objects found Gets the amount of Entity objects in the database, when taking into account the filter specified. the filter to apply the amount of objects found Gets the amount of Entity objects in the database, when taking into account the filter specified and the relations specified. the filter to apply The relations to walk the amount of objects found ISerializable member. Sorts the collection. Field to sort on the sort direction The comparer to use. If null, it will use the default comparer. For backwards compatibility. Converts this entity collection to XML, recursively. Uses "EntityCollection" for the rootnode name The aspect flags to control the format of the XML produced The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. Uses "EntityCollection" for the rootnode name The aspect flags to control the format of the XML produced the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity collection. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. The aspect flags to control the format of the XML produced name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML, recursively. Uses "EntityCollection" for the rootnode name The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. Uses "EntityCollection" for the rootnode name the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Converts this entity collection to XML. name of root element to use when building a complete XML representation of this entity collection. The complete outer XML as string, representing this complete entity object, including containing data. Converts this entity collection to XML. name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object The XmlNode representing this complete entitycollection object, including containing data. Will fill the entity collection and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCollection2.WriteXml() and the Xml has to be compatible with the structure of this entity collection. string with Xml data which should be read into this entity collection and its members. This string has to be in the correct format and should be loadable into a new XmlDocument without problems Will fill the entity collection and its containing members (recursively) with the data stored in the XmlNode passed in. The XmlNode has to be filled with Xml in the format written by IEntityCollection2.WriteXml() and the Xml has to be compatible with the structure of this entity collection. XmlNode with Xml data which should be read into this entity and its members. Node's root element is the root element of the entity collection's Xml data Async variant of . Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.). Will not recursively save entities inside the collection. Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Async variant of . Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.) The cancellation token. Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Async variant of . Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.) If true, will recursively save the entities inside the collection Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Async variant of . Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.) If true, will recursively save the entities inside the collection The cancellation token. Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Async variant of . Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. Amount of entities affected, if the used persistent storage has rowcounting enabled. Async variant of . Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. The cancellation token. Amount of entities affected, if the used persistent storage has rowcounting enabled. Async variant of . Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. The set of relations to walk to construct the total query. Amount of entities affected, if the used persistent storage has rowcounting enabled. Async variant of . Updates in the persistent storage all entities of the type this collection is for which have data in common with the specified entity. Which fields are updated in those matching entities depends on which fields are changed in entityWithNewValues. The new values of these fields are read from entityWithNewValues. entity instance which holds the new values for the matching entities to update. Only changed fields are taken into account A predicate or predicate expression which should be used as filter for the entities to update. The set of relations to walk to construct the total query. The cancellation token. Amount of entities affected, if the used persistent storage has rowcounting enabled. Async variant of Deletes all Entities in the IEntityCollection from the persistent storage. If this IEntityCollection is added to a transaction, the delete processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the deletes are done in a/ new Transaction. Deleted entities are marked deleted and are removed from the collection. Amount of entities deleted Async variant of Deletes all Entities in the IEntityCollection from the persistent storage. If this IEntityCollection is added to a transaction, the delete processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the deletes are done in a/ new Transaction. Deleted entities are marked deleted and are removed from the collection. The cancellation token. Amount of entities deleted Async variant of Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage The cancellation token. Not supported for entities which are in a hierarchy of TargetPerEntity Async variant of Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage Not supported for entities which are in a hierarchy of TargetPerEntity Async variant of Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage The set of relations to walk to construct the total query. Not supported for entities which are in a hierarchy of TargetPerEntity Async variant of Deletes from the persistent storage all entities of the type this collection is for which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to delete. Can be null, which will result in a query removing all entities of the type this collection is for from the persistent storage The set of relations to walk to construct the total query. The cancellation token. Not supported for entities which are in a hierarchy of TargetPerEntity Async variant of . Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. The parameters for the query. The cancellation token. true if succeeded, false otherwise parameters Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in this collection. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*DaoBase.ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Async variant of . Loads the data for the excluded fields specified in the list of excluded fields into all the entities in this collection. The excludedIncludedFields object as it is used when fetching the entity. If you used the excludedIncludedFields object to fetch only the fields in that list (i.e. excludedIncludedFields.ExcludeContainedFields==false), the routine will fetch all other fields in the resultset for the entities in the collection excluding the fields in excludedIncludedFields. The cancellation token. The field data is set like a normal field value set, so authorization is applied to it. This routine batches fetches to have at most 5*DaoBase.ParameterisedPrefetchPathThreshold of parameters per fetch. Keep in mind that most databases have a limit on the # of parameters per query. Gets the entity collection description. This string is used in verbose trace messages. It will produce "EntityCollectionBase", if the passed in switch flag is false, to prevent performance loss due to reflection activity for trace results which will never be seen. switch flag. If this flag is false, "EntityCollectionBase" will be returned Produces the actual XML for this entity collection, recursively. Because it recurses through contained entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object Hashtable with ObjectIDs of all the objects already processed. If an entity's ObjectID is in the hashtable's key list, a ProcessedObjectReference tag is emitted and the entity will not recurse further. The aspect flags to control the format of the XML produced The XmlNode representing this complete entitycollection object, including containing data. Performs the actual conversion from Xml to entity collection data. current node which points to an entity collection node. ObjectID's of all entities instantiated List with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Removes the passed in entity from the collection without notifying the entity to remove that it has been removed from this collection. To remove. Raises the list changed event, with the parameters passed in. The index. The type of change. Gets or sets a value indicating whether [surpress list changed events]. true if [surpress list changed events]; otherwise, false. Resets the CachedPkHashes. Gets / sets the DeserializationInProgress flag. Gets the entity collection description. This string is used in verbose trace messages. switch flag. Creates a dummy instance using the entity factory stored in an inherited collection. This dummy instance is then used to produce property descriptors. Dummy instance of entity contained in this collection, using the set factory. Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. The parameters. true if succeeded, false otherwise special version which is used by prefetch path code, and which modifies the relation collection and filter for hierarchical fetches Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. The parameters. The cancellation token. true if succeeded, false otherwise special version which is used by prefetch path code, and which modifies the relation collection and filter for hierarchical fetches Produces the actual XML for this entity collection, recursively. Because it recurses through contained entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity collection. the XmlDocument which will contain the node this method will create. This document is required to create the new node object Hashtable with ObjectIDs of all the objects already processed. If an entity's ObjectID is in the hashtable's key list, a ProcessedObjectReference tag is emitted and the entity will not recurse further. The aspect flags to control the format of the XML produced The XmlNode representing this complete entitycollection object, including containing data. Produces the actual XML for this entity collection, recursively. Because it recurses through contained entities, it keeps track of which objects are processed so cyclic references are not resulting in cyclic recursion and thus a crash. name of root element to use when building a complete XML representation of this entity collection. The writer to write the output to. Hashtable with ObjectIDs of all the objects already processed. If an entity's ObjectID is in the hashtable's key list, a ProcessedObjectReference tag is emitted and the entity will not recurse further. The aspect flags to control the format of the XML produced if set to true, the XML will contain the factory name, otherwise it won't. Used in Compact25 format if set to true, the start element produced is the absolute root element of the xml to produce. Performs the actual conversion from Xml to entity collection data. current node which points to an entity collection node. ObjectID's of all entities instantiated list with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Performs the actual conversion from Xml to entity collection data. The reader to read xml from. ObjectID's of all entities instantiated list with all the references to entity objects we probably do not yet have instantiated. This list is traversed after the xml tree has been processed. (not done by this routine, but by the caller) Assumes Compact25 formatted xml is present in the reader. Inserts an IEntityCore on position Index Index where to insert the Object Entity Entity2 to insert Performs the set related entity action on the passed in entity. This action is delegated to an inheritor. The entity to perform the setrelated entity action on. Performs the unset related entity action on the passed in entity. This action is delegated to an inheritor. The entity to perform the unsetrelated entity action on. Gets the entity description for the entity passed in. The entity. if true, the method will produce TEntity.GetEntityDescription, otherwise it's a no-op Clears this instance if the SuppressClearInGetMulti flag is false Creats a new DAO instance so code which is in the base class can still use the proper DAO object. Creates a new transaction object The level of isolation. The name. Transaction ready to use Creates the default entity view instance. By default it creates a new EntityView(Of TEntity) instance, passing in this collection. new entity view on this collection, to be used as the default entity view, returned by DefaultView Inits the class The EntityFactory to use when creating entity objects during a GetMulti() call. Inits the class. Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. The parameters. The cancellation token. true if succeeded, false otherwise BUG in call chain: QueryParameters passed in isn't a clone, while it's ordered to be altered. special version which is used by prefetch path code, and which modifies the relation collection and filter for hierarchical fetches Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.) If true, will recursively save the entities inside the collection The cancellation token. Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Deletes all Entities in the IEntityCollection from the persistent storage. If this IEntityCollection is added to a transaction, the delete processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the deletes are done in a new Transaction (which is created in an inherited method.) Deleted entities are marked deleted and are removed from the collection. The cancellation token. Amount of entities deleted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Saves all new/dirty Entities in the IEntityCollection in the persistent storage. If this IEntityCollection is added to a transaction, the save processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the saves are done in a new Transaction (which is created in an inherited method.) If true, will recursively save the entities inside the collection Amount of entities inserted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Deletes all Entities in the IEntityCollection from the persistent storage. If this IEntityCollection is added to a transaction, the delete processes will be done in that transaction, if the entity isn't already added to another transaction. If the entity is already in another transaction, it will use that transaction. If no transaction is present, the deletes are done in a new Transaction (which is created in an inherited method.) Deleted entities are marked deleted and are removed from the collection. Amount of entities deleted All exceptions will be bubbled upwards so transaction code can anticipate on exceptions. Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. The parameters. true if succeeded, false otherwise BUG in call chain: QueryParameters passed in isn't a clone, while it's ordered to be altered. special version which is used by prefetch path code, and which modifies the relation collection and filter for hierarchical fetches Determines the queues for save multi. if set to true [recurse]. The insert queue. The update queue. Performs the post delete multi actions. The entities to remove. Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) The maximum number of items to return with this retrieval query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. The set of relations to walk to construct the total query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. When set to null all entities will be retrieved (no filtering is being performed) the PrefetchPath which defines the graph of objects to fetch. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. the PrefetchPath which defines the graph of objects to fetch. true if succeeded, false otherwise Retrieves in this Collection object all Entity objects which match with the specified filter, formulated in the predicate or predicate expression definition, using the passed in relations to construct the total query. A predicate or predicate expression which should be used as filter for the entities to retrieve. The maximum number of items to return with this retrieval query. The order by specifications for the sorting of the resultset. When not specified, no sorting is applied. The set of relations to walk to construct the total query. the PrefetchPath which defines the graph of objects to fetch. The page number to retrieve. The page size of the page to retrieve. true if succeeded, false otherwise Gets the amount of Entity objects in the database. the amount of objects found Gets the amount of Entity objects in the database, when taking into account the filter specified. the filter to apply the amount of objects found Gets the amount of Entity objects in the database, when taking into account the filter specified and the relations specified. the filter to apply The relations to walk the amount of objects found Adds an IEntity object to the list. Entity to add Index in list Adds the range of objects passed in. Objects have to be IEntity implementing objects Collection to add Inserts an IEntity on position Index Index where to insert the Object Entity Entity to insert Remove given IEntity from the list. Entity object to remove from list. Returns true if the list contains the given IEntity Object Entity object to check. true if Entity exists in list. Returns index in the list of given IEntity object. Entity Object to check index in list. copy the complete list of IEntity objects to an array of IEntity objects. Array of IEntity Objects wherein the contents of the list will be copied. Start index to copy from Sets the entity information of the entity object containing this collection. Call this method only from entity classes which contain IEntityCollection members, like 'Customer' which contains 'Orders' entity collection. The entity containing this entity collection as a member variable The field the containing entity has mapped onto the relation which delivers the entities contained in this collection Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection, using the collectionProjections data passed in. Per entity type found, a new datatable is created inside destination. The projection data per entity type The destination dataset in which the projection result is stored. Each DataTable has the name of the entity contained, e.g. "CustomerEntity". DataRelations are created between the data if applicable. destination is cleared before a projection is performed. Creates a hierarchical projection of all the data in this collection and for each type in the complete graph found starting with each entity in this collection, using the collectionProjections data passed in. Per entity type found, an entry is stored inside the destination dictionary. The projection data per entity type The destination dictionary in which the projection result is stored. destination is cleared before a projection is performed. Creates a new EntityView object of the right type on this collection with no filter nor sorter applied. new EntityView on this collection Creates a new EntityView object of the right type on this collection with the passed in filter applied The filter. new EntityView on this collection Creates a new EntityView object of the right type on this collection with the passed in filter and sorter applied to it. The filter. The sorter. new EntityView on this collection Creates a new EntityView object of the right type on this collection with the passed in filter and sorter applied to it and the dataChangeAction set to the passed in value. The filter. The sorter. The data change action to take if data in the related collection changes. new EntityView on this collection Returns a readonly collection of entities which are flagged as dirty. This collection is determined on the fly, you can use this collection to remove dirty entities from this entity collection. Gets or sets the at the specified index. Gets the default view for this entitycollection. The returned value is a new instance every time this property is read. It's a new entity view without a filter or a sorter. The default view. Gets / sets the initial capacity of the entity collection. Gets a value indicating whether the collection is a collection of objects. true if the collection is a collection of objects; otherwise, false. Returns an that can be bound to a data source from an object that does not implement an itself. An that can be bound to a data source from the object. Constructs the XML output from the object graph which has this object as the root. Writer to which the xml is written to Uses XmlFormatAspect.Compact | XmlFormatAspect.MLTextInCDataBlocks | XmlFormatAspect.DatesInXmlDataType. Produce the schema, always return null, as the XmlSerializer object otherwise can't handle our code. Constructs an object graph with this object as the root from the xml contained by the passed in XmlReader object. Reader with xml used to produce an object graph Uses XmlFormatAspect.Compact | XmlFormatAspect.MLTextInCDataBlocks | XmlFormatAspect.DatesInXmlDataType. Xml data should have been produced with WriteXml(writer) or a similar routine which is able to produce similar formatted XML The this ITransactionalElement implementing object is participating in. Only valid if is true. If set to null, the ITransactionalElement is no longer participating in a transaction. Flag to check if the ITransactionalElement implementing object is participating in a transaction or not. The maximum number of items to return with this retrieval query. If the used Dynamic Query Engine supports it, 'TOP' is used to limit the amount of rows to return. When set to 0, no limitations are specified. The order by specifications for the sorting of the resultset when fetching it from the persistent storage. When not specified, no sorting is applied. Returns true if this collection contains dirty objects. If this collection contains dirty objects, an already filled collection should not be refreshed until a save is performed. This property is calculated in real time and can be time consuming when the collection contains a lot of objects. Use this property only in cases when the value of this property is used to do a refetch or not. Surpresses the removal of all contents of the collection in a GetMulti*() call. Used by code in related entities to prevent the removal of objects when collection properties are accessed. The EntityFactory to use when creating entity objects during a GetMulti() call or other logic which requires the creation of new entities. Gets the default view for this entitycollection. The returned value is the same instance every time this property is read. It's an entity view without a filter or a sorter. The default view. Gets or sets the entity collection which should be used as removed entities tracker. If this property is set to an IEntityCollection instance, all entities which are removed from this collection are marked for deletion and placed in this removed entities tracker collection. This collection can then later on be used to delete these entities from the database in one go. Gets the entity which contains this collection (e.g. Customer, if this collection is the Customer's Orders collection), or null if this collection isn't part of any entity. Gets or sets the removal tracker internal. Gets or sets the entity factory to use Generic class which is used for the columns in the EntityFields collection, which forms the data store of any Entity class generated by LLBLGen Pro. Initializes a new instance of the class, for deserialization purposes. For deserialization purposes Initializes a new instance of the class. The field info. The field persistence info. Initializes a new instance of the class. The field info. The field persistence info. The containing entity fields core. Initializes a new instance of the class. Name The object alias. .NET Type of the data. Use this CTor for fields mapped onto a derived table with the alias objectAlias Initializes a new instance of the class. Name The object alias. .NET Type of the data. The maximum length of the field or 0 if not relevant The precision to use or 0 if not relevant. The scale to use or 0 if not relevant. Use this CTor for fields mapped onto a derived table with the alias objectAlias Initializes a new instance of the class. The name of the field. Has to be specified The expression to apply. Initializes a new instance of the class. The name of the field. Has to be specified The expression to apply. .NET Type of the data. Initializes a new instance of the class. The name of the field. Has to be specified The expression to apply. The aggregate function to apply. Initializes a new instance of the class. The name of the field. Has to be specified The expression to apply. The aggregate function to apply. .NET Type of the data. Initializes a new instance of the class. The name. The expression to apply. The aggregate function to apply. Type of the data. The object alias. The maximum length of the field or 0 if not relevant The precision to use or 0 if not relevant. The scale to use or 0 if not relevant. Compares the given entityfield instance with this instance using a value compare with case sensitive comparer logic. this is done by comparing the name, the source schema, object and column name. If there is any mismatch, the comparisson is stopped and the result of the mismatching compare is returned. The EntityField to compare with the current value. A 32-bit signed integer that indicates the relative order of the comparands. See . Converts this EntityField to an XmlNode. The aspect flags to control the format of the XML produced the XmlDocument which will contain the node this method will return. This document is required to create the new node object The output parameter which will represent this EntityField as XmlNode Overrides the GetHashCode() method. It will return the hashcode of the value of the field as the hashcode. hashcode of the value of the field. byte[] typed fields will have all the bytes in their array added together with per byte it's multiplied with the index+1 Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Creates a deep copy of this IEntityField object A deep copy of this object Sets the entity field's ObjectAlias property to the specified value value to set The entity field object the method was called on, for command chaining Sets the field alias. The field alias. The entity field object the method was called on, for command chaining Sets the EntityField's AggregateFunctionToApply property Function to apply. The entity field object the method was called on, for command chaining Sets the Entity Field's ExpressionToToApply property Expression to to apply. The entity field object the method was called on, for command chaining Sets the entity field's OverClauseToApply property the over clause to apply to the field the entity field object the method was called on, for command chaining Sets the type convert to use. The type converter to use. Sets the actual dot net type to use. The type to use. Writes the additional elements to XML. The writer. Reads the additional elements from XML. Reader is located on an unknown element. Implementers of this method have to handle this element. The reader. Writes the definition as XML. The writer. Reads the definition from XML. Reader is positioned on first element of xml definition The reader. Operator overload for the '==' operator to produce a FieldCompareExpressionPredicate to represent leftOperand == rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '!=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand != rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate which is negated Operator overload for the '>' operator to produce a FieldCompareExpressionPredicate to represent leftOperand > rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '>=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand >= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<' operator to produce a FieldCompareExpressionPredicate to represent leftOperand < rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand <= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '==' operator to produce a FieldCompareExpressionPredicate to represent leftOperand == rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '!=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand != rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate which is negated Operator overload for the '>' operator to produce a FieldCompareExpressionPredicate to represent leftOperand > rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '>=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand >= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<' operator to produce a FieldCompareExpressionPredicate to represent leftOperand < rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '<=' operator to produce a FieldCompareExpressionPredicate to represent leftOperand <= rigthOperand Left operand. Right operand. A FieldCompareExpressionPredicate Operator overload for the '==' operator to produce a FieldCompareRangePredicate. Field to compare the values to compare with. A FieldCompareRangePredicate Operator overload for the '!=' operator to produce a FieldCompareRangePredicate. Field to compare the values to compare with. A FieldCompareRangePredicate which is negated Operator overload for the '==' operator to produce a FieldCompareValue/Null predicate. Field to compare the value to compare with. If value is null, a FieldCompareNullPredicate will be created instead. A FieldCompareNullPredicate or FieldCompareValuePredicate with the operator ComparisonOperator.Equal Operator overload for the '!=' operator to produce a FieldCompareValue/Null predicate. Field to compare the value to compare with. If value is null, a FieldCompareNullPredicate will be created instead. A FieldCompareNullPredicate or FieldCompareValuePredicate with the operator ComparisonOperator.NotEqual Operator overload for the '>' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.GreaterThan Operator overload for the '>=' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.GreaterEqual Operator overload for the '<' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.LesserThan Operator overload for the '<=' operator to produce a FieldCompareValuePredicate. Field to compare the value to compare with. A FieldCompareValuePredicate with the operator ComparisonOperator.LessEqual Operator overload for the '==' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.Equal Operator overload for the '!=' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.NotEqual Operator overload for the '>' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.GreaterThan Operator overload for the '>=' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.GreaterEqual Operator overload for the '<' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.LesserThan Operator overload for the '<=' operator to produce a FieldCompareExpression predicate. Field to compare To compare with. A FieldCompareExpressionPredicate with operator ComparisonOperator.LessEqual Operator overload for the '%' operator to produce a FieldLikePredicate. Field to compare Pattern. A FieldLikePredicate Operator overload for the '+' operator to produce an Expression which represents field + value Left operand. Value. Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents field + expression Left operand. Right operand. Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents field + field2 Left operand. Right operand Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents field + property Left operand. Right operand Expression object which represents field + value Operator overload for the '+' operator to produce an Expression which represents value + field Value. Right operand. Expression object which represents value + field Operator overload for the '+' operator to produce an Expression which represents expression + field Left operand. Right operand. Operator overload for the '*' operator to produce an Expression which represents field * value Left operand. Value. Expression object which represents field * value Operator overload for the '*' operator to produce an Expression which represents field * expression Left operand. Right operand Expression object which represents field * expression Operator overload for the '*' operator to produce an Expression which represents field * field2 Left operand. Right operand Expression object which represents field * field2 Operator overload for the '*' operator to produce an Expression which represents field * property Left operand. Right operand Expression object which represents field * field2 Operator overload for the '*' operator to produce an Expression which represents value * field Value. Right operand. Expression object which represents value * field Operator overload for the '*' operator to produce an Expression which represents expression * field Left operand. Right operand. Operator overload for the '-' operator to produce an Expression which represents field - value Left operand. Value. Expression object which represents field - value Operator overload for the '-' operator to produce an Expression which represents field - expression Left operand. Right operand Expression object which represents field - expression Operator overload for the '-' operator to produce an Expression which represents field - field2 Left operand. Right operand Expression object which represents field - field2 Operator overload for the '-' operator to produce an Expression which represents field - property Left operand. Right operand Expression object which represents field - field2 Operator overload for the '-' operator to produce an Expression which represents value - field Value. Right operand. Expression object which represents value - field Operator overload for the '-' operator to produce an Expression which represents expression - field Left operand. Right operand. Operator overload for the '/' operator to produce an Expression which represents field / value Left operand. Value. Expression object which represents field / value Operator overload for the '/' operator to produce an Expression which represents field / expression Left operand. Right operand Expression object which represents field / expression Operator overload for the '/' operator to produce an Expression which represents field / field2 Left operand. Right operand Expression object which represents field / field2 Operator overload for the '/' operator to produce an Expression which represents field / property Left operand. Right operand Expression object which represents field / field2 Operator overload for the '/' operator to produce an Expression which represents value / field Value. Right operand. Expression object which represents value / field Operator overload for the '/' operator to produce an Expression which represents expression / field Left operand. Right operand. Operator overload for the '|' operator to concatenate sortoperators to a field Field. Operator to use. new SortClause object The .NET type of the field in the DB. This value is used to convert a currentvalue back to this type using TypeConverterToUse. The name of the catalog the SourceSchemaName is located in. The name of the schema which holds . Schema is used to generate SQL on the fly. A common schema name in SqlServer is f.e. 'dbo'. The name of the source object which holds . Can be a view or a table. Used to generate SQL on the fly. The name of the corresponding column in a view or table for this entityfield. This name is used to map a column in a resultset onto the entity field. Used for update/insert operations on the column The maximum length of the value of this entityfield (string/binary data). Is ignored for entityfields which hold non-string and non-binary values. ColumnMaxLength Used for update/insert operations on the column The type of the Column mapped onto the EntityField. The value stored here is the integer representation of the enum value of the type, f.e. SqlDbType.Int or OracleType.Int16 Used for update/insert operations on the column Flag if the Column mapped onto the entityfield is nullable or not. Used for update/insert operations on the column The scale of the Column mapped onto the entityfield. Used for update/insert operations on the column The precision of the Column mapped onto the entityfield. Used for update/insert operations on the column If set to true, the Dynamic Query Engine (DQE) will assume the field is an Identity field and will act accordingly (i.e.: as the target database handles Identity fields: SqlServer will generate a new value itself, Oracle wants to have a sequence input. If is set to true, this property has to be set to the name of the sequence which supplies the value for the EntityField's corresponding table field. On SqlServer this is @@IDENTITY or SCOPE_IDENTITY() and only used when the row is succesfully inserted, however on Oracle f.e. this value is used to specify a new value and to retrieve the new value. Is undefined when is set to false. Gets the type converter to use. Only set through constructor and when a conversion is required from the .NET type returned by the ADO.NET provider and the defined .NET type for this field. Class which forms the EntityFields2 type. An EntityFields type is a collection of IEntityField objects which forms the total amount of fields for a given entity. SelfServicing specific Initializes a new instance of the class. Used for entity objects. The static data. The inheritance provider. The field persistence infos. Used for creating field objects on the fly CTor The initial amount of fields in this EntityFields collection CTor The initial amount of fields in this EntityFields collection Inheritance info provider to use. The entity field indexes. Initializes a new instance of the class. The source fields. The inheritance provider to use. The entity field indexes. Used by entity factories to create hierarchy fields objects, for query construction Returns the complete list of IEntityField objects as an array of IFieldPersistenceInfo objects. IEntityField objects implement IFieldPersistenceInfo. Array of IFieldPersistenceInfo objects Clones this instance and its contents using a deep copy. an exact, deep copy of this EntityFields object and its contents. Creates a shallow copy of this instance, which means that a new EntityFields object is created but all membervariables are kept the same. Shallow copy of this instance Clones this object to a new EntityFields object where all fields are changed and the object itself is marked dirty. Creates the field instance impl. The field info. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Expands the specified number of new cells. The number of new cells. Sets the persistence info if required. The index. The value. Converts this EntityFields object to a set of XmlNodes with all the fields as individual nodes. The aspect flags to control the format of the XML produced the XmlDocument which will contain the nodes this method will create. This document is required to create the new nodes for the fields the node the fields will have to be added to. Selfservicing specific variant of the EntityMaterializer Initializes a new instance of the class. Retrieval query to execute the factory object which can produce the entities this method has to fill. Collection to fill with the retrieved rows. The persistence information for the fields of the entity created by entityFactory Flag to signal if duplicates in the datastream should be loaded into the collection (true) or not (false) Fields used for producing the query The containing transaction. Only set when used in selfservicing The type of hierarchy. only set when used in selfservicing. Null in adapter. Handles the call on fetch complete. Only used in selfservicing To call on. Handles the call on get fetch new authorization failure result hint. To call on. Handles the call on can load entity. To call on. Handles the call validate entity after load. To call on. Handles the call on audit load of entity. To call on. toCallOn EntityView provides 'view' capabilities for an entity collection. This class supports filtering and sorting in-memory, using type safe objects. Binding an entity collection to a grid or other complex databinding control will actually make the control bind to an instance of this class. Selfservicing specific CTor entity collection which is the data-container for the data viewed through this view. CTor entity collection which is the data-container for the data viewed through this view. The sorter to apply CTor entity collection which is the data-container for the data viewed through this view. The filter to apply CTor entity collection which is the data-container for the data viewed through this view. The filter to apply The sorter to apply CTor entity collection which is the data-container for the data viewed through this view. The filter to apply The sorter to apply The data change action to take if data in the related collection changes. CTor entity collection which is the data-container for the data viewed through this view. The filter to apply CTor entity collection which is the data-container for the data viewed through this view. The filter to apply The sorter to apply CTor entity collection which is the data-container for the data viewed through this view. The filter lambda to apply The sorter to apply The data change action to take if data in the related collection changes. Copies all entities in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. New collection with all entities in this view Copies all entities starting at startIndex in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. The start index for the interval to copy to the entity collection New collection with all entities in this view Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in a datatable using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination datatable which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the projector does with the data is up to the projector. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the projector does with the data is up to the projector. if set to false, it will perform distinct filtering on all values in the projection result. Projects the data in the view onto a new set, stored in a collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The projector engine which will produce new objects in the returned list from the projection results per entity. The data is offered to the projector on a per-row projection basis, what the projector does with the data is up to the projector. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection Creates a dummy instance for the related entity collection of this view. This is done using the entityfactory of that entitycollection. Gets the property descriptor for the first sortclause. The applied sorter on this view.. Gets the at the specified index in the view Gets the related collection set for this view. The related collection. Copies all entities in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. New collection with all entities in this view Copies all entities starting at startIndex in this view to a new entity collection and returns that collection. The returned collection is of the same type as the related collection. Entities aren't copied, just references to the entities. The start index for the interval to copy to the entity collection New collection with all entities in this view Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Doesn't perform distinct filtering Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. if set to false, it will perform distinct filtering on all values in the projection result. The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Projects the data in the view onto a new set, stored in an entity collection using the property projector objects to produce the actual data. The property projector objects to produce the data for the new set. if set to false, it will perform distinct filtering on all values in the projection result. Filter to apply on every entity in this view. If the filter resolves to true, the entity is used for projection The destination entity collection which will contain the data from this view and which forms a new set. Data which is an object references is not copied by value, but is copied by reference. Determines whether this entity view contains the entity passed in. This method returns false if the entity is outside the filter, but in the related entity collection, as it's then not contained in the entity view. The entity to check True if the entity is present, otherwise false. Determines the index of the entity passed in in the entity view in filtered and sorted state. The entity to get the index of. Index of the entity in this entityview Gets the related collection set for this view. The related collection. Base class for typedlist classes in SelfServicing. SelfServicing specific Initializes a new instance of the TypedListBase class. CTor name for the datatable Protected constructor for deserialization. Fills itself with data. it builds a dynamic query and loads itself with that query. Will use no sort filter, no select filter, will allow duplicate rows and will not limit the amount of rows returned true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query. Will not use a filter, will allow duplicate rows. The maximum number of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query. Will not use a filter. The maximum number of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum number of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate which is used to filter the rows to insert in this Typed List instance true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum number of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate which is used to filter the rows to insert in this Typed List instance The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum amount of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate which is used to filter the rows to insert in this Typed List instance The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. GroupByCollection with fields to group by on. true if fill succeeded, false otherwise Fills itself with data. it builds a dynamic query and loads itself with that query, using the specified filter The maximum number of rows to return. specifying 0 means all rows are returned The order by specifications for the sorting of the resultset. When null is specified, no sorting is applied. Flag to allow duplicate rows (true) or not (false) Predicate which is used to filter the rows to insert in this Typed List instance The transaction object to use. Can be null. If specified, the connection object of the transaction is used to fill the TypedView, which avoids deadlocks on SqlServer. GroupByCollection with fields to group by on. The page number to retrieve. The page size of the page to retrieve. true if fill succeeded, false otherwise Gets the number of rows in the database for this typed list, not skipping duplicates the number of rows in the set defined by the passed in query elements Gets the number of rows in the database for this typed list. Flag to allow duplicate rows (true) or not (false) the number of rows in the set defined by the passed in query elements Gets the number of rows in the database for this typed list. Flag to allow duplicate rows (true) or not (false) The filter to apply for the count retrieval the number of rows in the set defined by the passed in query elements Gets the number of rows in the database for this typed list. Flag to allow duplicate rows (true) or not (false) The filter to apply for the count retrieval The relations for the filter to apply the number of rows in the set defined by the passed in query elements Gets the number of rows in the database for this typed list. Flag to allow duplicate rows (true) or not (false) The filter to apply for the count retrieval The relations for the filter to apply group by clause to embed in the query the number of rows in the set defined by the passed in query elements Gets an array of all row objects of type T. Array with row objects of type T Gets an array of all row objects of type T that match the filter criteria in order of primary key (or lacking one, order of addition.) The criteria to use to filter the rows. Array with row objects of type T Gets an array of all row objects of type T that match the filter criteria, in the specified sort order The filter expression. A string specifying the column and sort direction. Array with row objects of type T Gets an array of all row objects of type T that match the filter criteria, in the specified sort order that match the specified state The filter expression. A string specifying the column and sort direction. One of the values. Array with row objects of type T Return the type of the typed datarow returns the requested type Method which is called at the end of the generated BuildResultset method and which can be used to add additional fields to the fields object for the typed list, or to manipulate the field objects added to the typed list. The fields. Be sure to call fields.Expand(n) first, where n is the number of fields you want to add. Creates a new TypedList dao instance Builds the relation set for this typed list. ready to use relation set Builds the resultset fields. ready to use resultset Builds the relation set for this typed list. ready to use relation set Builds the resultset fields. ready to use resultset Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Returns the amount of rows in this typed list. Indexer of this strong typed list Class which handles calculation of the next delay period (in seconds) based on parameters contained within the class. As defaults it uses for maximumDelay: 30 seconds, for delayParameter: 2 and for delayType: RecoveryStrategyDelayType.Exponential. Initializes a new instance of the class. As defaults it uses for maximumDelay: 30 seconds, for delayParameter: 2 and for delayType: RecoveryStrategyDelayType.Exponential. Initializes a new instance of the class. The maximum delay to wait between attempts. The delay parameter. Has to be bigger than 0. Value is used with the delay calculation based on delayType Type of the delay calculation. Uses delayParameter. delayParameter has to be a value bigger than 0. Gets the next delay period. Calculates based on the delay type and the delay parameter the next delay for the attempt specified. The attempt number. The minimum of the maximum delay specified in the ctor and the calculated value. Calculates the random delay. This is the next random value in the interval [1, delayparameter]. Calculates the linear delay. This is the delayparameter. Calculates the exponential delay. This is delayParameter^attemptNumber. (in seconds) The attempt number. Calculates the custom delay. The attempt number. CustomDelayCalculatorFunc hasn't been set to a valid func. Can't calculate next delay value. Gets or sets the custom delay calculator function. Used when the delaytype is 'Custom'. Input is (a, b), where a is the attempt number (so first retry is 1, next is 2 etc.), b is the delayParameter. Base class for transient error recovery stategies. Not thread safe. Initializes a new instance of the class. Initializes a new instance of the class. The maximum number of retries. The delay calculator. delayCalculator Executes the specified toExecute func. If it fails with a transient exception it will be retried till either the maximum number of retries has been attempted or the maximum delay has been reached. the func to execute. Executes the specified toExecute func. If it fails with a transient exception it will be retried till either the maximum number of retries has been attempted or the maximum delay has been reached. The type of the result. The func to execute. the result of the execution of toExecute Executes the specified toExecute func asynchronously. If it fails with a transient exception it will be retried till either the maximum number of retries has been attempted or the maximum delay has been reached. the func to execute. The cancellation token. Executes the specified toExecute func asynchronously. If it fails with a transient exception it will be retried till either the maximum number of retries has been attempted or the maximum delay has been reached. The type of the result. The func to execute. The cancellation token. the result of the execution of toExecute Implementation of asynchronous variant of the execute method. The type of the result. The automatic execute. The cancellation token. toExecute Determines whether the specified exception is a transient exception. The exception to check. true if the exception is a transient exception and can be retried, false otherwise. The empty implementation returns false. Unwraps the exception specified. Unwrapping is attempted on any ORMException derived exception. If the exception to unwrap isn't an ORMException, it's returned as-is. The automatic unwrap. Resets this instance. Gets the collected exceptions which are caught during the execution and retry attempts of the work. Default recovery stategy which simply re-tries a failed execution of work, no matter what the error is. Initializes a new instance of the class. Initializes a new instance of the class. The maximum number of retries. The delay calculator. Determines whether the specified exception is a transient exception. The exception to check. true if the exception is a transient exception and can be retried, false otherwise. The empty implementation returns false. Specific strategy to be used with SQL Azure and also usable for local SQL Server connections. Initializes a new instance of the class. Initializes a new instance of the class. The maximum number of retries. The delay calculator. Determines whether the specified exception is a transient exception. The exception to check. true if the exception is a transient exception and can be retried, false otherwise. The empty implementation returns false. Definition of the BooleanCharYNConverter. This converter uses 'Boolean' as its core type and converts 'Y' and 'N' to and from boolean. 'Y' / 'y' is seen as 'true'. 'N' / 'n' is seen as 'false' This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: char, string
Performs the ConvertFrom. The value. value converted to bool Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (bool) ignored. ignored. An of type bool. It always returns 'true' for this converter. Definition of the BooleanNumericConverter. This converter uses 'Boolean' as its core type and converts numeric values to and from boolean. Any value other than 0 is seen as true, and 0 is seen as false. This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: Int64, Int32, Int16, Byte, SByte, UInt64, UInt32, UInt16, Decimal, Single, Double
Performs the ConvertFrom. The value. value converted to bool Value is guaranteed to be non-null Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Value is guaranteed to be non-null Creates an instance of the Type that this is associated with (bool) ignored. ignored. An of type bool. It always returns 'true' for this converter. Definition of the ByteArrayStringConverter. This converter uses 'Byte[]' as its core type and converts the byte[] to and from a string using Base64 encoding. This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: byte[]. It will use base64 encoding to convert the byte array to a string, or base64 decoding to convert a string to a byte array
Performs the ConvertFrom, which converts a string to a byte[] The value, has to be a string value converted from string to byte[]. Performs the ConvertTo which converts a byte[] to a string using base64 encoding The value, has to be a byte[] Type of the destination. value converted to destinationType, which is a string Creates an instance of the Type that this is associated with (byte[]) ignored. ignored. An of type byte[]. it returns a byte[0]. Definition of the ByteDecimalConverter. This converter uses 'Byte' as its core type and converts any decimal value to and from Byte This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: Decimal
Performs the ConvertFrom. The value. value converted to byte Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (byte) ignored. ignored. An of type byte. It always returns 0 for this converter. Definition of the ChangeTypeConverter. This converter uses the specified generic type TModel as its core type and converts values in a specified type to and from TModel, using Convert.ChangeType(). This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: any IConvertible type. Mainly used with byte, sbyte, short, int, long, ushort, uint, ulong, float, double, decimal
An IConvertible implementing type which is the 'core' type of this type converter and is the type of the value in the model element (entity, poco)
Performs the ConvertFrom. The value. value converted to bool Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (bool) ignored. ignored. An of type bool. It always returns 'true' for this converter. Definition of the CharStringConverter. This converter uses 'Char' as its core type and converts the char to and from a string. This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: string. It will use the first character of the string to convert.
Performs the ConvertFrom. The value. value converted to char. Picks the first char, ignores the rest. Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (char) ignored. ignored. An of type char. it returns Char.MinValue for this converter Definition of the DateTimeDateTimeUTCConverter. This converter uses 'DateTime' as its core type and converts the DateTime to and from a DateTime which is considered to be a date/time value in UTC format. This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: DateTime.
Performs the ConvertFrom. The value. value converted to DateTime(local time) Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (datetime) ignored. ignored. An of type datetime. It always returns DateTime.Now for this converter. Definition of the DoubleDecimalConverter. This converter uses 'Double' as its core type and converts any decimal value to and from Double This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: Decimal
Performs the ConvertFrom. The value. value converted to double Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (double) ignored. ignored. An of type double. It always returns 0.0 for this converter. Definition of the GuidByteArrayConverter. This converter uses 'Guid' as its core type and converts the Guid to and from a byte array. It uses Guid.ToByteArray, which results in a byte array containing the bytes of the Guid. This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: byte[].
Performs the ConvertFrom. The value. value converted to Guid Performs the ConvertTo. The value. Type of the destination. value converted to byte[] Creates an instance of the Type that this is associated with (Guid) ignored. ignored. Guid.Empty Definition of the GuidStringConverter. This converter uses 'Guid' as its core type and converts the Guid to and from a string (char(32)). It uses Guid.ToString("N"), which results in 32 continous digits without any separators/wrappers. This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: string.
Performs the ConvertFrom. The value. value converted to guid Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (Guid) ignored. ignored. An of type Guid. It always returns Guid.Empty for this converter. Definition of the Int16DecimalConverter. This converter uses 'Int16' as its core type and converts any decimal value to and from Int16 This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: Decimal
Performs the ConvertFrom. The value. value converted to short Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (short) ignored. ignored. An of type short. It always returns 0 for this converter. Definition of the Int32DecimalConverter. This converter uses 'Int32' as its core type and converts any decimal value to and from Int32 This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: Decimal
Performs the ConvertFrom. The value. value converted to int Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (int) ignored. ignored. An of type int. It always returns 0 for this converter. Definition of the Int64DecimalConverter. This converter uses 'Int64' as its core type and converts any decimal value to and from Int64 This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: Decimal
Performs the ConvertFrom. The value. value converted to long Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (long) ignored. ignored. An of type long. It always returns 0 for this converter. Definition of the SingleDecimalConverter. This converter uses 'Single' as its core type and converts any decimal value to and from Single This type converter is only capable of converting values, it's not usable for defining type conversions in the LLBLGen Pro designer, instead use the equivalent shipped with the designer for that.

Accepted types are: Decimal
Performs the ConvertFrom. The value. value converted to Single Performs the ConvertTo. The value. Type of the destination. value converted to destinationType Creates an instance of the Type that this is associated with (single) ignored. ignored. An of type single. It always returns 0.0f for this converter. Base class for the system type converters defined in the orm support classes. The 'core' type of the type converter (which is the model element .NET type) Initializes a new instance of the class. Converts the given object to the type of this converter. Ignored Ignored The to convert. An that represents the converted value, which is of type boolean. The conversion could not be performed. Converts the given value object to the specified type Ignored Ignored The to convert. The to convert the parameter to. An that represents the converted value. The value will be 1 if is true, otherwise 0 The parameter is . The conversion could not be performed. Performs the ConvertFrom. The value. value converted to T By default it uses Convert.ChangeType to T. Value is guaranteed to be non-null Performs the ConvertTo. The value. Type of the destination. value converted to destinationType By default it uses Convert.ChangeType. Value is guaranteed to be non-null and of type T Throws a NotSupportedException in the case of a invalid ConvertFrom action. The value. Throws a NotSupportedException in the case of a invalid ConvertTo action. Type of the destination. UnitOfWork class. Can collect actions to perform on the entities/entity collections specified. Will not perform these actions until Commit(transaction) is called. A UnitOfWork is meant to make development easier. It will not prohibit the developer to persist the actions also using other methods. Selfservicing Specific. CTor Initializes a new instance of the class. The commit order of the various blocks in the unit of work object. CTor for deserialization Info. Context. Gets the object data. The info. The context. Gets the UnitOfWorkElements with the entities which are added with AddForSave and which are new. To remove an entity, call new List with all UnitOfWorkElements with the entities which are added using AddForSave and which are new Gets the UnitOfWorkElements with the entities which are added with AddForSave and which are not new . To remove an entity, call new List with all UnitOfWorkElements with the entities which are added using AddForSave and which are not new Gets the insert queue, which is a list of ActionQueueElements(of IEntity) which have been placed in the insert queue. This queue is empty unless has been called, or Commit has been called, which calls under the hood. If this method is called after Commit, and Commit succeeded, the entities in the queue returned are saved succesfully. Calling will not clear the queues, only or Commit will. List of ActionQueueElement(of IEntity) elements with the entities in the insert queue. Gets the update queue, which is a list of ActionQueueElements(of IEntity) which have been placed in the update queue. This queue is empty unless has been called, or Commit has been called, which calls under the hood. If this method is called after Commit, and Commit succeeded, the entities in the queue returned are saved succesfully. Calling will not clear the queues, only or Commit will. List of ActionQueueElement(of IEntity) elements with the entities in the insert queue. Gets the UnitOfWorkElements with the entities which are added with AddForDelete, in a new list. To remove an entity, call new list with all UnitOfWorkElements with the entities which are added using AddForDelete Gets the UnitOfWorkCollectionElement objects with the collections which are added with AddCollectionForSave, in a new List To remove a collection, call new UnitOfWorkCollectionElementCollection with all UnitOfWorkCollectionElements with the entities which are added using AddCollectionForSave Gets the UnitOfWorkCollectionElements with the collections which are added with AddCollectionForDelete, in a new List. To remove a collection, call new List with all UnitOfWorkCollectionElements with the entities which are added using AddCollectionForDelete Adds the passed in entity for saving. No recursion will be applied during the save of this entity when the unit of work is committed. The entity to save via this unit of work true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the passed in entity for saving. No recursion will be applied during the save of this entity when the unit of work is committed. The entity to save via this unit of work Filter to apply during save (ignored when the entity is new). This restriction will be AND-ed with the restriction constructed by a ConcurrencyPredicateFactory instance in entityToSave (if applicable). true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the passed in entity for saving. The entity to save via this unit of work When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the passed in entity for saving. The entity to save via this unit of work Filter to apply during save (ignored when the entity is new). This restriction will be AND-ed with the restriction constructed by a ConcurrencyPredicateFactory instance in entityToSave (if applicable). When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if the entity is accepted, false if the entity is rejected (already added for a similar action) Removes the specified entity from this UnitOfWork. If the entity is in an added collection, the entity will later on still be added. Entity to remove. Removes the specified entity collection from this UnitOfWork. Entity collection to remove. Adds the collection with entities for saving. collection with entities to be added for saving Adds the collection with entities for saving. collection with entities to be added for saving When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. Adds the passed in entity for deletion. The entity to delete via this unit of work true if the entity is accepted, false if the entity is rejected (entity is new) Adds the passed in entity for deletion. The entity to delete via this unit of work Filter to apply during delete. This restriction will be AND-ed with the restriction constructed by a ConcurrencyPredicateFactory instance in entityToDelete (if applicable). true if the entity is accepted, false if the entity is rejected (entity is new) Adds the passed in object for delete. This is the actual routine performing the work. Entity to delete. Restriction. If true (default), append the entity at the end of the list, otherwise insert it at the front. False in the case of inserting objects from collections marked for deletion. Adds the collection with entities for deletion. collection with entities to be added for deletion Adds the call back passed in, to the slot specified with the parameters specified. Delegate to call. Scheduling slot to call the delegate in. Parameters to pass to the delegate. will pass in the used Transaction as the last parameter to the delegate. Adds the call back passed in, to the slot specified with the parameters specified. Delegate to call. Scheduling slot to call the delegate in. Flag to tell the Commit routine to pass the used Transaction object as the last parameter to the delegate (true, default) or not (false). Parameters to pass to the delegate. If you've specified true for passInTransaction, the Transaction object used during commit will be passed in as the last parameter. Resets the inner contents of this unit of work. Adds a call to collection.DeleteMulti(filter) to delete entities directly from the database using the passed in criteria. The call will be executed inside the transaction used in Commit and will be executed after the last entity has been deleted but before the PostEntityDelete callbacks. Collection object to call DeleteMulti on. Filter to use. Adds a call to collection.DeleteMulti(filter, relations) to delete entities directly from the database using the passed in criteria. The call will be executed inside the transaction used in Commit and will be executed after the last entity has been deleted but before the PostEntityDelete callbacks. Collection object to call DeleteMulti on. Filter to use. RelationCollection to use. Adds a call to collection.UpdateMulti(Entity, filter) to update entities directly in the database using the passed in criteria. The call will be executed inside the transaction used in Commit and will be executed after the last entity has been updated but before the PreEntityUpdate callbacks. Collection object to call UpdateMulti on. instance which holds the new values for the matching entities to update. Only changed fields are taken into account Filter to use. Adds a call to collection.UpdateMulti(Entity, filter, relations) to update entities directly in the database using the passed in criteria. The call will be executed inside the transaction used in Commit and will be executed after the last entity has been updated but before the PreEntityUpdate callbacks. Collection object to call UpdateMulti on. instance which holds the new values for the matching entities to update. Only changed fields are taken into account Filter to use. RelationCollection to use. Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Transaction to use. All entities to process will be added to this transaction, unless they're already part of another transaction. It will not commit nor rollback the transaction. when transactionToUse is null The total # of entities affected by all actions performed in the Commit method Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Transaction to use. All entities to process will be added to this transaction, unless they're already part of another transaction. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback when transactionToUse is null The total # of entities affected by all actions performed in the Commit method Constructs the save process queues for insert and update actions. These queues are constructed from the entities added to this UoW for save either individually or in a collection. Call this method to determine what the sequence will be for the insert and update actions executed during Commit(). Commit() uses this method as well as well as the serialization/deserialization logic, to avoid sending large object graphs with few changes. Async variant of . Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Transaction to use. All entities to process will be added to this transaction, unless they're already part of another transaction. It will not commit nor rollback the transaction. when transactionToUse is null The total # of entities affected by all actions performed in the Commit method Async variant of . Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Transaction to use. All entities to process will be added to this transaction, unless they're already part of another transaction. The cancellation token. The total # of entities affected by all actions performed in the Commit method when transactionToUse is null It will not commit nor rollback the transaction. Async variant of . Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Transaction to use. All entities to process will be added to this transaction, unless they're already part of another transaction. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback The total # of entities affected by all actions performed in the Commit method when transactionToUse is null Async variant of . Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Transaction to use. All entities to process will be added to this transaction, unless they're already part of another transaction. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback The cancellation token. The total # of entities affected by all actions performed in the Commit method when transactionToUse is null Handles the inserts. The transaction to use. The cancellation token. Handles the updates. The transaction to use. The cancellation token. Handles the deletes. The transaction to use. The cancellation token. During the commit of the UnitOfWork class, the delete action on an entity failed. The entity which failed is enclosed. Handles the update multi call The transaction to use. The cancellation token. Handles the delete multi. The transaction to use. The cancellation token. Constructs the parameters to pass Parameters. Transaction to use. Pass in transaction. Inits the class. The commit order. Performs the pre commit actions. The transaction to use. transactionToUse;You have to specify a valid transaction object CommitOrder is empty. The commit has been aborted to prevent dangling transactions. You shouldn't clear the CommitOrder of a unit of work object. Inserts the collections to delete into the delete elements list. Handles the delete multi. The transaction to use. Handles the post delete call backs. The transaction to use. Handles the deletes. The transaction to use. During the commit of the UnitOfWork class, the delete action on an entity failed. The entity which failed is enclosed. Handles the pre delete call backs. The transaction to use. Handles the update multi call The transaction to use. Handles the pre update call backs. The transaction to use. Handles the updates. The transaction to use. Handles the inserts. The transaction to use. Handles the pre insert insert call backs. The transaction to use. Resets the inner contents of this Unit of work object Adds the passed in entity for deletion. The entity to delete via this unit of work true if the entity is accepted, false if the entity is rejected (entity is new) Adds the passed in entity for saving. No refetching will be applied. Save is recursive. The entity to save via this unit of work true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the passed in entity for saving. No refetching will be applied. Save is recursive. The entity to save via this unit of work When true, it will refetch the entity saved after the save action. true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the collection with entities for saving. No recursion and no refetch are done for these entities. collection with entities to be added for saving Adds the collection with entities for saving. collection with entities to be added for saving When true, it will refetch all entities saved after the save action. When true, the entities in the collection will be saved recursively. Adds the collection with entities for deletion. collection with entities to be added for deletion Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. This order can be controlled by the constructor of the unit of work which allows users to define a different work order. The controller of the ado.net transaction to use. If the controller specified has a transaction open, the auto-commit flag is set to false and the transaction is committed when the transaction of the passed in controller is committed, otherwise the auto-commit flag is set to true as the transaction is started by the unit of work. The total # of entities affected by all actions performed in the Commit method Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. This order can be controlled by the constructor of the unit of work which allows users to define a different work order. The controller of the ado.net transaction to use. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback The total # of entities affected by all actions performed in the Commit method Async variant of Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. This order can be controlled by the constructor of the unit of work which allows users to define a different work order. The controller of the ado.net transaction to use. The cancellation token. The total # of entities affected by all actions performed in the Commit method If the controller specified has a transaction open, the auto-commit flag is set to false and the transaction is committed when the transaction of the passed in controller is committed, otherwise the auto-commit flag is set to true as the transaction is started by the unit of work. Gets / sets the OptimizedSerialization flag. Default: true. When set to false, the serialization logic will simply serialize all entities inside the unit of work. When set to true, the unit of work will first calculate the save queues, which weeds out entities which aren't changed and won't be saved anyway, so these don't have to be sent over the wire. Gets / sets the Commit Order of the various blocks the unit of work groups the elements in. UnitOfWork2 class. Can collect actions to perform on the entities/entity collections specified. Will not perform these actions until Commit(transaction) is called. A UnitOfWork is meant to make development easier. It will not prohibit the developer to persist the actions also using other methods. Adapter Specific. CTor Initializes a new instance of the class. The commit order of the various blocks in the unit of work object. CTor for deserialization Info. Context. Populates a with the data needed to serialize the target object. The to populate with data. The destination (see ) for this serialization. The caller does not have the required permission. Gets the UnitOfWorkElement2s with the entities which are added with AddForSave and which are new, in a new List. To remove an entity, call new List with all UnitOfWorkElement2s with the entities which are added using AddForSave and which are new Use this method to peek into the list of elements added to the UnitOfWork. Don't use this method to retrieve the exact list of entities which have been inserted/will be inserted by the UnitOfWork, use instead Gets the UnitOfWorkElement2s with the entities which are added with AddForSave and which are not new, in a new List. To remove an entity, call new List with all UnitOfWorkElement2s with the entities which are added using AddForSave and which are not new Use this method to peek into the list of elements added to the UnitOfWork. Don't use this method to retrieve the exact list of entities which have been updated/will be updated by the UnitOfWork, use instead Gets the insert queue, which is a list of ActionQueueElement(of IEntity2) objects which have been placed in the insert queue. This queue is empty unless has been called, or Commit has been called, which calls under the hood. If this method is called after Commit, and Commit succeeded, the entities in the queue returned are saved succesfully. Calling will not clear the queues, only or Commit will. List with the entities in the insert queue. Gets the update queue, which is a List of ActionQueueElements(Of IEntity2) objects which have been placed in the update queue. This queue is empty unless has been called, or Commit has been called, which calls under the hood. If this method is called after Commit, and Commit succeeded, the entities in the queue returned are saved succesfully. Calling will not clear the queues, only or Commit will. Readonly arraylist with the entities in the insert queue. Gets the UnitOfWorkElement2s with the entities which are added with AddForDelete, in a new List. To remove an entity, call new List with all UnitOfWorkElement2s with the entities which are added using AddForDelete Gets the UnitOfWorkCollectionElement2s with the collections which are added with AddCollectionForSave, in a new List. To remove a collection, call new List with all UnitOfWorkCollectionElement2s with the entities which are added using AddCollectionForSave Gets the UnitOfWorkCollectionElement2s with the collections which are added with AddCollectionForDelete, in a new List. To remove a collection, call new List with all UnitOfWorkCollectionElement2s with the entities which are added using AddCollectionForDelete Adds the passed in entity for saving. No refetching will be applied. The entity2 to save via this unit of work true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the passed in entity for saving. No refetching will be applied. The entity to save via this unit of work Filter to apply during save (ignored when the entity is new). This restriction will be AND-ed with the restriction constructed by a ConcurrencyPredicateFactory instance in entityToSave (if applicable). true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the passed in entity for saving. The entity to save via this unit of work When true, it will refetch the entity saved after the save action. true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the passed in entity for saving. The entity to save via this unit of work Filter to apply during save (ignored when the entity is new). This restriction will be AND-ed with the restriction constructed by a ConcurrencyPredicateFactory instance in entityToSave (if applicable). When true, it will refetch the entity saved after the save action. true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the passed in entity for saving. The entity to save via this unit of work Filter to apply during save (ignored when the entity is new). This restriction will be AND-ed with the restriction constructed by a ConcurrencyPredicateFactory instance in entityToSave (if applicable). When true, it will refetch the entity saved after the save action. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. true if the entity is accepted, false if the entity is rejected (already added for a similar action) Removes the specified entity from this UnitOfWork. If the entity is in an added collection, the entity will later on still be added. Entity to remove. Removes the specified entity collection from this UnitOfWork. Entity collection to remove. Adds the collection with entities for saving. No recursion and no refetch are done for these entities. collection with entities to be added for saving Adds the collection with entities for saving. collection with entities to be added for saving When true, it will refetch all entities saved after the save action. When true, the entities in the collection will be saved recursively. Adds the passed in entity for deletion. The entity to delete via this unit of work true if the entity is accepted, false if the entity is rejected (entity is new) Adds the passed in entity for deletion. The entity to delete via this unit of work Filter to apply during delete. This restriction will be AND-ed with the restriction constructed by a ConcurrencyPredicateFactory instance in entityToDelete (if applicable). true if the entity is accepted, false if the entity is rejected (entity is new) Adds the passed in object for delete. This is the actual routine performing the work. Entity to delete. Restriction. If true (default), append the entity at the end of the list, otherwise insert it at the front. False in the case of inserting objects from collections marked for deletion. Adds the collection with entities for deletion. collection with entities to be added for deletion Adds the call back passed in, to the slot specified with the parameters specified. Delegate to call. Scheduling slot to call the delegate in. Parameters to pass to the delegate. will pass in the used adapter as the last parameter to the delegate. Adds the call back passed in, to the slot specified with the parameters specified. Delegate to call. Scheduling slot to call the delegate in. Flag to tell the Commit routine to pass the used adapter object as the last parameter to the delegate (true, default) or not (false). Parameters to pass to the delegate. If you've specified true for passInAdapter, the adapter object used during commit will be passed in as the last parameter. Resets the inner contents of this unit of work. Adds a DeleteEntitiesDirectly call to be scheduled during Commit. It is called right after the last entity has been deleted but before the post delete callbacks are called. The name of the entity to retrieve persistence information. For example "CustomerEntity". This name can be retrieved from an existing entity's LLBLGenProEntityName property. filter information to filter out the entities to delete the method is called on the adapter passed in to Commit.
This overload doesn't use the DataAccessAdapter.DeleteEntitiesDirectly overload which performs authorization and auditing as well. If you need authorization and/or auditing, please use the overload of AddDeleteEntitiesDirectlyCall which accepts a type.
Adds a DeleteEntitiesDirectly call to be scheduled during Commit. It is called right after the last entity has been deleted but before the post delete callbacks are called. The type of the entity to delete filter information to filter out the entities to delete the method is called on the adapter passed in to Commit.
This overload uses the DataAccessAdapter.DeleteEntitiesDirectly overload which performs authorization as well.
Adds an UpdateEntitiesDirectly call to be scheduled during Commit. It is called right after the last entity has been updated but before the pre delete callbacks are called. Entity object which contains the new values for the entities of the same type and which match the filter in filterBucket. Only fields which are changed are updated. filter information to filter out the entities to update. the method is called on the adapter passed in to Commit. Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Adapter to use. It will start a new transaction if no transaction is in progress. If no transaction is in progress on the passed in adapter, this unit of work object will autocommit the transaction started by this unit of work object. when adapterToUse is null The total # of entities affected by all actions performed in the Commit method Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Adapter to use. It will start a new transaction if no transaction is in progress. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback when adapterToUse is null The total # of entities affected by all actions performed in the Commit method Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Adapter to use. It will start a new transaction if no transaction is in progress. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback when adapterToUse is null The total # of entities affected by all actions performed in the Commit method Constructs the save process queues for insert and update actions. These queues are constructed from the entities added to this UoW for save either individually or in a collection. Call this method to determine what the sequence will be for the insert and update actions executed during Commit(). Commit() uses this method as well as well as the serialization/deserialization logic, to avoid sending large object graphs with few changes. Async variant of . Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Adapter to use. It will start a new transaction if no transaction is in progress. If no transaction is in progress on the passed in adapter, this unit of work object will autocommit the transaction started by this unit of work object. when adapterToUse is null The total # of entities affected by all actions performed in the Commit method Async variant of . Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Adapter to use. It will start a new transaction if no transaction is in progress. The cancellation token. If no transaction is in progress on the passed in adapter, this unit of work object will autocommit the transaction started by this unit of work object. The total # of entities affected by all actions performed in the Commit method when adapterToUse is null Async variant of . Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Adapter to use. It will start a new transaction if no transaction is in progress. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback The total # of entities affected by all actions performed in the Commit method when adapterToUse is null Async variant of . Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Adapter to use. It will start a new transaction if no transaction is in progress. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback The cancellation token. The total # of entities affected by all actions performed in the Commit method when adapterToUse is null Async variant of . Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. Adapter to use. It will start a new transaction if no transaction is in progress. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback The cancellation token. The total # of entities affected by all actions performed in the Commit method when adapterToUse is null Handles the delete directly calls. The adapter to use. The cancellation token. the # of entities affected Handles the update directly calls. The adapter to use. The cancellation token. the # of entities affected Handles the updates. The adapter to use as base. The cancellation token. the # of entities affected Handles the inserts. The adapter to use as base. The cancellation token. the # of entities affected Handles the deletes. The adapter to use. The cancellation token. the # of entities affected During the commit of the UnitOfWork class, the delete action on an entity failed. The entity which failed is enclosed. Inits the class. The commit order. Constructs the parameters to pass Parameters. Pass in adapter. Collects the data for serialization. The object I ds to save. The entities to save. Converts the xml pointed to by the reader to data for this UnitOfWork2 object. Expects Compact25 formatted XML The reader. Deserializes the commit order. The reader. Deserializes the update entities directly calls. The reader. The processed object I ds. Deserializes the delete entities directly calls. The reader. Deserializes the unit of work elements pointed at by the reader specified The reader. The processed object I ds. The destination. The objectIDs destination. Deserializes the entities. The reader. Type of the factory per entity. The processed objectIDs. Is filled by this method The node entity references. Is filled by this method The entities are deserialized into processedObjectIDs, as the entities themselves are not stored in a list but are referenced from other elements in the UoW: UnitOfWorkElement2 and UnitOfWorkUpdateEntitiesDirectlyElement Deserializes the entity factories. The reader. storage filled by this method. per EntityType value the factory instance is stored (created from deserialized data. Converts the data in this UnitOfWork2 into Xml which is written to the writer specified. Uses: XmlFormatAspect.Compact25 | XmlFormatAspect.MLTextInCDataBlocks | XmlFormatAspect.DatesInXmlDataType The writer. Inserts the contents of collections to delete into the delete elements list. Performs the pre commit actions. The adapter to use. if set to true [auto commit]. adapterToUse;You have to specify a valid adapter object CommitOrder is empty. The commit has been aborted to prevent dangling transactions. You shouldn't clear the CommitOrder of a unit of work object. Handles the post delete call backs. The adapter to use. Handles the pre delete call backs. The adapter to use. Handles the pre update call backs. The adapter to use. Handles the pre insert callbacks. The adapter to use. Handles the delete directly calls. The adapter to use. the # of entities affected Handles the deletes. The adapter to use. the # of entities affected During the commit of the UnitOfWork class, the delete action on an entity failed. The entity which failed is enclosed. Handles the update directly calls. The adapter to use. the # of entities affected Handles the updates. The adapter to use as base. the # of entities affected Handles the inserts. The adapter to use as base. the # of entities affected Gets the serialization flags. Bitvector with flags which control what's serialized. Gets the list of UnitOfWorkElement2 objects for the entities to save. Gets the list of UnitOfWorkElement2 objects for the entities to delete. Gets the list of UnitOfWorkCollectionElement2 objects for the entities to save. Gets the list of UnitOfWorkCollectionElement2 objects for the entities to delete. This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class. An that describes the XML representation of the object that is produced by the method and consumed by the method. Generates an object from its XML representation. The stream from which the object is deserialized. Converts an object into its XML representation. The stream to which the object is serialized. Resets the inner contents of this Unit of work object Adds the passed in entity for deletion. The entity to delete via this unit of work true if the entity is accepted, false if the entity is rejected (entity is new) Adds the passed in entity for saving. No refetching will be applied. Save is recursive. The entity to save via this unit of work true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the passed in entity for saving. No refetching will be applied. Save is recursive. The entity to save via this unit of work When true, it will refetch the entity saved after the save action. true if the entity is accepted, false if the entity is rejected (already added for a similar action) Adds the collection with entities for saving. No recursion and no refetch are done for these entities. collection with entities to be added for saving Adds the collection with entities for saving. collection with entities to be added for saving When true, it will refetch all entities saved after the save action. When true, the entities in the collection will be saved recursively. Adds the collection with entities for deletion. collection with entities to be added for deletion Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. This order can be controlled by the constructor of the unit of work which allows users to define a different work order. The controller of the ado.net transaction to use. If the controller specified has a transaction open, the auto-commit flag is set to false and the transaction is committed when the transaction of the passed in controller is committed, otherwise the auto-commit flag is set to true as the transaction is started by the unit of work. The total # of entities affected by all actions performed in the Commit method Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. This order can be controlled by the constructor of the unit of work which allows users to define a different work order. The controller of the ado.net transaction to use. if true, it will commit/rollback the transaction passed in using the following rules: - if no exception is thrown: commit - if an exception is thrown: rollback The total # of entities affected by all actions performed in the Commit method Async variant of Commits this unit of work. It will first add all entities in the added collections to the correct bins, then it will start by first inserting all new entities, then saving all updates and then performing the deletes. This order can be controlled by the constructor of the unit of work which allows users to define a different work order. The controller of the ado.net transaction to use. The cancellation token. The total # of entities affected by all actions performed in the Commit method If the controller specified has a transaction open, the auto-commit flag is set to false and the transaction is committed when the transaction of the passed in controller is committed, otherwise the auto-commit flag is set to true as the transaction is started by the unit of work. Gets / sets the OptimizedSerialization flag. Default: true. When set to false, the serialization logic will simply serialize all entities inside the unit of work. When set to true, the unit of work will first calculate the save queues, which weeds out entities which aren't changed and won't be saved anyway, so these don't have to be sent over the wire. Ignored for XML serialization, which always uses optimized serialization. Gets / sets the Commit Order of the various blocks the unit of work groups the elements in. unit of work callback element to store in the unit of work collections for callbacks. CTor. Creates a new instance. Delegate to call. When true, the routine assumes that the last parameter specified is the placeholder for the transaction to use (default). When false, it won't pass in a transaction and will assume the callback has to run outside the current transaction scope Parameters. Inits the class. Delegate to call. Parameters. Gets / sets passInTransaction Gets / sets delegateToCall Gets / sets parameters unit of work callback element to store in the unit of work collections for callbacks. CTor. Creates a new instance. Delegate to call. When true, the routine will pass in the current adapter used in commit to the delegate as the last parameter When false, it won't pass in an adapter and will assume the callback has to run outside the current adapter's transaction scope Parameters. Inits the class. Delegate to call. Parameters. Gets / sets passInAdapter Gets / sets delegateToCall Gets / sets parameters unit of work element to store in the unit of work collections for insert/update/delete. CTor. Creates a new instance. entity collection involved Creates a new instance. entity collection involved recurse query. Ignored in Delete queries Inits the class. entity collection involved Recurse. Gets / sets recurse Gets collection unit of work element to store in the unit of work collections for insert/update/delete. CTor. Creates a new instance. entity collection involved Creates a new instance. entity collection involved When true, it will refetch all entities saved after the save action. When true, the entities in the collection will be saved recursively. Inits the class. entity collection involved Recurse. Gets / sets recurse Gets collection Gets / sets refetch unit of work element to store in the DeleteEntitiesDirectly calls to execute CTor. Creates a new instance. Filter. Name of the entity. Creates a new instance. Filter. The type of entity. Writes the XML. The writer. Reads the XML. The reader. Inits the class. Filter. Name of the entity. The type of entity. Selects the over load to use Gets / sets typeOfEntity Gets a value indicating whether [use name overload]. true if [use name overload]; otherwise, false. Gets / sets entityName Gets / sets filter unit of work element to store in the delete multi calls to execute CTor. Creates a new instance. Filter. Relations. Collection. Inits the class. Filter. Relations. Collection. Gets / sets filter Gets / sets relations Gets / sets collection unit of work element to store in the unit of work collections for insert/update/delete. CTor. Creates a new instance. entity involved Creates a new instance. entity involved Restriction. Creates a new instance. entity involved Restriction. recurse query. Ignored in Delete queries Inits the class. entity involved Restriction. Recurse. Gets / sets recurse Gets / sets restriction Gets / sets entity unit of work element to store in the unit of work collections for insert/update/delete. CTor. Creates a new instance. entity involved Creates a new instance. entity involved Restriction. Creates a new instance. entity involved Restriction. When true, it will refetch the entity saved after the save action. When true, it will save all dirty objects referenced (directly or indirectly) by this entity also. Writes the XML. The writer. The processed object I ds. Reads the XML. The reader. The processed object I ds. Inits the class. entity involved Restriction. Recurse. Gets / sets refetch Gets / sets recurse Gets / sets restriction Gets / sets entity unit of work element to store in the UpdateEntitiesDirectly calls to execute CTor. Creates a new instance. Filter. Entity. Writes the XML. The writer. The processed object I ds. Reads the XML. The reader. The processed object I ds. Inits the class. Filter. Entity. Gets / sets entity Gets / sets filter unit of work element to store in the update multi calls to execute CTor. Creates a new instance. Filter. Relations. Collection. Entity. Inits the class. Filter. Relations. Collection. Entity. Gets / sets entity Gets / sets filter Gets / sets relations Gets / sets collection Class which creates elements specifically for adapter, like EntityField2 objects, predicates for adapter etc. It assumes fields for predicates already have an object alias set. Adapter specific Creates a new prefetch path object for the entity type specified. Type of the entity. ready to use prefetch path object. Creates a new FieldCompareValuePredicate. The field to compare. The predicate operator. The compare operand. ready to use predicate Creates a new FieldCompareExpressionPredicate The field to compare. The predicate operator. The compare operand. ready to use predicate Creates a new FieldCompareNullPredicate. The field to compare. ready to use FieldCompareNull predicate Creates a new FieldCompareRangePredicate instance. The field to compare. The value range for the IN clause. ready to use FieldCompareRangePredicate Creates a new FieldLikePredicate instance The field to compare. The pattern. ready to use fieldLikePredicate instance Creates a new EntityField(2) object which contains the expression passed in. The name is artificial. The expression to wrap in field. .NET Type of the data. ready to use entity field. Creates a new artificial field name the new field name to use Creates a new derived table referencing field, of type EntityField(2). Name of the field. The object alias (alias of set the field to refer to is in). .NET Type of the data. ready to use entity field Creates a new derived table referencing field, of type EntityField(2). Name of the field. The object alias (alias of set the field to refer to is in). .NET Type of the data. ready to use entity field Creates a new SortClause instance The field to sort. The operator to use. The object alias. ready to use SortClause instance Creates a new FieldCompareSetPredicate instance The field to compare. The set field. The operator to use. The set filter. The set relations. The set sorter. The set group by. The max number of items to return. The object alias. if set to true, the predicate will be negated. ready to use FieldCompareSetPredicate Class which is used to find all aliases in the objects to traverse. This is used to obtain all sources for a query for example. Initializes a new instance of the class. Updates the old alias in all objects referenced by the passed in object including the passed in object itself to the new alias. The object to traverse. Traverses the specified dynamic relation to traverse. The object to traverse. Traverses the specified entity relation to traverse. The object to traverse. obtains the alias in the field passed in and in all referenced elements The field. obtains the alias in any elements in the predicate passed in. The object to traverse. Adds the alias to the list to collect Gets the aliases found. Gets or sets a value indicating whether aliases on relation objects (left/right side) have to be collected as well. Default is true. Set to false when obtaining correlation predicates as it otherwise will filter out the aliases obtained which means no element is found. Class which is used to update a SetAlias with a new SetAlias and also update every entity field which is related to the old alias by assigning it to the new alias. Updates the old alias with the new alias and also updates all fields associated with the old alias found in the object to traverse to the new alias. The old alias. The new alias. The object to traverse. Updates the old alias in all objects referenced by the passed in object including the passed in object itself to the new alias. The object to traverse. Updates the alias in the field passed in and in all referenced elements The field. Traverses the specified relationcollection and the relations in it. The object to traverse. Updates the old alias in any elements in the predicate passed in. The object to traverse. Traverses the specified object to traverse. The object to traverse. Realiases the field passed in, if its in the oldSetAlias. If the field is re-aliased it moves the field from the old setalias to the new setalias. The field to realias. Gets the correct alias string. The current alias string. the currentAliasString if it's not equal to the oldAlias, otherwise the newAlias Attribute which defines whether a method call is an in-memory candidate, so the in-memory candidate finder knows whether to in-line it or ignore it and leave it to the function mapper. Attribute which enforces that a method in a method call is a database mapped function. This attribute is used on parameter-less function mappings which still have to run in the DB and have to be ignored by the in-memory candidate finder. When no parameters are present on a function mapping, it's not tied to a Db side element and therefore likely picked up as an in-memory candidate, so the function mapping will be ignored. By applying this attribute the in-memory candidate finder will always see the function as a mapped function and will ignore it as an in-memory candidate. Delegate which is used to create new instances of an object based on a type, and which is much faster than Activator.CreateInstance Delegate which is used to compile an in-memory lambda to which is used to compare parent rows with child rows in nested-query executions. The lambda looks like: (parentValues, childValues) => LinqUtils.ValuesAreEqual(parentValues[parentFieldIndex], childValues[childFieldIndex]); true if the child belongs to parent. Enum to specify the type of the standard operator which call was seen in the expression. This enum is used by the general handler for these method calls to convert them into unary or binary expressions. op_UnaryPlus call op_UnaryNegation call op_LogicalNot call op_Increment call op_Decrement call op_Addition call op_Substraction call op_Multiple call op_Division call op_Modulus call op_BitwiseAnd call op_BitwiseOr call op_ExclusiveOr call op_LeftShift call op_RightShift call op_Equality call op_Inequality call op_LessThan call op_LessThanOrEqual call op_GreaterThan call op_GreaterThanOrEqual call op_Implicit call op_Explicit call Expression type enum which is used Unknown expression. Don't use. Is for start of our own enums The expression object represents a method call to an aggregate function. The expression object represents a method call to All(), which is represented by an AllAnyExpression. The expression object represents a method call to Any(), which is represented by an AllAnyExpression. The expression object represents a method call to Queryable.Contains() or IEntityCollection(2).Contains, which is represented by a ContainsExpression. The expression object is a DbFunctionCallExpression. The expression object represents a method call to DefaultIfEmpty on the element represented by the contained expression. The expression object is an EntityExpression The expression object is an EntityFieldExpression. The expression object is an ExceptIntersectExpression, which represents a call to Queryable.Except The expression object is an ExcludeIncludeFieldsExpression, which represents an excludeincludefields list. The expression object is a FilterExpression, which is an expression which can contain a LLBLGen Pro Predicate or PredicateExpression and a RelationCollection (optionally) The expression object is a GroupByExpression. The expression object is a GroupByKeyReferenceExpression, which is a simple reference to the Key of a groupby expression. The expression object is a GroupJoinExpression, which is an expression is represents a GroupJoin method call. The expression object is an InClauseExpression, which is an expression which represents a call to Contains() on a list of values. The expression object is an InMemoryEvalCandidateExpression, which is an expression which has to be evaluated in-memory and shouldn't be used for SQL. The expression object is an ExceptIntersectExpression, which represents a call to Queryable.Intersect The expression object is a JoinExpression, a join between two SetExpressions. The expression object is a JoinResultExpression, the result of a join. This expression is living only temporary in the tree. The expression object is a LikeExpression, which is an expression which will result in a LIKE operation on a string typed source and a constant string operand The expression object is an LLBLGenExpressionExpression, which is an LLBLGen Pro expression (between fields and values and other llblgen pro expressions). The expression object is a LinqExpressionAsSetExpression, which is a LinqExpression threated as a set. The expression object is a PathEdgeExpression. The expression object is a PrefetchPathExpression, which is the root definition of a prefetch path. The expression object is a ProjectionExpression, which defines a projection of a source to a destination. The expression object is a ProjectionListExpression, which is a temp result for storing projection elements for a projection expression The expression object is a QueryExpression, which is used to wrap up the final tree in executable form. The expression object is a RelationCollectionExpression, which is an expression containing one or more relations, for a join. The expression object is a SelectExpression, which is an expression used to define a source with projection. The expression object is a SetExpression The expression object is a SetReferenceExpression The expression object is a SortClauseExpression which represents an LLBLGen Pro SortClause object. The expression object is a WhereExpression The expression object is a TypedViewExpression The like operation definition to use in the LikeExpression. It defines what to do with the operand: both sides a '%', only the start or only the end. Make the operand pattern look like %operand% Make the operand pattern look like operand% Make the operand pattern look like %operand the set destination kind, what kind of contents is inside the set. this is used to define the projection Not determined The contents of the set are entities The contents of the set are normal objects: be it anonymous typed objects or not. Type of projection represented by the ProjectionDefinition instance. The enum is an easier way to determine what projection is used. A normal entity projection, which is a normal entity fetch A projection of 1 or more fields of a set onto a list of values or objects. This type of projection is used internally for derived table projections as Linq output is either a concrete type or an anonymous type. Enum to specify the handler phase name. Used to store evaluation results The start state, nothing has been done yet All aliases for sources have been found, created and assigned to the sources. This is the state after SourceAliasCollector has been ran. The joins are rewritten, if needed. The required projection flags are corrected due to the rewrite. All alias scopes are found, all memberinfo-alias combinations are stored in the right scope. All entity types and entity field references have been found and changed into EntityExpression and EntityFieldExpression objects. This is the state after MemberAccessEvaluator has been ran. The query has been converted into a QueryExpression, or at least the first attempt to do so has been finished. The expression tree has been reduced from a linq expression to a QueryExpression object and is ready to be executed The EndState Constants to use in the Linq provider sourcecode. The alias to set on the field which has an aggregate function set to it by a linq construction, e.g. Count(). This value is used to refer to values which are the result of the aggregate function being applied, and if the field the aggregate is applied on has no alias set yet. Custom projector class which is used to project values to an array of type T. the type of the array, e.g. object[] Initializes a new instance of the class. The destination. Initializes a new instance of the class. The destination. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The plain projection result. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The plain projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Adds the row to results. The projectors. The plain projection result. Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as plain result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Custom projector class which is used to create the final results of a valuelistprojection. THe projection is done using a compiled lambda. the type of the array, e.g. object[] Initializes a new instance of the class. The destination. The projection instantiator. The indices. The pre projection data buckets, necessary to project entities from plain object array data. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The plain projection result. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The plain projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Adds the row to results. The plain projection result. manipulates rawProjectionResult Performs the pre projection. The plain projection result. manipulates rawProjectionResult Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as plain result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Simple class which doesn't do any projection work, it simply adds all received rows to the results list. Initializes a new instance of the class. The results. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The raw projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The raw projection result. Adds the row. The raw projection result. Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as raw result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Container class for LLBLGen Pro classes (Entities, TypedLists and TypedViews) which are through this class available in Linq queries. The class to target in the Linq query SelfServicing specific Initializes a new instance of the class. The transaction to use. The creator to create project elements. The custom function mappings. The context to use for entity fetches. Gets the query provider that is associated with this data source. The that is associated with this data source. Container class for LLBLGen Pro classes (Entities, TypedLists and TypedViews) which are through this class available in Linq queries. The class to target in the Linq query Adapter specific Initializes a new instance of the class. The adapter to use. The creator to create project elements. The custom function mappings. The context to use for entity fetches. Gets the query provider that is associated with this data source. The that is associated with this data source. Container class for LLBLGen Pro classes (Entities, TypedLists and TypedViews) which are through this class available in Linq queries. The class to target in the Linq query Initializes a new instance of the class. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the type of the element(s) that are returned when the expression tree associated with this instance of is executed. A that represents the type of the element(s) that are returned when the expression tree associated with this object is executed. Gets the expression tree that is associated with the instance of . The that is associated with this instance of . Gets the query provider that is associated with this data source. The that is associated with this data source. Gets or sets the wrapped TVF call. Gets the type of the element(s) that are returned when the expression tree associated with this instance of is executed. A that represents the type of the element(s) that are returned when the expression tree associated with this object is executed. Gets or sets the typed view enum type value, which is the value of the enum type for TypedViews if the type represented by this element is a typed view, -1 otherwise. Gets the type of the expression, based on the information inside the object. Executes the query this object represents. The query execution result. Executes the query this object represents The type of the query result the query execution result Async variant of . Executes the query this object represents. The query execution result. Async variant of . Executes the query this object represents. The cancellation token. The query execution result. Async variant of . Executes the query this object represents The type of the query result the query execution result Async variant of . Executes the query this object represents The type of the query result The cancellation token. the query execution result Gets the query provider that is associated with this data source. The that is associated with this data source. Constructs the query. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Executes the query this object represents. The query execution result. Executes the query this object represents. The query execution result. Gets or sets the wrapped TVF call. Gets or sets the typed view enum type value, which is the value of the enum type for TypedViews if the type represented by this element is a typed view, -1 otherwise. Simple traverser which traverses expressions and other objects to gather all field objects contained inside them. Select fields in a scalarqueryexpression are ignored, as well as fields which target the same elements as the fields in the scalar query's projection. Initializes a new instance of the class. Traverses the specified scalar query expression and contained objects. The object to traverse. Traverses the specified field and related objects. The field. Gets the fields found. Class which contains data used in the pre-projection phase where plain data is projected to entity instances which are inserted into the array which is handled by the real projector lambda. used in objectlist projections where entities are returned as values in the returned object. Initializes a new instance of the class. Type of the entity. The factory. Produces the field info to ordinals lookups, which are needed for the projection. This method checks whether it already has created the indices and will only create them the first time. Creates the dummy instance if required. Determines the type of the hierarchy. Gets or sets the factory. Gets or sets the type of the entity. Gets or sets the indices for the fields of the entity in the plain object array to project from. This array is used to build the array to project the entity from. Gets or sets the index in the array used by the projector func. This is the index the func expects to read the real value from. This means the resulting entity object should be placed on this index in the values array (the array of values the projection of the complete query is done from, the 'values' array passed into the projection lambda). Gets the hierarchy field value array lengths. The hierarchy field value array lengths. Gets the entity field start indexes per entity. Projection definition for a projection of entity data. This is equal to a normal entity fetch Initializes a new instance of the class. Initializes a new instance of the class. Type of the entity. The alias. Gets or sets the type of entity to project the data onto. Gets or sets the set alias. Specific expression class which represents an Aggregate expression, which is an expression which defines an aggregate function on a set. An AggregateExpression is a SetExpression because it represents a subquery, and with that a set of one value: a scalar. The class is a SetExpression because it contains a scope of aliases, and alias scopes are properly handled for set expressions. Initializes a new instance of the class. The function. The type of return value. Initializes a new instance of the class. The function. The type of return value. The source. The argument. Handles this instance using the specified handler. The handler to handle this instance. Returns a textual representation of the . A textual representation of the . Gets or sets the aggregate function this expression represents. Gets or sets the function argument expression. Can be null. Expression class which defines an All or Any expression, as a replacement for a MethodCallExpression representing a call to Queryable.All or Any Initializes a new instance of the class. if set to true, this AllAnyExpression represents an All() call, otherwise an Any call. Handles this instance using the specified handler. The handler to handle this instance. Returns a textual representation of the . A textual representation of the . Gets or sets the filter lambda, which is the lamdba passed into the All/Any method call Gets or sets the source onto the All or Any function has to be applied. The class which is placed between Expression and our own expression classes. This way we can introduce a Handle routine to simulare multiple-dynamic dispatch ala the visitor pattern, as the normal Expression object doesn't offer that feature and we're otherwise stuck with large bug switch / case statements. (still a switch/case is needed for .NET's Expression classes) Initializes a new instance of the class. Type of the node. The type to use. Handles this instance using the specified handler. The handler to handle this instance. Gets the node type of this . One of the values. Gets the static type of the expression that this represents. The that represents the static type of the expression. Expression class which defines a Contains expression, as a replacement for a MethodCallExpression representing a call to Queryable.Contains or IEntityCollection(2).Contains Initializes a new instance of the class. The source. The operand. Handles this instance using the specified handler. The handler to handle this instance. Returns a textual representation of the . A textual representation of the . Gets or sets the operand for the contains expression. Gets or sets the source onto the Contains function has to be applied. Specific expression class which represents a database function call. This expression typically contains the pattern to pass to the DbFunctionCall object as well as the arguments for it. Initializes a new instance of the class. The type of result. The mapping to use. The arguments. Handles this instance using the specified handler. The handler to handle this instance. Returns a textual representation of the . A textual representation of the . Gets or sets the function mapping to use. Gets or sets the Arguments for this db function call. It's a readonly collection, as it is required to be easy to notify if one of the enclosed linq expressions has been changed. Expression class which define a DefaultIfEmpty expression, as a replacement for a MethodCallExpression representing a call to Queryable.DefaultIfEmpty and the complete subtree Initializes a new instance of the class. Type of the set element. Handles this instance using the specified handler. The handler to handle this instance. Returns a textual representation of the . A textual representation of the . Gets or sets the sequence Expression the DefaultIfEmpty method call is meant for. Special expression class which is used in expression tree handling to represent an entity type node. This can be a set or a single entity. The expression type is set to the type represented by this expression in the tree. The EntityType property is set to the type of the entity represented by this expression. Initializes a new instance of the class. The type this expression represents in the expression tree (e.g. entity or entitycollection) Initializes a new instance of the class. Type of the entity. The type this expression represents in the expression tree (e.g. entity or entitycollection) Handles this instance using the specified handler. The handler to handle this instance. Gets the representing object for this entity for dynamic relation side. If this entity wraps a tvf call, this tvf call is returned (and which gets this entity's alias) otherwise this entity's type is returned. Adds the relations passed in. The relations. Adds the relation. The relation passed in is necessary to reach this entity from the root entity of the query. The relation to add. Creates a clone of the passed in entityexpression with a different entity type The source. The new type. clone of source with newType as its type. Returns a textual representation of the . A textual representation of the . Gets the relations required to access this entity. Can be null (which means: no relations needed) This collection is filled if the entity represented by this expression is a related entity so a relation is required to reach that entity. The relations in this collection are always IEntityRelation, as dynamic relations aren't the result of an access of a related entity/collection, which are the source of the relations in this set. Gets the relation which connects the set defined by this entity type and a containing query. This is normally the first relation in the relationsToUse list, as that relation ties the relations in the RelationsToUse to the outer query. A correlated subquery is a normal subquery with a predicate which ties subquery set and outer query together. This predicate is createable from the entity relation by simply creating FieldCompareExpression predicates from the field(s) of fk and pk. Aliases for the fields have to be set to the aliases of pk/fk side in the relation. Can be null. Gets or sets the type of the entity as represented by this EntityExpression. Gets or sets the parameter this instance was created from, if any. Can be a parameter this entity is created from indirectly, e.g. od.Order.Customer, both Order and Customer navigators result in an EntityExpression which all are created from the parameter od. This is required to be able to move relations based on navigators to the right scope (i.e. the one where the parameter is defined). Gets or sets the tvf call object wrapped with this entityexpression. If set, this entity expression is the return element of the function wrapped. If this entity was embedded in a select's expression, the Alias of this expression is the alias of the member container this entity is a member of. This means we lost the original source alias. This property represents that original alias of the member. Null otherwises. Specific expression class which represents an EntityField(2) object. It could be that the field is in a related entity (e.g. od.Order.Customer.Country), and relations are necessary to access the field. These relations are then part of this entityfield expression. Initializes a new instance of the class. The field. The alias of containing set. Initializes a new instance of the class. The field. The alias of containing set. The alias of the real source. Can be different than aliasOfContainingSet if the real source is inside a derived table/other scope. Initializes a new instance of the class. The field. Type of the data. The alias of containing set. Initializes a new instance of the class. The field. Type of the data. The alias of containing set. The alias of the real source. Can be different than aliasOfContainingSet if the real source is inside a derived table/other scope. Corrects the name of the field of this expression to a renamed variant if the field it is targeting has been renamed due to a field duplicate situation. Creates a clone of this EntityFieldExpression with the same elements and a different Type The new type. clone of this EntityFieldExpression with the same elements and a different Type Handles this instance using the specified handler. The handler to handle this instance. Adds the relations passed in. Relations are added to this entityfield expression if the field is in a related entity and the relations contained inside this field object are required to access the field. The relations to add. Gets the field object with proper object alias. It will apply the set AliasOfContainingSet if the field object's ObjectAlias is empty Returns a textual representation of the . A textual representation of the . Gets or sets the Field Gets or sets the alias of the field containing set. The alias of the real source. Can be different than the AliasOfContainingSet, e.g. when the real source is inside a derived table. Gets the field as string. Gets the relations required to access this field. Can be null (which means: no relations needed) Expression class which defines an Except or Intersect expression, as a replacement for a MethodCallExpression representing a call to Queryable.Except or Queryable.Intersect. Except and Intersect share this same expression because their SQL differs only in a NOT: Except uses a negated filter, Intersect uses just the filter. Initializes a new instance of the class. The source. The operand. if set to true, this expression represents an Except call, otherwise an Intersect call. Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Gets or sets the expression which defines the set to exclude (Except) or include (Intersect) from source. Specific expression class which represents an ExcludeIncludeFields list. It is used both for ExcludeFields and IncludeFields. Initializes a new instance of the class. Type of the expression. if set to true [contains excluded fields]. The field specifications. Handles this instance using the specified handler. The handler to handle this instance. Returns a textual representation of the . A textual representation of the . Gets or sets the field specifications. Gets or sets the flag whether this expression represents excluded fields or included fields. Gets or sets the exclude include fields list to use. This is the processed result of this expression. Special expression class which is used in expression tree handling to represent a filter node. A filter node is a node which contains a predicate expression and 0 or more relations, which are the basis for the filter (so if specified, the relations are required to reach the element(s) to filter on by the predicate(expression) inside the filter. Initializes a new instance of the class. Initializes a new instance of the class. The predicate element. Initializes a new instance of the class. The predicate element. The relation collection element. Handles this instance using the specified handler. The handler to handle this instance. Adds the predicate. To add. The operator to use. Adds the relations. The relations to add. Adds the propagated relations specified as propagated relations to this filter. To add. Adds from clause directives specified to the relationcollection element of this expression. From clause directives. Returns a textual representation of the . A textual representation of the . Gets or sets the predicate element. Gets or sets the relation collection element. Gets the propagated relations, which are relations required to navigate to the elements the RelationCollectionElement / PredicateElement work on / start from. Expression class which define a GroupBy expression, as a replacement for a MethodCallExpression representing a call to Queryable.GroupBy and the complete subtree Initializes a new instance of the class. Type of the set element. Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Gets or sets the group by lambda, which is the lamdba passed into the group by method call Gets or sets the result projection of the groupby if no select folows this clause or if it has been explicitly specified. Gets or sets the projection expression which represents the Key of the groupby Gets or sets the element selector lambda. Gets or sets a value indicating whether this instance is grouping on a constant. If set to true, the group by source is in a derived table. Gets or sets the folded derived table for a constant group by, only valid if IsGroupingOnConstant is set to true. Special expression class which is used in expression tree handling to represent a reference to the key of a groupby Initializes a new instance of the class. Type of the key. The group by alias. Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Gets or sets the group by alias. Special expression class which is used in expression tree handling to represent a GroupJoin node. Initializes a new instance of the class. Type of the set element. The left side of the groupjoin. The right side of the groupjoin. The left selector for keys. The right selector for keys. The result projection for the groupjoin. Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Gets or sets the left side of the GroupJoin Gets or sets the right side of the GroupJoin Gets or sets the left selector for keys Gets or sets the right selector for keys Gets or sets the result projection of the groupjoin Gets or sets the extracted expressions from right side. These expressions are extracted in the final phase, so defaultifempty references to the right side can obtain the wrapped where clauses. Gets or sets the flag to use the projection in the handler (true) or not (false). Normally, this flag is false, but when the groupjoin is the most outer expression, it has to use the projection, which can access the right side of the groupjoin (a groupjoin is normally equal to the left side). Expression class which is used to specify an expression type to which hints can be applied Initializes a new instance of the class. Type of the set element. The type of expression. Adds the temporal table predicate specified Type of the predicate. The predicate. The argument1. If equal to MinValue, it's ignored The argument2. If equal to MinValue, it's ignored Adds the hint specification to the list of specifications on this entity expression The hint specification. Adds the hints. To add. Gets from clause directives as clones. Specific expression which represents a Contains() call on a list of values. In a Contains call on a list of values, the operand passed to Contains is compared against the list of values. Initializes a new instance of the class. The values. The operand. Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Gets or sets the values to compare against Gets or sets the operand. Specific expression which represents a linq expression which has to be evaluated in memory and shouldn't be used to produce LLBLGen Pro objects or SQL. Initializes a new instance of the class. The expression to evaluate. Handles this instance using the specified handler. The handler to handle this instance. Gets or sets the expression to evaluate in memory Special expression class which is used in expression tree handling to represent a Join node. Initializes a new instance of the class. Type of the set element. The left side of the join. The right side of the join. The left selector for keys. The right selector for keys. The result projection for the joined set. The hint for the join type to use for the relation build from this JoinExpression. Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Gets or sets the left side of the join Gets or sets the right side of the join Gets or sets the left selector for keys Gets or sets the right selector for keys Gets or sets the result projection of the joined set Gets or sets the hint for the join type to use for the relation build from this JoinExpression. Special expression class which is used in expression tree handling to represent a JoinResult, which is a select and also a result of a join. The type is used to make a distinction between a normal select and a JoinResult with a projection: if the JoinSelectExpression is the source of a SelectExpression, or other expression which has a projection, the contained projection of this select is ignored. This class is required because in Linq, a select's projection is combined with the join result projection if the join is followed by a select. Initializes a new instance of the class. Type of the set element. Handles this instance using the specified handler. The handler to handle this instance. Specific expression which represents a Contains() call on a string-typed element, which can be an entityfield, expression or query, and a constant string as operand. Initializes a new instance of the class. The source. The operand. The operation to perform. Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Gets or sets the operation to perform when evaluating this expression to a FieldLikeExpression Gets or sets the source on which this expression operates. Gets or sets the operand which is used as the link pattern. Special expression class which is used in expression tree handling to have a LinqExpression be used as a SetExpression. The member is evaluated later on but should be seen as a set, so it can get an alias first. Initializes a new instance of the class. Type of the set element. The alias. The represented expression. Handles this instance using the specified handler. The handler to handle this instance. A new alias was set, using AssignNewAliasIfRequired. Use this method to map a wrapped expression to the alias set in the tracker passed in. The mappings. Gets or sets the represented expression Specific expression class which represents an LLBLGen Pro expression object. This could mean a simple Expression, a dbfunction call, a scalar query or other IExpression implementing classes. Initializes a new instance of the class. Type of the result. Initializes a new instance of the class. Type of the result. The expression object. Creates a clone of this LLBLGenProExpressionExpression with the same elements and a different Type The new type. clone of this LLBLGenProExpressionExpression with the same elements and a different Type Handles this instance using the specified handler. The handler to handle this instance. Adds the relations passed in. Relations are added to this entityfield expression if the field is in a related entity and the relations contained inside this field object are required to access the field. The relations to add. Returns a textual representation of the . A textual representation of the . Gets or sets the Expression Gets the relations required to access the fields in this expression. Can be null (which means: no relations needed) Gets or sets a value indicating whether a case when/then wrapping is required when this expression is part of the projection. By default this is true. Specific expression class which represents a path edge in a specified path inside a query. Initializes a new instance of the class. The edge data. Initializes a new instance of the class. The path element. The filter lambda. The sorter. The limiter. The child edges. End type of the node. The fields to exclude include. The sort clause expressions. if set to true [no caching]. The from clause directives Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Produces the edge collection. The edges. Gets the filter lambda for this edge Gets the prefetch path element which specifies the entity collection or single entity to fetch with using this edge Gets the sorter to use when fetching the related entity/ies Gets the sort clause expressions, which are created from the lambda expressions. Ignored if Sorter is set. Gets the limiter to limit the # of elements returned. 0 is all elements (default) Gets the list of child edges of this edge, which are the edges from the related entity further down the path. Gets the end type of the node, the entity type which acts as the child/ren to fetch for the parent entity (the type of the related entity/ies) Gets or sets the fields to exclude include. Gets or sets a value indicating whether the query should use its parent's caching directive (false, default) or should bypass the parent's caching directive and always fetch the query from the database (true). The From Clause directives (hints/temporal predicates) to use for this node. Specific expression class which represents a PrefetchPath. This expression is the root definition of a prefetch path and the container for the edges right below the root node of the graph. Initializes a new instance of the class. Type of the root node. The root edges. Initializes a new instance of the class. Type of the root node. The path. Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Gets the list of child edges of the root Gets or sets the prefetch path to use. This is the handled path in LLBLGen Pro format Special expression class which is used in expression tree handling to represent a projection. During the tree processing, this node gains more and more information. Initializes a new instance of the class. Type of the projection result. Initializes a new instance of the class. Type of the projection result. The projection lambda. Handles this instance using the specified handler. The handler to handle this instance. Adds the relation passed in to the RelationsToUse collection. To add. Adds the relation passed in to the RelationsToUse collection. To add. Adds the relations passed in. Relations are added to this expression if a field in this projection is in a related entity and the relations contained inside this projection are required to access the field. The relations to add. Returns a textual representation of the . A textual representation of the . Gets or sets the projection lambda, which is the source for the data gathered in this projection. Gets or sets the projection to use for the query in LLBLGen Pro. Relations collection for the relations to traverse to be able to fulfill the projection. These relations are from the projection specification itself. Gets or sets the handled projection lambda body. This is used to obtain the real values inside the lambda for later use. Gets or sets a value indicating whether this projection can be ignored when merging takes place (so should be considered null). This flag is used with JoinResultExpression merging into QueryExpressions: the projection inside the JoinResultExpression object has to be used if this flag inside that projection is false. Specific expression class which represents a list of elements for a projection, e.g. fields and constants. Initializes a new instance of the class. The type of result projection. Adds the relations. The relations to add. Adds the specified element to the projectionlist The name. The element. Type of the element. Index of the element in the indices array to pass to the projection func. The tracked mappings If true, all fields are added to the tracker's renamed field store, as they're considered renamed. All fields in an inheritance entity have aliases looking like Fn_m, where n and m are integers. index in Elements to which the element has been added or the index of the element it was a duplicate of if it was already there Adds the specified element to the projectionlist The name. The element. Type of the element. Index of the element in the indices array to pass to the projection func. if set to true record any found duplicate indices. This is true by default, but false if this method is called from a method which adds multiple fields per elementIndex If true, all fields are added to the tracker's renamed field store, as they're considered renamed. All fields in an inheritance entity have aliases looking like Fn_m, where n and m are integers. index in Elements to which the element has been added or the index of the element it was a duplicate of if it was already there Adds the linq expression element to this expression Name of the element. Type of the element. The element to add. Index of the element in the indices array which has to be passed to the projector func. Therefore this parameter contains the index in 'indices' where the real index in 'values' is stored. The generated code creator. The framework element creator. The tracked mappings. The function mappings. Handles this instance using the specified handler. The handler to handle this instance. Returns a textual representation of the . A textual representation of the . Adds the entity fields of the entity represented by the entityExpression to the projection list. If the entity is in an inheritance hierarchy, a type filter is added to this object so the containing expression can add it. It also creates a pre-projection data object in case the entity has to be projected by a projector in the final resultset. The expression to handle. The creator for the generated code. Index of the element in the array of values used by the final projector lambda. The tracked mappings The preprojection data created Gets or sets the list of elements in the projection list, stored under the name of the element they'll project to Gets or sets the list of the types of the elements in the projection list, stored under the name of teh element they'll project to. Gets or sets the elements in the projection list in the order of appearance Gets or sets the list of flags if an element is a CTor argument or not. Relations collection for the relations to traverse to be able to fulfill the projection. These relations are from the fields in the projection specification itself. Gets or sets the projection instantiator function lambda. This function is a modified version of the projection lambda Gets or sets the pre projection data buckets of contained entity projections collected by this expression. Gets the list of indexes for elements which have a name which is already in this list and therefore are ignored. Key: index of element which was ignored, value: index of element with same name. THIS index is then used to obtain the value for the element which refers to the index of the element ignored. Gets the entity expressions to type filter, these expressions are added to the projection list as entity types in a projection. An extra type filter has to be added to the main query containing this projection Class which represents a query for LLBLGen Pro. This expression type is used when the tree is reduced to a single query. Initializes a new instance of the class. The type of resultset. Adds the predicate or predicate expression passed in to FilterToUse. the predicate to add. Adds the pending type filters to where clause. The generated code element creator. Adds the filter to query expression. The merge source. Adds the sorter to query expression. The merge source. Merges the relations specified into the relation collection of the query expression specified. The merge source. If set to true, the relations are merged upfront otherwise appended Merges the relations specified into the relation collection of the query expression specified. The merge source. If set to true, the relations are merged upfront otherwise appended if set to true, the first is skipped. Used to skip correlationrelations if they're already used Merges from clause directives specified into this object's relationcollection. To add. Inserts a new projection in this query expression if this query expression doesn't have a projection defined. The alias to use. The framework element creator. Handles this instance using the specified handler. The handler to handle this instance. Finds the correlation filter predicates, which tie this query to a parent query, if applicable. These predicates are later on used to build in-memory delegates to tie parent to child queries. The generated code element creator. The tracked mappings. List of correlation filter predicates Gets the query parameters, built from the elements for the query inside this expression The alias suggestion. If null, no alias presetting is performed The preprocessor func to use for various queries which produce elements for the parameters of unioned queries. Finds the source aliases. Aliases are returned and not stored in this object. The generated code element creator. if set to true it will collect aliases on relation objects. Set to false to avoid filtering too many predicates. Hashset with the found aliases. Filters out the non usable predicates, so it keeps predicates which are targeting an outside source and which are usable for correlationpredicates. The predicate alias finder. The tracked mappings. Finds the predicates targeting a source which is outside the source of this expression Determines whether this query is a scalar query or not. true if the query is a scalar query, otherwise false. Checks if the first field in the list of fields points to a source (if no relations are specified. If relations are specified, this routine is a no-op). If no source is found, the first field in the lastMergedSourceWithProjection is used instead. The generated code element creator. Merges the set of query hints specified into the query hints set of this query. Clones this instance. a shallow copy of this instnace Creates the relation collection to use. Sets the alias properly The alias suggestion. Gets or sets the filter to use. Gets or sets the relations to use. Gets or sets the group by collection to use. Gets or sets the sorter to use. Gets or sets the number of rows to take. 0 == all elements. Gets or sets the number of rows to skip. Default 0. Gets or sets the projection to perform to make this set an actual set. If null, no projection has been defined. Gets or sets the flag to signal that duplicates are allowed or not. Gets or sets the prefetch path to use. Gets or sets the exclude include fields list to use. Gets the stack of derived table definitions which were the direct source of a groupby query. When an aggregate function which targets a GroupBy is handled, and its argument is an expression, the function is performed on a set which is defined by a derived table in the from clause. As all aggregates which target a groupby are in the projection of the groupby, the set they work on is in the derived table which is the source of the groupby. LLBLGen Pro stores derived tables in a DynamicRelation in the relations collection of the QueryExpression created from the groupby. By storing the derived table created in such process on the stack of this property, we can keep track of that derived table and adjust it if necessary. Top of the stack is the most outer derived table. Gets or sets a flag which signals the query merger not to merge the source of the origin of this query into this query if this flag is false. Default: true. When this QueryExpression had to be merged with a source query expression and this wasn't possible, the source query is converted into a derived table and placed inside a dynamic relation in the RelationsToUse collection. It is also placed, as QueryExpression into this member so projection construction, if required, is possible with this query expression. This source always has a projection, otherwise the source was mergable. Gets or sets the last merged source which had a projection or was an entity. This is used in the case if this query gets merged into another query which doesn't have relations but does have a projection with the first field an expression field, so it doesn't have a real source. To prevent not having a source in the runtime (so no FROM clause is emitted), the first field object has to be replaced with a clone of the first field in the value of LastMergedSourceWithProjection (though it keeps its expression/aggregate of course). The field borrowed from LastMergedSourceWithProjection has the source information to target and the runtime will know the source. The runtime itself has code to find the source, but this can fail in some edge cases if the first field is a complicated CASE statement inside a function call, created by All()/Any() calls as last method in a query or a boolean expression in the projection. Flag to signal the execution engine (this flag is inherited by the resulting QueryExpression) that if there are more than one resulting element, the engine should throw an exception. Flag is required to handle Single() and SingleOrDefault() Flag to signal the execution engine (this flag is inherited by the resulting QueryExpression) that if there are less than one resulting element, the engine should throw an exception. Flag is required to handle Single(). Gets the pk fields of the last correlation relation merged into this query. Gets or sets a value indicating whether the target of the query is a derived table. This is important if this query gets an entity projection, which then has to be converted into a multi-field projection if the type is in an inheritance hierarchy. Gets or sets the source aliases used in this query. Only set after has ran. Gets or sets a value indicating whether the resultset of this query has to be cached or not. Gets or sets the tag the resultset should be cached under. By default this is the empty string (no tag) Gets or sets the duration how long the cached resultset should stay in the cache. Gets or sets a value indicating whether the cached resultset should be Gets or sets the aliases of entities already type filtered. The aliases in this set have already received a type filter, and all fields with the same alias can be skipped for type filtering in the pipeline further Gets or sets the optional tag for the SQL query/queries to relate SQL strings in an RDBMS with an origin. Returns the set of query hints specified for this query. Specific expression class which represents a relation collection, one or more relation objects. This collection is simple, it just contains the relation collections and has no real type. It's used as an intermediate result for joinexpression evaluation if more than one join is present and is also the source of a selectexpression, the final result of a joinexpression hierarchie. Initializes a new instance of the class. type the expression results in. This is actually the type of the join result. Adds the relations passed in. the relations to add Adds the relation. The relation to add. Adds the relation. The relation to add. Adds the specified from clause directives to the wrapped relationcollection. To add. Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Gets the relations of this RelationCollectionExpression object. Special expression class which is used in expression tree handling to represent a SelectExpression node. The SelectExpression class is used to specify a tree with a projection and an IQueryable source, as well as potentially joins, where etc. Initializes a new instance of the class. Type of the set element. Initializes a new instance of the class. Type of the set element. The type of expression. Adds the sort clause. To add. Adds the specified hint to the set of hints of this select. Returns a textual representation of the . A textual representation of the . Handles this instance using the specified handler. The handler to handle this instance. Returns the set of query hints specified for this query. Gets or sets the projection of the select Gets or sets the filter for the select Gets or sets the prefetch path definition. gets or sets the excludeincludefields expression for the select. Gets or sets a value indicating whether the select allows duplicate rows (no distinct) or not (distinct). Gets or sets the number of rows to take. 0 == all rows Gets or sets the sort expression to use in this select. Gets or sets the number of rows to skip. Gets or sets a value indicating whether the resultset of this query has to be cached or not. Gets or sets the tag the resultset should be cached under. By default this is the empty string (no tag) Gets or sets the duration how long the cached resultset should stay in the cache. Gets or sets a value indicating whether the cached resultset should be Flag to signal the execution engine (this flag is inherited by the resulting QueryExpression) that if there are more than one resulting element, the engine should throw an exception. Flag is required to handle Single() and SingleOrDefault() Flag to signal the execution engine (this flag is inherited by the resulting QueryExpression) that if there are less than one resulting element, the engine should throw an exception. Flag is required to handle Single(). Gets or sets a flag which signals the query merger not to merge the source of this select into this select if this flag is false. Default: true. Gets or sets the optional tag for the SQL query/queries to relate SQL strings in an RDBMS with an origin. Special expression class which is used in expression tree handling to represent a Set node. This class is specialized for more special sets. Initializes a new instance of the class. Type of the set element. Initializes a new instance of the class. Type of the set element. The type of expression. Appends the query specified as a unioned query with the operator specified. Merges the specified union list into the set expression's unionlist. Assigns a new alias to this set, if necessary The mappings. Sets the RequiresProjection flag if this expression isn't an EntityExpression Handles this instance using the specified handler. The handler to handle this instance. Gets the requires projection flag value for complete hierarchy. It can be this setexpression has the flag set to false, however its source has the flag set to true. This routine is required for QueryExpressionBuilder's routines for handling where, sortclause and groupby, which have postponed element handling: first their source is handled and then the elements of the expression (e.g. filter, sortclause etc.). As the source is already handled, it could be the source was flattened together, while the element in the where, sortclause or groupby would made the merge to fail, IF it would have been handled and placed inside the top select expression to flatten. (Where, sortclause and groupby are converted to select expressions, then handled) These QueryExpressionBuilder routines set the MergeIfSourceHasProjection flag to false if the source has a projection or requires a projection in the end. To do so, it requires this routine, as it can be the source is wrapped inside an empty select expression (or expressions!) which are placeholders for distinct, take, takepage or skip values. the value requested A new alias was set, using AssignNewAliasIfRequired. Use this method to map a wrapped expression to the alias set in the tracker passed in. The mappings. Gets or sets the source expression of the select Gets or sets the Alias assigned to this set. Flag which is set if this set requires a projection to be usable. This flag is later on used to determine if a projection has to be injected into the processing result of this set if there's none defined (true), or not (false). Default is false; Gets or sets the AliasContainer which contains the aliases inside this direct set which are reachable only INSIDE this set. If null, it has no aliases directly inside this set, it can be the source might have contained aliases. Gets or sets a value indicating whether this instance is extraction locked, which means a where/orderby extractor won't touch it. Set of unioned queries with this set expression Gets whether there are unioned queries in this query (true) or not (false) Special expression class which is used in expression tree handling to represent a reference to a set with an alias elsewhere in the tree. Initializes a new instance of the class. Type of the set element. The alias. Handles this instance using the specified handler. The handler to handle this instance. Special expression class which is used in expression tree handling to represent a sort clause Initializes a new instance of the class. Type of the set. The operator to use. The element to sort lambda. Handles this instance using the specified handler. The handler to handle this instance. Returns a textual representation of the . A textual representation of the . Gets or sets the sort operator to use for this clause Gets or sets the lambda expression which defines the element to sort Special expression class which is used in expression tree handling to represent a typed view type node. This can be a set or a single typed view row. The expression type is set to the type represented by this expression in the tree. The TypedViewType property is set to the type of the TypedViewRow class represented by this expression. Initializes a new instance of the class. The type this expression represents in the expression tree (e.g. entity or entitycollection) The typed view type enum value. The typed view fields. Handles this instance using the specified handler. The handler to handle this instance. Gets the representing object for this typed view for the dynamic relation side. If this typed view wraps a tvf call, this tvf call is returned (and which gets this typed view's alias) otherwise this typed view's type is returned. Returns a textual representation of the . A textual representation of the . Gets the typed view field object with the name specified for the typed view with the enum type value specified. Name of the field. If null or empty, it will return the first field. A new alias was set, using AssignNewAliasIfRequired. Use this method to map a wrapped expression to the alias set in the tracker passed in. The mappings. Gets or sets the type of the typed view row as represented by this TypedViewExpression. Gets the typed view type enum value, in int form. Used to create fields objects for the typed view. Gets or sets the tvf call object wrapped with this typedviewexpression. If set, this typed view expression is the return element of the function wrapped. Expression class which define a where expression, as a replacement for a MethodCallExpression representing a call to Queryable.Where and the complete subtree Initializes a new instance of the class. Type of the set element. Handles this instance using the specified handler. The handler to handle this instance. Returns a textual representation of the . A textual representation of the . Gets or sets the filter lambda, which is the lamdba passed into the where method call Specific expression handler which checks for all setaliases found in the expression to handle if they're reachable, and if not, it will try to retrieve the reachable alias. Does this for EntityFields only as those are the ones which require this operation in some situations. Handler is used in a specific case, where an expression's handled variant is used to replace an expression elsewhere in the tree, which means aliases change. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the entity expression. The expression to handle. Handles the entity field expression. The expression to handle. Handles the LLBLGenProExpressionExpression. The expression to handle. Specific expression handler which finds all Alias scopes (every 'RequiresProjection' border is seen as a new alias scope), and stores all aliases found inside such a scope in a newly pushed scope in the AliasSourceMappings. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Pushes the scope if required. To check. Adds the alias to active alias container. To add. Gets the initial container pushed onto the stack if there wasnt a root node with a projection. If null, the root node of the tree did have a projection and the container is already stored in that node. Specific expression handler clones EntityExpression and EntityFieldExpression instances, and with that the rest of the passed in expression. The cloning is based on the working of the genericexpressionhandler which makes copies of an expression if an element has changed. Cloner changes entityexpressions and entityfieldexpressions so a lambda referencing indireclty an EntityFieldExpression gets cloned entirely. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the entity expression. The expression to handle. Handles the entity field expression. The expression to handle. Handles the query expression. The expression to handle. The handled expression Clones the alias passed in and adds it to the cache. To clone. clone of alias passed in Gets or sets a value indicating whether relations inside entityfieldexpressions are copied to the clones. Default is true. Specific expression handler which looks up a correlationRelation in the tree to process and stops when one is found. It also removes the found correlationRelation from the entity expression it was found on, if the flag is set to true. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the entity expression. The expression to handle. Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Gets the correlation relation found. Gets or sets a value indicating whether this handler should remove found relation from containing expression. Specific expression handler which converts all elements passed in into entityfieldexpression objects with the name specified with the element and which targets a derived table with the alias specified. This is required for (among other things) groupby key references for example as these fields are always fields targeting a derived table. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. The alias to target. dictionary of elements per name which have to be replaced by derivedtable fields.. Handles the query expression. The expression to handle. The handled expression Handles the LLBLGenProExpressionExpression. The expression to handle. Handles the entity field expression. The expression to handle. Converts to derived table field expression. To convert. Specific expression handler replaces parameters in expression with the expression specified in a list for that parameter. CTor From to set. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Handles the lambda expression. The expression to handle. the handled lambda expression Gets or sets The set of expressions to replace with the expression to replace it with. Simple key creator which tries to create a unique key for the expression tree handled. Initializes a new instance of the class. Creates a key from the expression specified. Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Handles the unary expression. The expression to handle. the handled unary expression Handles the binary expression. The expression to handle. the handled binary expression Handles the type binary expression. The expression to handle. the handled expression Handles the constant expression. The expression to handle. the handled expression Handles the parameter expression. The expression to handle. the handled expression Handles the member expression. The expression to handle. the handled expression Handles the method call expression. The expression to handle. the handled expression Handles the lambda expression. The expression to handle. the handled lambda expression Handles the NewExpression expression The expression to handle. the handled expression Handles the member binding. The binding to handle. the handled binding Handles the element initializer. The initializer to handle. the handled initializer Generic class for the expression handlers. This base class defines the overall mechanism engine and derived class(es) fill in the blanks how various elements have to be converted to LLBLGen Pro elements. Code based on Matt Warren's example: http://blogs.msdn.com/mattwar/archive/2010/07/31/linq-building-an-iqueryable-provider-part-ii.aspx The traceswitch for the Linq Expression handler. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Handles the filter expression specified the expression to handle the handled expression Handles the set reference expression. The expression to handle. the handled expression Handles the exclude include fields expression. The expression to handle. Handles the query expression. The expression to handle. The handled expression Handles the prefetch path expression. The expression to handle. Handled expression Handles the path edge expression. The expression to handle. handled expression Handles the db function call expression. The expression to handle. Handles the unary type as expression. The expression to handle. Handles the except expression. The expression to handle. the handled expression Handles the like expression. The expression to handle. Handles the in memory eval candidate expression. The expression to handle. Handles the in clause expression, which is an expression representing a call to Contains on a list of values. The expression to handle. Handles the contains expression. The expression to handle. Handles all any expression. The expression to handle. Handles the LinqExpression as set expression. The expression to handle. Handles the group by key reference expression. The expression to handle. thge handled expression Handles the unary expression of type 'Not'. The expression to handle. the handled expression Handles the length of the unary array. The expression to handle. the handled expression Handles the sort clause expression. The expression to handle. Handles the LLBLGenProExpressionExpression. The expression to handle. Handles the aggregate expression. The expression to handle. Handles the specified unionlist and its contained set expressions. Will return a new list if one or more set expressions changed after handling. Handles the entity field expression. The expression to handle. Handles the entity expression. The expression to handle. Handles the typed view expression. The expression to handle. Handles the default if empty expression. The expression to handle. Expression which represents the interpreted defaultifempty expression. Handles the projection expression The expression to handle. Expression which represents the interpreted projection expression in LLBLGen Pro form Handles the JoinResult expression. The expression to handle. Expression which represents the interpreted select expression in LLBLGen Pro form Handles the select expression. The expression to handle. Expression which represents the interpreted select expression in LLBLGen Pro form Handles the select expression. if a new one has to be created, the newInstance is filled, otherwise it's ignored. The expression to handle. The new instance. true if a new instance is required to be created, otherwise false Handles the join expression. The expression to handle. Expression which represents the interpreted join expression in LLBLGen Pro form Handles the groupjoin expression. The expression to handle. Expression which represents the interpreted groupjoin expression in LLBLGen Pro form Handles the group by expression. The expression to handle. Handles the where expression. The expression to handle. Expression which represents the interpreted where expression in LLBLGen Pro form Handles the unary convert expression. The expression to handle. Expression which represents the interpreted unary convert expression in LLBLGen Pro form Handles the binary expression with a boolean operator. The expression to handle. Expression which represents the interpreted binary expression in LLBLGen Pro form Handles the binary expression with arithmetic or bit operator. The binary expression. Expression which represents the interpreted binary expression in LLBLGen Pro form Handles the member binding. The binding to handle. the handled binding Handles the element initializer. The initializer to handle. the handled initializer Handles the unary expression. The expression to handle. the handled unary expression Handles the binary expression. The expression to handle. the handled binary expression Handles the type binary expression. The expression to handle. the handled expression Handles the constant expression. The expression to handle. the handled expression Handles the conditional expression. The expression to handle. The handled expression Handles the parameter expression. The expression to handle. the handled expression Handles the member expression. The expression to handle. the handled expression Handles the method call expression. The expression to handle. the handled expression Handles the expression list. The list to handle. The handled expression list Handles the member assignment. The assignment to handle. the handled assignment. Handles the member member binding. The binding to handle. the handled binding Handles the member list binding. The binding to handle. the handled binding Handles the member binding list. The list to handle. Handles the element initializer list. The list to handle. the handled list Handles the lambda expression. The expression to handle. the handled lambda expression Handles the NewExpression expression The expression to handle. the handled expression Handles the member init expression. The expression to handle. the handled expression Handles the list init expression. The expression to handle. the handled expression Handles the new array expression. The expression to handle. the handled expression Handles the invocation expression. The expression to handle. expressionToHandle Finds the group join expression using the alias of the right side. It then creates a copy of it (and its contents) so the caller can manipulate it. The alias of group join right side. copy of found groupjoin expression or null if not found. Converts the expression passed in to a SetExpression, if it's not already a set. To convert. toConvert converted into a SetExpression derived class instance. Finds the function mapping associated with the method/function specified. Name of the function. Type of the defining. The number of parameters. function mapping to use or null if not found. Finds the function mapping associated with the method/function specified. The method. function mapping to use or null if not found. Finds the function mapping associated with the property specified. The property. function mapping to use or null if not found. Inits the class. Traces the scope start. To log. Traces the scope end. To log. Traces the line. The minimum level. To log. The args. Gets the mappings of various objects defined during the process operations of the expression tree. Gets the generated code element creator. Gets the framework element creator. Gets the function mappings. Class which finds all in-memory evaluation candidate expressions using a generic expression tree handler. An expression is an in-memory evaluation candidate if it has no dependencies on elements outside itself, e.g. parameters aren't referring to elements outside the local subtree. Initializes a new instance of the class. The candidates to wrap into InMemoryEvalCandidateExpression instances. The tracked mappings. Wraps the specified expression into InMemoryEvalCandidateExpression instances if applicable. To wrap. the passed in expression wrapped into InMemoryEvalCandidateExpression object Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Class which checks whether a parameter is dependent on elements outside the current subtree being evaluated. If so, the subtree can't be used as an in-memory evaluation candidate. Initializes a new instance of the class. The tracked mappings. Determines whether the specified to check is independent, i.e. has no parameters depending on elements outside the expression passed in. To check. The tracked mappings. true if the passed in expression is independent, i.e. has no parameters depending on elements outside the expression passed in. Handles the lambda expression. the handled lambda expression Handles the parameter expression. The expression to handle. the handled expression Gets/sets the flag if the current expression to check is independent (true) or not (false). Class which does the actual candidate finding. Initializes a new instance of the class. The tracked mappings. Finds the candidates. To examine. the set of candidates found Handles the method call expression. The expression to handle. the handled expression Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Handles the member expression. The expression to handle. the handled expression Rewrites join trees by extracing where/orderby clauses and moving them up if possible. This is required before aliasscoper can do its job. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Reworks the join tree if required. This means that it will extract nonprojection containing where/orderby expressions from subbranches and will move them up front to avoid unnecessary scoping. To rework. the reworked tree. Merges the extracted expressions into a tree with the containingJoin, in such a way that the extractedExpressions become parents of the containing join. They also will get their RequiresProjection flag set to false. The containing join. The extracted expressions. Changes the type for sort clause. The sort clause expression. The new type. Changes the type for where. The where expression. The new type. Specific expression handler which traverses a lambda expression and collects all EntityFieldExpression, EntityExpression, QueryExpressions and LLBLGenProExpressionExpression elements in the lambda and converts them into array index / parameter access expressions. This handler is used to convert a lambda found in a projection into a delegate to be used to produce values for projections in an llblgen pro projection Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Processes the lambda passed in. To process. The processed lambda, with new parameters and all gatherable elements converted to array index elements. Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Handles the unary convert expression. The expression to handle. Expression which represents the interpreted unary convert expression in LLBLGen Pro form Handles the NewExpression expression The expression to handle. the handled expression Handles the member assignment. The assignment to handle. the handled assignment. Handles the method call expression. The expression to handle. the handled expression Handles the invocation expression. The expression to handle. expressionToHandle Handles the db function call expression. The expression to handle. Handles the LLBLGenProExpressionExpression. The expression to handle. Handles the constant expression. The expression to handle. the handled expression Handles the query expression. The expression to handle. The handled expression Handles the entity expression. The expression to handle. Handles the entity field expression. The expression to handle. Handles the element to gather. The expression to handle. The name of element to use if no name information is available on the stack. Creates a linq expression which produces the value in the values parameter at the index found in indicesParameter[index] The index in indices which is used by the element we're about to replace. Type of the element to have. expression to be used as a replacement of the found element to gather Adds the element to collector. To add. Gets the parameter index to gathered element list. Gets the gatheredelement to parameter name list. This list is used to determine the parameter name inside a ctor related to a gathered element or member init which is used for aliasing query elements. Gets the gatheredelement to parameter type list. Specific expression handler for converting expressions in the expression tree into entity field and entity type expressions, which are later on reduced by various handlers to LLBLGen Pro oriented elements. As it's the last step before the QueryExpressionBuilder step, it also does some fore-work for expressions which aren't really handled here, like the groupjoin's right-side expression extraction. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the default if empty expression. The expression to handle. Expression which represents the interpreted defaultifempty expression. Handles the unary type as expression. The expression to handle. Handles the groupjoin expression. The expression to handle. Expression which represents the interpreted groupjoin expression in LLBLGen Pro form Handles the LinqExpression as set expression. The expression to handle. Handles the parameter expression. The expression to handle. the handled expression Handles the member expression. The expression to handle. the handled expression Handles the member is part of select. The expression to handle. The member container. The member alias. Select expression which wraps the select expression passed in Handles the member which is part of an entity field's value or a functioncall's result. This is typical a property read on a value, e.g. the length of a string. This is handled via a function call mapping, if available. The expression to handle. The member container. Handles the member which is part of a parameter value. The expression to handle. the handling result Handles the member which is part of a set, represented by a SetExpression. The expression to handle. The member container. The member alias. the handling result Handles the member which is part of an entity. The expression to handle. The member container. the handling result Handles the member is part of typed view. The expression to handle. The member container. Specific expression handler which extracts non-projection expressions from the expression passed in, if there's no projection in the branch currently traversed. This is necessary in complex join scenario's where a where or orderby expression in one side of the join could contain another join and the where/orderby has to be moved upwards instead of being part of the side of a join and therefore has to be extracted from that expression tree. The extracted expressions are stored in a single list to all be handled and merged with the expression containing the expression passed in, and the expression the expressions are extracted from is stripped from these expressions. Not all where expressions are extracted: If a GroupJoin's Right side or DefaultIfEmpty is seen, keep the where clauses. Currently extracted expressions: WhereExpression, SortClauseExpression. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Inits this instance. Extracts the expressions, if any. To crawl. processed toCrawl, if no projection was seen, otherwise toCrawl and nothing was changed. Handles the default if empty expression. The expression to handle. Expression which represents the interpreted defaultifempty expression. Handles the groupjoin expression. The expression to handle. Expression which represents the interpreted groupjoin expression in LLBLGen Pro form Handles the where expression. The expression to handle. Expression which represents the interpreted where expression in LLBLGen Pro form Handles the select expression. The expression to handle. Expression which represents the interpreted select expression in LLBLGen Pro form Handles the join expression. The expression to handle. Expression which represents the interpreted join expression in LLBLGen Pro form Handles the sort clause expression. The expression to handle. Gets the extracted expressions, if any. Gets a value indicating whether [select with projection seen]. Gets or sets a value indicating whether [extract where clauses]. Default true Gets or sets a value indicating whether [extract sort clauses]. Default true Gets or sets a value indicating whether [stop at first join]. Default false Gets or sets a value indicating whether [extract all where clauses]. If set to false (default), only the where clauses which are NOT referred by (indirectly)a DefaultIfEmpty or rightside of a groupjoin are extracted (if enabled) Specific expression handler which converts various method calls into their special Expression classes and it also collects and assigns source - alias combinations. This is the first step in the evaluation of the expression tree. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Traces the initial expression to the trace output, if linq tracing is enabled. The initial expression. Verifies if the return type is IGrouping<>. If so, and the outer expression isn't a Select, it wraps the expression specified with a Select(x=>x) The expression to wrap. expressionToWrap, eventually wrapped with a select if necessary. Handles the invocation expression. The expression to handle. expressionToHandle Handles the LinqExpression as set expression. The expression to handle. Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Handles the in memory eval candidate expression. The expression to handle. Handles the binary expression. The expression to handle. the handled binary expression Handles the unary expression. The expression to handle. the handled unary expression Handles the length of the unary array. The expression to handle. Handles the unary convert expression. The expression to handle. Expression which represents the interpreted unary convert expression in LLBLGen Pro form Handles the conditional expression. The expression to handle. The handled expression Handles the parameter expression. The expression to handle. the handled expression Handles the NewExpression expression The expression to handle. the handled expression Handles the access to a member of a type or instance. This version only converts member access to objects into constants. The expression to handle. the handled expression Handles the constant expression. The expression to handle. the handled expression Handles the method call expression. The expression to handle. the handled expression Handles the method call to a ToString method. The expression to handle. Type of the declaring. DbFunctionCallExpression. Handles the method call expression for a call to Queryable.Except or to Queryable.Intersect The expression to handle. if true, the call is to Except, otherwise to Intersect ExceptExpression. Handles the call to the method Equals, in whatever type it is defined in. The expression to handle. Handles the method call expression for a call to a Contains method, be it on Queryable, IList, string or other type. The expression to handle. based on the declaring type, it will return a ContainsExpression, LikeExpression or InClause expression. Handles the method call expression for a call to Queryable.All or Queryable.Any. The expression to handle. if set to true [is all]. Handles the method call expression for a call to Queryable.GroupBy if an element selector has been specified, it can be ignored. If a projection has been specified, this groupby marks a scope. The expression to handle. GroupByExpression Handles the method call expression for a call to OrderBy, OrderByDescending, ThenBy and ThenByDescending The expression to handle. The operator to use. SortClauseExpression Handles the method call expression for a call to Queryable.Count. The expression to handle. The aggregate function representing the method. AggregateExpression instance. Handles the method call expression for a call to Queryable.DefaultIfEmpty. The expression to handle. DefaultIfEmptyExpression instance. It will reference the MemberExpression which leads to the right side of a group join. Handles the method call expression for a call to Queryable.SelectMany The expression to handle. JoinExpression, with LeftSelector and RightSelector set to null, as it implies a cross join. Handles the method call expression for a call to Queryable.Cast. This method call is used to cast from one entity type to another. All other casts in a query are done by Convert. The expression to handle. WhereExpression as a Cast is a typefilter for an entity type. Handles the method calls to IQueryable.ExcludeFields or IQueryable.IncludeFields The expression to handle. if set to true, the method call was ExcludeFields, otherwise IncludeFields ExcludeIncludeFieldsExpression Handles the method call expression for a call to Queryable.OfType. This method call is used to filter on a given entity type. The expression to handle. WhereExpression, as an OfType call is a typefilter for an entity. Handles the method call expression for a call to Queryable.Take. The expression to handle. SelectExpression Handles the method call expression for a call to Queryable.Skip. The expression to handle. SelectExpression Handles the method call expression for a call to Queryable.First. The expression to handle. if set to true, the call is a call to Queryable.Single, otherwise a call to Queryable.First if set to true, the call is a call to Queryable.SingleOrDefault or Queryable.FirstOrDefault SelectExpression Handles the method call expression for a call to Queryable.ElementAt(OrDefault). This is handled by doing a page fetch of size 1. The page number is the parameter value specified (+1, as ElementAt is 0 based). The expression to handle. Handles the method call expression for a call to Queryable.TakePage. TakePage is our own extension method for Queryable. The expression to handle. SelectExpression Handles the method call expression for a call to Queryable.WithPath The expression to handle. SelectExpression Handles the method call expression for a call to Queryable.WithHint The expression to handle. Handles the method call expression for a call to Queryable.WithHint The expression to handle. Type of the predicate. Handles the method call expression for a call to Queryable.Distinct. The expression to handle. SelectExpression Handles the method call expression for a call to Queryable.CacheResultset. The expression to handle. SelectExpression Handles the method call expression for a call to Queryable.MarkWithTag. The expression to handle. SelectExpression Handles the method call expression for a call to Queryable.Select. The expression to handle. Linq expresison which represents the Select call Handles the method call expression for a call to Queryable.Where. The expression to handle. Linq expression which represents the Where call. Handles the method call expression for a call to Queryable.Join The expression to handle. Linq expression which represents the Join expression. Handles the method call expression for a call to Queryable.GroupJoin The expression to handle. Linq expression which represents the GroupJoin expression. Handles the passed in method call based on the type it's defined on. The expression to handle. Type of the declaring. Gets the alias of the member contained in the memberAccess specified, or an empty alias if not found The member access. the alias of the member contained in the memberAccess specified, or an empty alias if not found Handles the queryable extension methods, except 'Contains'. The expression to handle. Handles the Union/Concat methods, which are handled as: the second argument set is merged into the first argument set with the operator specified. Handles the member which is part of a constant expression's value. The expression to handle. The member container. The handling result Handles the default operator overload method call. This is for String.==/!= overloads, which result in op_Equality and op_Inequality calls. The expression to handle. Type of the operator. Linq expression which represents the method with the operator type specified, either a UnaryExpression or a BinaryExpression or simply the operand, in the case of the UnaryPlus operator. Handles the method calls to string methods The expression to handle. Creates a DbFunctionCallExpression out of the parameters passed in and handles the arguments first (as they otherwise stay unhandled and the arguments are stored in a readonly collection.) The expression to handle. The function mapping to use. Ready to use DbFunctionCallExpression Finds the in memory evaluation candidates and wraps them into InMemoryEvalCandidateExpression instances To process. toProcess with every expression which is an in-memory evaluation candidate wrapped into InMemoryEvalCandidateExpression instances Makes a new projection expression from the passed in lambda and the passed in aliases are used for assigning a connection with them and the parameters of the lambda. This routine is used for projections join-like expressions The left alias. The right alias. The result projection lambda. Handles the side of a join passed in. The side. The side selector of the side in the join expression. The handled side expression. The handled side selector. Processes the passed in SelectMany side and returns the processed expression. The passed in expression is assumbed to be already handled The handled side. processed result Creates a paging select expression. Type of the destination. The source. The page number. Size of the page. Cleans up the lambda expression by first evaluating in-memory candidates, and then removing unary quote wrappers. To clean up. Evaluates the in memory candidate if present. This is sometimes necessary because an expression as argument is first examined before it's evaluated. To check. Wraps the typed view expression in a select expression. To wrap. Determines the hintable expression from the source: it's either the source itself or a source element found by traversing the Source property of the source. The source. it now simply finds the first hintable element expression. It doesn't try to be clever with scope checks as the typedview/list poco's have a projection generated for them although they're single elements and we can't deterime this here as multiple hint specifications ruin checks on e.g. DataSourceBase. Specific expression handler which evaluates JoinExpression nodes and converts them into a RelationCollectionExpression object or JoinResultExpression objects. It also handles SelectExpressions and reduces the tree. This has to be combined together in one evaluator because the joinExpression nodes can only be constructed if SelectExpressions (which can be one side of a join) can be reduced to full QueryExpressions. JoinResultExpressions are consumed by this same handler, if possible in the first take, into QueryExpressions. If the final query doesn't result in a QueryExpression, this class is used in a loop till it has resulted in a QueryExpression. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Handles the path edge expression. The expression to handle. handled expression Handles the prefetch path expression. The expression to handle. Handled expression Handles the exclude include fields expression. The expression to handle. Handles the type binary expression. The expression to handle. the handled expression Handles the unary expression. The expression to handle. the handled unary expression Handles the aggregate expression. The expression to handle. An LLBLGen Pro ScalarQueryExpression object wrapped in an LLBLGenProExpressionExpression object. Handles the aggregate expression referencing a group by expression. This routine uses a different code path than the aggregate handler for a normal set, as the aggregate is replaced by a field reference and the aggregate information is inserted into the groupby object. The expression to handle. The handled source. THis is a SetReferenceExpression The handled source as query. This is the QueryExpression resulting from the GroupBy the source refers to. The handled argument. The handled element selector of the targeted groupby. EntityFieldExpression which references the aggregating field in the projection of the GroupByExpression which forms a separate Query. Inserts the aggregate field into the group by projection. The groupby is passed in as its QueryExpression handled result. The aggregate field. The group by as query. Type of the aggregate result. The field aggregated and inserted. Handles the aggregate expression referencing a normal set. The expression to handle. The handled source. The handled source as query. The handled argument. An LLBLGenProExpressionExpression which wraps the created ScalarQueryExpression object which represents the aggregate Handles the binary expression with arithmetic or bit operator. The binary expression. Expression which represents the interpreted binary expression in LLBLGen Pro form Handles the shift operator in expression. Type of the target. The value to shift. The number of bits. The operator to use. DbFunctionCallExpression the passed in operands are already handled. Handles the binary expression. The expression to handle. the handled binary expression Handles the group by key reference expression. The expression to handle. if the key contains a single field, it returns an EntityFieldExpression, otherwise a New expression which represents a ctor call on the anonymous type Handles the member expression. The expression to handle. the handled expression Handles the group by expression. The expression to handle. Handles the DbFunctionCallExpression passed in The expression to handle. LLBLGenProExpressionExpression with inside its DbFunctionCall object. Handles the where expression into a QueryExpression without projection. This is done by first producing a SelectExpression which is then handled by the SelectExpression handler. The expression to handle. the handled where expression Handles the in clause expression, which is an expression representing a call to Contains on a list of values. The expression to handle. FilterExpression with the predicate expression representing this InClause. Handles the like expression. The expression to handle. Handles the except / intersect expression. The expression to handle. the handled expression, which is a QueryExpression. Handles the contains expression. A ContainsExpression is always about a source S which is a SetExpression and an operand O which is either an entity, constant or query. The expression to handle. Creates the contains exist filter for Contains call with a constant value or an object with properties as operand on a projection of a query on a set of entities where the projection contains 1 field or a construction of a similar object as the operand (multiple fields in projection) This is situation B for Contains calls on queries which work on entities or sets of entities: Source of ContainsExpression is query on entity set which produces a projection with 1 or more fields and operand of ContainsExpression is value or object with values in properties The handled source. The handled operand. The correlation relation of source. Creates the contains exist filter for a Contains call with an entity as operand on a set of entities (entity collection) or query which produces an entity set. This is 'situation A' for Contains calls on queries which work on entities or sets of entities: Source of ContainsExpression is entity set and operand of ContainsExpression is an entity or producing an entity The handled source. The handled operand. The correlation relation of source. Handles all any expression. The expression to handle. Handles the sort clause expression into a QueryExpression without projection. THis is done by first producing a selectexpression which is then handled by the SelectExpression handler. The expression to handle. The handled sortclause expression An expression representing the handled boolean operator. If the top of the stack is true, it treats the operator as an expression operator if the top of the stack is false, the operator is seen as a predicate operator and left alone. We need to make this distinction as LLBLGen Pro uses expressions and predicates differently. Handles the binary expression with boolean operator with two separate operands (so no AndAlso or OrElse operator) The expression to handle. The left side. Assumed it's already handled. The right side. Assumed it's already handled. the binary expression converted into a filter. Handles the binary expression which has both sides as binary expressions themselves (e.g. operator is AndAlso or OrElse The expression to handle. The handled left side. The handled right side. Coerces the set reference to a full query if it's a groupby expression. This is required if the setreference is in a projection. In that case, the groupby has to be converted into a nested query construct which returns a set of Grouping(Of TKey, TElement) elements. The referenced group by which was referenced by a setreferenceexpression in a projection. The group by converted into a full queryexpression (without the groupby clause) Handles the method call expression. The expression to handle. the handled expression Handles the entity field expression. The expression to handle. Handles the entity expression. The expression to handle. Handles the NewExpression expression The expression to handle. the handled expression Handles the member assignment. The assignment to handle. the handled assignment. Handles the new array expression. The expression to handle. the handled expression Handles the set reference expression. The expression to handle. the handled expression Handles the projection expression The expression to handle. Expression which represents the interpreted projection expression in LLBLGen Pro form Handles the groupjoin expression. The expression to handle. Expression which represents the interpreted groupjoin expression in LLBLGen Pro form Handles the lambda expression. the handled lambda expression Handles the default if empty expression. The expression to handle. Expression which represents the interpreted defaultifempty expression. Handles the join expression. The expression to handle. Expression which represents the interpreted join expression in LLBLGen Pro form, which is a JoinResultExpression, containing the relations of sources as the Source in a RelationCollectionExpression + the projection of the expression passed in. Produces the filter from extracted where clauses. The extracted where clauses. The extra relations. Handles the JoinResult expression. The expression to handle. Expression which represents the interpreted select expression in LLBLGen Pro form Handles the select expression. The expression to handle. Expression which represents the interpreted select expression in LLBLGen Pro form forces the alias the query currently has as the source alias of the query elements. THis means that if the query passed in has no projection and the relation collection's SelectListAlias is empty, it is set to the alias of the query This is sometimes required (e.g. in Contains query elements) if the query will become a derived table and it has no projection nor relations set but DOES have a filter set. If this query would be the most outer query to execute, the projection would get the alias of the query as well, so this routine does this as well for the case if the query becomes a derived table, without forcing a projection onto the query. The query to examine. Converts the passed in linq query into a QueryExpression. If the expression is already a query expression, nothing is done. To convert. toConvert as QueryExpression Creates a derived table definition from the expression to convert. The expression to convert. The alias for the derived table. ready to use derived table definition Creates a dynamic relation from the parameters passed in. The left operand. The right operand. Type of the join. The alias of the left operand. The alias of the right operand. The on clause. DynamicRelation object. left and right operands can be: DerivedTableDefinition, a Type (entity type) or a string (entity name) Produces the predicate for the onClause. both sides have to be of the same type. If both are an entity field, create a field compare field (expression) predicate. The handled left selector. The handled right selector. The left extra relations. The right extra relations. Handles one side of the creation of an onClause. The handled side. The extra relations. Is reset to null first. value to use in predicate for on clause for the side the caller called this routine for. Creates a derived table definition for a scalar query which targets a groupby. This is necessary when the scalar is an aggregate function applied to a set and the set isn't a set of single field values, plus the aggregate function is part of a groupby. This means that the set producing query is wrapped as a derived table, which is used as the source for the scalar query. This method is typically the same as CreateDerivedTableForScalar, except it uses the groupby fields instead of the correlationRelation and it also does source folding (folds existing relations of the groupByQUery into the created derived table. The LLBL expression to wrap as projection in the derived table. The expression currently handled. The group by query. The field to aggregate by the caller. Creates a derived table definition for a scalar query. THis is necessary when the scalar is an aggregate function applied to a set and the set isn't a set of single field values. This means that the set producing query is wrapped as a derived table, which is used as the source for the scalar query. The LLBL expression to wrap as projection in the derived table. The expression currently handled. The handled source of expressionCurrentlyHandled as queryexpression. The field to aggregate by the caller. Creates the set filter for correlated set with entities. Based on the operand type, we've to either wrap the handledSource's result into a nested EXISTS query (if operand is a query) or simply use a filter on the PK of handledSource's result with the fields read from the operand (if operand is an entity instance, wrapped in a constant). The handled operand. The set filter. The source alias to use. The entity type of source set. Creates the set filter for correlated set with values. Based on the operand type, we either use simple field compare value predicates (operand is constant or object with fields), or if operand is a query: a field compare Set predicate where a single field is compared (if operand query has 1 field in projection) or a nested EXISTS query. The handled operand. The source alias to use. The handled source as query. Determines the result projection member names for left and right side. THis is required as a join with a valuelist is referred to by the member name. We then therefore have to set the alias of the valuelist's field to the member name The result projection. Name of the left side member. Name of the right side member. Produces the boolean result value from binary in memory expression. The left operand. The right operand. The operator to use. Gets the FK fields from the first correlation relation found in the expression tree passed in. The expression currently handled. Finds the first correlation relation in expression. The expression to traverse. if set to true [remove from expression if found]. CorrelationRelation if found, otherwise null; Coerces the passed in expression to a filter expression. To coerce. the passed in expression as a filterexpression Creates the unique field alias to use for an aggregate field to add to the list of fields so it's unique The existing fields. name to use in field list Creates field filters for all different field values found for each field in the list of fields passed in. If there's 1 field, an IN query is used, otherwise a set of OR queries which OR-s together a series of predicate expressions with AND, one predicate expression per set of field values (and inside the predicate expression a predicate per field): ((Field1=@val1) AND (Field2=@val2)) OR ((Field1=@val3) AND (FIeld2=@val4)) etc... The fields. The field values. Per ROW all values for the field [row index] are stored. Every column resembles 1 object.. The object alias. Produces the filter for an entity in a list of entities based on the pk fields of the entity. Type of the entity. The list of entities. The object alias. ready to use filter. Handles and processes the passed in side of a join expression. The side. The side selector. The handled side. The handled side selector. The alias of the side in string format. Flattens the query expression passed in. To flatten. Produces the predicate for in clause based on projection. The projection. The source alias. The values. The set field. setFilter Handles the prefetch path edges. The edge expressions. Handles the aggregate function with no argument which is targeting a full query. The expression to handle. The handled source as query. The scalar relations. The aggregate field which should contain the aggregate function. Handles the ctor or member assignment parameter. The expression. Performs the actual SetReference handling. Forces the set reference handling if required. The handled element. Specific expression handler which converts any expression not already a QueryExpression into a QueryExpression. This class is used for special cases like: var q = metaData.Customer; so 'q' is not really an expression tree but a single Constant expression. but it also makes sure that for example LLBLGen Pro expressions in the form of a scalarqueryexpression object created by an additional scalar method call on a query, are converted into a query. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the entity expression. The expression to handle. QueryExpression, where the entity expression is simply converted into a QueryExpression Handles the LLBLGenProExpressionExpression. The expression to handle. Specific expression handler which detects all instances which will be forced to become a query but aren't defined as such. The elements which fall into this category are moved where/orderby clauses which are locked in place and which are the element of a join side without a projection. This means that when they're handled, they'll be converted to a query, which then enforces a scope, however this scope is unknown to the rest of the system and the AliasScoper, so aliases wrapped into this scope are seen as part of the outer scope and the resulting query will fail. This class is used in the alias scoper after join trees have been rewritten by extracting where / order by clauses. This visitor flags when it's in a join side and from then on will set RequiresProjection to true for all where/orderby expressions. When it sees an expression with RequiresProjection set to true, it will stop correcting till it again is in a join side. Initializes a new instance of the class. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Handles the join expression. The expression to handle. Expression which represents the interpreted join expression in LLBLGen Pro form Handles the where expression. The expression to handle. Expression which represents the interpreted where expression in LLBLGen Pro form Handles the sort clause expression. The expression to handle. Visitor which finds (if any) the assignment of a parameter to a member in a constructor and if so, will return the member info of the member the parameter is assigned to. This is primarily used to find the property of the anonymous type a parameter will be assigned to in a projection lambda of a groupjoin. This is only necessary for VBNET. CTor The generated code element creator. The framework element creator. The tracked mappings. The function mappings. Finds the assignment (if any) of the parameter given in the lambda in the lambdaBodyToTraverse, which is expected to be a NewExpression Class for extension methods on datasource(2) elements. Sets the wrapped TVF call on the datasource specified. To set. The TVF call. Class for the LLBLGen Pro extension methods for Queryable. Executes source asynchronously and stores the results in a new TResult[]. Requires the IQueryable to implement ILLBLGenProQuery. The type of the result. The source. The results of source in a new TResult[]. Not usable wrapped inside a Linq query. Use this method to execute a linq query asynchronously. Enumerates results twice. Executes source asynchronously and stores the results in a new TResult[]. Requires the IQueryable to implement ILLBLGenProQuery. The type of the result. The source. The cancellation token. The results of source in a new TResult[] Not usable wrapped inside a Linq query. Use this method to execute a linq query asynchronously. Enumerates results twice Executes source asynchronously and stores the results in a new List(Of TResult). Requires the IQueryable to implement ILLBLGenProQuery. The type of the result. The source. The results of source in a new List(Of TResult). Not usable wrapped inside a Linq query. Use this method to execute a linq query asynchronously Executes source asynchronously and stores the results in a new List(Of TResult). Requires the IQueryable to implement ILLBLGenProQuery. The type of the result. The source. The cancellation token. The results of source in a new List(Of TResult). Not usable wrapped inside a Linq query. Use this method to execute a linq query asynchronously Executes the specified IQueryable's asynchronously. Requires the IQueryable to implement ILLBLGenProQuery. The source. The results of source Not usable wrapped inside a Linq query. Use this method to execute a linq query asynchronously source isn't implementing ILLBLGenProQuery. Can't execute the query asynchronously;null;null;null Executes the specified IQueryable's asynchronously. Requires the IQueryable to implement ILLBLGenProQuery. The source. The cancellation token. The results of source Not usable wrapped inside a Linq query. Use this method to execute a linq query asynchronously source isn't implementing ILLBLGenProQuery. Can't execute the query asynchronously;null;null;null Executes the specified IQueryable's asynchronously. Requires the IQueryable to implement ILLBLGenProQuery. The type of the result. The source. The results of source source isn't implementing ILLBLGenProQuery. Can't execute the query asynchronously;null;null;null Not usable wrapped inside a Linq query. Use this method to execute a linq query asynchronously Executes the specified IQueryable's asynchronously. Requires the IQueryable to implement ILLBLGenProQuery. The type of the result. The source. The cancellation token. The results of source in a new List(Of TResult). Not usable wrapped inside a Linq query. Use this method to execute a linq query asynchronously source isn't implementing ILLBLGenProQuery. Can't execute the query asynchronously;null;null;null Async variant of CountColumn The type of the source. The type of the column. The source. The selector. A projection function to apply to each element. The number of values. doesn't apply DISTINCT to the set to count. If you want the total of distinct values, use the overload which accepts a boolean. Async variant of CountColumn. The type of the source. The type of the column. The source. The selector. A projection function to apply to each element. The cancellation token. The number of values. doesn't apply DISTINCT to the set to count. If you want the total of distinct values, use the overload which accepts a boolean. Async variant of CountColumn. The type of the source. The type of the column type. The source. The selector. A projection function to apply to each element. if set to true, DISTINCT is applied on the set to count. The number of distinct values. Async variant of CountColumn. The type of the source. The type of the column type. The source. The selector. A projection function to apply to each element. if set to true, DISTINCT is applied on the set to count. The cancellation token. The number of distinct values. Async variant of StandardDeviation. The type of the source. The type of the column type. The source. The selector. The standard deviation over the values in the column specified by selector. doesn't apply DISTINCT. If you want the standard deviation over only distinct values, use the overload which accepts a boolean. Async variant of StandardDeviation. The type of the source. The type of the column type. The source. The selector. The cancellation token. The standard deviation over the values in the column specified by selector. doesn't apply DISTINCT. If you want the standard deviation over only distinct values, use the overload which accepts a boolean. Async variant of StandardDeviation. The type of the source. The type of the column type. The source. The selector. if set to true, DISTINCT is applied on the set the standarddeviation is applied on The standard deviation over the values (distinct values if applyDistinct is true) in the column specified by selector. Async variant of StandardDeviation. The type of the source. The type of the column type. The source. The selector. if set to true, DISTINCT is applied on the set the standarddeviation is applied on The cancellation token. The standard deviation over the values (distinct values if applyDistinct is true) in the column specified by selector. Async variant of Variance. The type of the source. The type of the column type. The source. The selector. The variance over the values in the column specified by selector. doesn't apply DISTINCT. If you want the variance over only distinct values, use the overload which accepts a boolean. Async variant of Variance. The type of the source. The type of the column type. The source. The selector. The cancellation token. The variance over the values in the column specified by selector. doesn't apply DISTINCT. If you want the variance over only distinct values, use the overload which accepts a boolean. Async variant of Variance. The type of the source. The type of the column type. The source. The selector. if set to true, DISTINCT is applied on the set the variance is applied on The variance over the values (distinct values if applyDistinct is true) in the column specified by selector. Async variant of Variance. The type of the source. The type of the column type. The source. The selector. if set to true, DISTINCT is applied on the set the variance is applied on The cancellation token. The variance over the values (distinct values if applyDistinct is true) in the column specified by selector. Executes the specified IQueryable. Requires the IQueryable to implement ILLBLGenProQuery. The source. The results of source Not usable wrapped inside a Linq query source isn't implementing ILLBLGenProQuery. Can't execute the query Executes the specified IQueryable. Requires the IQueryable to implement ILLBLGenProQuery. The type of the result. The source. The results of source source isn't implementing ILLBLGenProQuery. Can't execute the query Not usable wrapped inside a Linq query. Specifies a table/view hint for the target TSource is mapped on. The type of the source. The source to specify the table/view hint for. The hint specification to apply to the target source is mapped on. source can't be null Specifies a hint for this query. It depends on the specified hintKind in what way the hint will be used: as a target hint or as a query hint. The type of the source. The source to specify the table/view hint for. The hint specification to apply to the target source is mapped on. the type of the hint, which directs how the hint will be used in the SQL query source can't be null Specifies a temporal table predicate on source for the System Time. The type of the source. The source. The predicate to apply. The argument1. Optional The argument2. Optional Specifies a temporal table predicate on source for the Business Time. The type of the source. The source. The predicate to apply. The argument1. Optional The argument2. Optional Specifies a list of fields to exclude for an entity fetch. The type of the source The source to specify the fields to exclude for The fields to exclude An IQueryable(Of T) that has the fields to exclude set Specifies a list of fields to include for an entity fetch. All fields not specified aren't fetched (fields which are required like fk fields are always fetched) The type of the source The source to specify the fields to include for The fields to include An IQueryable(Of T) that has the fields to include set Specifies a prefetch path with the edges specified when fetching source. The type of the source. The source. The path edges. An IQueryable(Of T) that has the specified path with the edges fetched as related entities, using prefetch paths. Specifies a prefetch path with the path edges specified in the form of a chain of method calls using lambda expressions. The type of the source. The source. The edge specifier func. An IQueryable(Of T) that has the specified path with the edges fetched as related entities, using prefetch paths. (some query).WithPath(path=>path.Prefetch<OrderEntity>(c=>c.Order).Excluding(o=>o.RequiredDate, o=>o.ShippedDate); Specifies a prefetch path for the source. Use this overload if you have existing code which produces prefetch path objects for you The type of the source. The source. The path to use with source. An IQueryable(Of T) that has the specified path set as the prefetch path to use. Returns the pageNumber-th page of size pageSize from the sequence the method is applied on. The type of the source. The source. The page number. Size of the page. An IQueryable(Of T) that contains the specified page of the specified size. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The source. The duration in seconds how long the resultset will stay in the cache. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The source. The duration in seconds how long the resultset will stay in the cache. The cache tag. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The source. The duration in seconds how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The source. The duration in seconds how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. The cache tag. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The source. The duration how long the resultset will stay in the cache. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The source. The duration how long the resultset will stay in the cache. The cache tag. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The source. The duration how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. source;source can't be null Specifies that the query's resultset should be cached for the duration specified. Only one tag is kept per complete query. Specify the tag you want to use on the outermost query expression. The type of the query. The source. The duration how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. The cache tag. source;source can't be null Specifies the tag to append as comment into the SQL query / queries generated from the query specified. Use the tag to trace back the origin of a SQL query in the RDBMS. the query to tag the string to insert as comment into the SQL query/queries. Don't use '/*' and '*/' markers in your tag. If the tag is null or empty, it's ignored. the type of the query the query specified returns the number of values in the set specified by selector which is 1 column wide. The type of the source. The type of the column. The source. The selector. A projection function to apply to each element. The number of values. doesn't apply DISTINCT to the set to count. If you want the total of distinct values, use the overload which accepts a boolean. returns the number of distinct values in the set specified by selector which is 1 column wide The type of the source. The type of the column type. The source. The selector. A projection function to apply to each element. if set to true, DISTINCT is applied on the set to count. The number of distinct values. returns the standard deviation over the column specified by selector. The type of the source. The type of the column type. The source. The selector. doesn't apply DISTINCT. If you want the standard deviation over only distinct values, use the overload which accepts a boolean. The standard deviation over the values in the column specified by selector. returns the standard deviation over the column specified by selector. The type of the source. The type of the column type. The source. The selector. if set to true, DISTINCT is applied on the set the standarddeviation is applied on The standard deviation over the values (distinct values if applyDistinct is true) in the column specified by selector. returns the variance over the column specified by selector. The type of the source. The type of the column type. The source. The selector. doesn't apply DISTINCT. If you want the variance over only distinct values, use the overload which accepts a boolean. The variance over the values in the column specified by selector. returns the variance over the column specified by selector. The type of the source. The type of the column type. The source. The selector. if set to true, DISTINCT is applied on the set the variance is applied on The variance over the values (distinct values if applyDistinct is true) in the column specified by selector. Async variant of Queryable.All The type of the source. The source. The predicate. Async variant of Queryable.All The type of the source. The source. The predicate. The cancellation token. Async variant of Queryable.Any The type of the source. The source. Async variant of Queryable.Any The type of the source. The source. The cancellation token. Async variant of Queryable.Any The type of the source. The source. The predicate. Async variant of Queryable.Any The type of the source. The source. The predicate. The cancellation token. Async variant of Queryable.Average The source. Async variant of Queryable.Average The source. The cancellation token. Async variant of Queryable.Average The source. Async variant of Queryable.Average The source. The cancellation token. Async variant of Queryable.Average The source. Async variant of Queryable.Average The source. The cancellation token. Async variant of Queryable.Average The source. Async variant of Queryable.Average The source. The cancellation token. Async variant of Queryable.Average The source. Async variant of Queryable.Average The source. The cancellation token. Async variant of Queryable.Average The source. Async variant of Queryable.Average The source. The cancellation token. Async variant of Queryable.Average The source. Async variant of Queryable.Average The source. The cancellation token. Async variant of Queryable.Average The source. Async variant of Queryable.Average The source. The cancellation token. Async variant of Queryable.Average The source. Async variant of Queryable.Average The source. The cancellation token. Async variant of Queryable.Average The source. Async variant of Queryable.Average The source. The cancellation token. Async variant of Queryable.Average The type of the source. The source. The selector. Async variant of Queryable.Average The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Average The type of the source. The source. The selector. Async variant of Queryable.Average The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Average The type of the source. The source. The selector. Async variant of Queryable.Average The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Average The type of the source. The source. The selector. Async variant of Queryable.Average The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Average The type of the source. The source. The selector. Async variant of Queryable.Average The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Average The type of the source. The source. The selector. Async variant of Queryable.Average The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Average The type of the source. The source. The selector. Async variant of Queryable.Average The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Average The type of the source. The source. The selector. Async variant of Queryable.Average The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Average The type of the source. The source. The selector. Async variant of Queryable.Average The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Average The type of the source. The source. The selector. Async variant of Queryable.Average The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Contains The type of the source. The source. The item. Async variant of Queryable.Contains The type of the source. The source. The item. The cancellation token. Async variant of Queryable.Count The type of the source. The source. Async variant of Queryable.Count The type of the source. The source. The cancellation token. Async variant of Queryable.Count The type of the source. The source. The predicate. Async variant of Queryable.Count The type of the source. The source. The predicate. The cancellation token. Async variant of Queryable.ElementAt The type of the source. The source. The index. index Async variant of Queryable.ElementAt The type of the source. The source. The index. The cancellation token. index Async variant of Queryable.ElementAtOrDefault The type of the source. The source. The index. Async variant of Queryable.ElementAtOrDefault The type of the source. The source. The index. The cancellation token. Async variant of Queryable.First The type of the source. The source. Async variant of Queryable.First The type of the source. The source. The cancellation token. Async variant of Queryable.First The type of the source. The source. The predicate. Async variant of Queryable.First The type of the source. The source. The predicate. The cancellation token. Async variant of Queryable.FirstOrDefault The type of the source. The source. Async variant of Queryable.FirstOrDefault The type of the source. The source. The cancellation token. Async variant of Queryable.FirstOrDefault The type of the source. The source. The predicate. Async variant of Queryable.FirstOrDefault The type of the source. The source. The predicate. The cancellation token. Async variant of Queryable.LongCount The type of the source. The source. Async variant of Queryable.LongCount The type of the source. The source. The cancellation token. Async variant of Queryable.LongCount The type of the source. The source. The predicate. Async variant of Queryable.LongCount The type of the source. The source. The predicate. The cancellation token. Async variant of Queryable.Max The type of the source. The source. Async variant of Queryable.Max The type of the source. The source. The cancellation token. Async variant of Queryable.Max The type of the source. The type of the result. The source. The selector. Async variant of Queryable.Max The type of the source. The type of the result. The source. The selector. The cancellation token. Async variant of Queryable.Min The type of the source. The source. Async variant of Queryable.Min The type of the source. The source. The cancellation token. Async variant of Queryable.Min The type of the source. The type of the result. The source. The selector. Async variant of Queryable.Min The type of the source. The type of the result. The source. The selector. The cancellation token. Async variant of Queryable.Single The type of the source. The source. Async variant of Queryable.Single The type of the source. The source. The cancellation token. Async variant of Queryable.Single The type of the source. The source. The predicate. Async variant of Queryable.Single The type of the source. The source. The predicate. The cancellation token. Async variant of Queryable.SingleOrDefault The type of the source. The source. Async variant of Queryable.SingleOrDefault The type of the source. The source. The cancellation token. Async variant of Queryable.SingleOrDefault The type of the source. The source. The predicate. Async variant of Queryable.SingleOrDefault The type of the source. The source. The predicate. The cancellation token. Async variant of Queryable.Sum The source. Async variant of Queryable.Sum The source. The cancellation token. Async variant of Queryable.Sum The source. Async variant of Queryable.Sum The source. The cancellation token. Async variant of Queryable.Sum The source. Async variant of Queryable.Sum The source. The cancellation token. Async variant of Queryable.Sum The source. Async variant of Queryable.Sum The source. The cancellation token. Async variant of Queryable.Sum The source. Async variant of Queryable.Sum The source. The cancellation token. Async variant of Queryable.Sum The source. Async variant of Queryable.Sum The source. The cancellation token. Async variant of Queryable.Sum The source. Async variant of Queryable.Sum The source. The cancellation token. Async variant of Queryable.Sum The source. Async variant of Queryable.Sum The source. The cancellation token. Async variant of Queryable.Sum The source. Async variant of Queryable.Sum The source. The cancellation token. Async variant of Queryable.Sum The source. Async variant of Queryable.Sum The source. The cancellation token. Async variant of Queryable.Sum The type of the source. The source. The selector. Async variant of Queryable.Sum The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Sum The type of the source. The source. The selector. Async variant of Queryable.Sum The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Sum The type of the source. The source. The selector. Async variant of Queryable.Sum The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Sum The type of the source. The source. The selector. Async variant of Queryable.Sum The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Sum The type of the source. The source. The selector. Async variant of Queryable.Sum The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Sum The type of the source. The source. The selector. Async variant of Queryable.Sum The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Sum The type of the source. The source. The selector. Async variant of Queryable.Sum The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Sum The type of the source. The source. The selector. Async variant of Queryable.Sum The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Sum The type of the source. The source. The selector. Async variant of Queryable.Sum The type of the source. The source. The selector. The cancellation token. Async variant of Queryable.Sum The type of the source. The source. The selector. Async variant of Queryable.Sum The type of the source. The source. The selector. The cancellation token. Verifies that the parameter with the value specified and the name specified isn't null The value. The name. value is null Creates the exclude include fields call expression for ExcludeFields and IncludeFields. The type of the source. The source. The method called. The field specifications. Creates the temporal table predicate call expression. The type of the source. The source. The method called. The predicate. The argument1. The argument2. source can't be null Creates the aggregate call expression for non distinct aggregate calls The type of the source. The type of the column type. The method called. The source. The selector. Linq expression call to an aggregate method, namely the method represented by methodCalled. Creates the aggregate call expression for non distinct aggregate calls The type of the source. The type of the column type. The method called. The source. The selector. if set to true [apply distinct]. Linq expression call to an aggregate method, namely the method represented by methodCalled. Extension method class for own Expressionclasses Determines whether the passed in expression type is an LLBLGenProExpressionType enum value Type of the expression. Gets the LLBLGenProExpressionType enum value Type of the expression. Gets the node type as string. Type of the expression. Class with .NET framework extension methods, specific for this library Determines whether toCheck is the same type as toCompareWith, and ignoring whether toCompareWith is a nullable type or not. So bool and Nullable(Of bool) are equal for this method. To check. To compare with. Adds the alias passed in to the first container found on the stack passed in/ Converts the list to a readonly collection. The source. Determines whether the type this method is called on is an enumerable type. if t is of type string, it returns false. The type. true if t implements IEnumerable and isn't of type string, false otherwise Determines whether the type specified is an anonymous type. The type to examine. true if the type is an anonymous type, false otherwise. Simple class which is used to store the function mapping stores so they can be passed around. Initializes a new instance of the class. The function mappings. Finds the function mapping associated with the method/function specified. Name of the function. Type of the defining. The number of parameters. function mapping to use or null if not found. Finds the function mapping associated with the method/function specified. The method. function mapping to use or null if not found. Finds the function mapping associated with the property specified. The property. function mapping to use or null if not found. Finds the function mapping for the property/method/function with the key specified. The key. the mapping sought or null if not found Class which implements the IGrouping interface to return grouped results in a query type of the grouping key type of the elements grouped Initializes a new instance of the class. The key. The grouped elements. Gets the key of the . The key of the . Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Simple bucket class which is used to store fetch results of a hierarchical fetch. It contains row data as well as the materialized object. Initializes a new instance of the class. Finds the parents for the children in this resultset and merges the children with the parents The parent data. The nested query of which this object contains the results of Assumes parent hash values are already calculated Determines if a child should be merged with this parent, based on maxcounters. The max counters. Index of the parent. The max number of children per parent. If 0, no limit is set true if there's no limit or if the limit for children for this parent hasn't been reached for this nestedquery The list of plain row data, in object rows. Gets or sets the set of hash values (with per hashvalue the indexes of the plain data/materialized object related to that hash) per field combination. The indices of the materialized / child objects per parent object of this resultset. List of materialized objects, which is the result of the query, ready to be returned. Interface which is implemented on the LinqMetaData class in the generated code. returns the datasource to use in a Linq query for the entity type specified the type of the entity to get the datasource for the requested datasource Interface for the edge list of WithPath and PathEdge ctor. Adds the from clause directive specified to this element To add. Gets the filter lambda for this edge Gets the sort clause expressions, which are created from the lambda expressions. Ignored if Sorter is set. Gets the prefetch path element which specifies the entity collection or single entity to fetch with using this edge Gets the sorter to use when fetching the related entity/ies. If not set, SortClauseExpressions are assumed. Gets the limiter to limit the # of elements returned. 0 is all elements (default) Gets the list of child edges of this edge, which are the edges from the related entity further down the path. Gets the end type of the node, the entity type which acts as the child/ren to fetch for the parent entity (the type of the related entity/ies) Gets the fields to exclude or include. Gets a value indicating whether the query should use its parent's caching directive (false, default) or should bypass the parent's caching directive and always fetch the query from the database (true). The From Clause directives (hints/temporal predicates) to use for this node. Interface which is implemented on LLBLGenProQuery(Of T), which is the type of the object returned from the construction of a linq query with the LLBLGenPro meta data as source. This interface can be used to execute the query without the enumerator retrieval. Executes the query this object represents. The query execution result. Executes the query this object represents The type of the query result the query execution result Async variant of . Executes the query this object represents. The query execution result. Async variant of . Executes the query this object represents. The cancellation token. The query execution result. Async variant of . Executes the query this object represents The type of the query result the query execution result Async variant of . Executes the query this object represents The type of the query result the query execution result Interface which is used on expression classes which propagate a set of relations upwards which once belonged to elements inside the implementing object. Adds the relations passed in. The relations to add. Gets the relations required to access this element. Can be null (which means: no relations needed) This collection is filled if the element represented by this expression is a related element so a relation is required to reach that element. The relations in this collection are always IEntityRelation, as dynamic relations aren't the result of an access of a related entity/collection, which are the source of the relations in this set. Interface which defines a creator which is specific for a template group, e.g. selfservicing or adapter. It creates elements which are specific for these template groups. Creates a new prefetch path object for the entity type specified. Type of the entity. ready to use prefetch path object. Creates a new FieldCompareValuePredicate. The field to compare. The predicate operator. The compare operand. ready to use predicate Creates a new FieldCompareExpressionPredicate The field to compare. The predicate operator. The compare operand. ready to use predicate Creates a new FieldCompareNullPredicate. The field to compare. ready to use FieldCompareNull predicate Creates a new FieldCompareRangePredicate instance. The field to compare. The value range for the IN clause. ready to use FieldCompareRangePredicate Creates a new FieldLikePredicate instance The field to compare. The pattern. ready to use fieldLikePredicate instance Creates a new EntityField(2) object which contains the expression passed in. The name is artificial. The expression to wrap in field. .NET Type of the data. ready to use entity field. Creates a new derived table referencing field, of type EntityField(2). Name of the field. The object alias (alias of set the field to refer to is in). .NET Type of the data. ready to use entity field Creates a new derived table referencing field, of type EntityField(2). Name of the field. The object alias (alias of set the field to refer to is in). .NET Type of the data. ready to use entity field Creates a new SortClause instance The field to sort. The operator to use. The object alias. ready to use SortClause instance Creates a new artificial field name the new field name to use Creates a new FieldCompareSetPredicate instance The field to compare. The set field. The operator to use. The set filter. The set relations. The set sorter. The set group by. The max number of items to return. The object alias. if set to true, the predicate will be negated. ready to use FieldCompareSetPredicate Interface which is implemented by the DataSource(2)(Of T) classes, and which is used to access the datasource objects without the generic parameter. Gets or sets the wrapped TVF call. Gets the type of the element in the datasource Gets the query provider that is associated with this data source. Gets the type of the expression, based on the information inside the object. Gets or sets the typed view enum type value, which is the value of the enum type for TypedViews if the type represented by this element is a typed view, -1 otherwise. Interface with methods for doing more complex work with prefetch path Specifies that the prefetch path should be filtered. Lambda expression specifying the filter This instance to allow for method chaining. Specifies that a sorting expression should be applied to the prefetched data. Lambda expression specifying the field to filter on. This instance to allow for method chaining. Specifies that a sorting expression should be applied to the prefetched data in descending order. Lambda expression specifying the field to filter on. This instance to allow for method chaining. Specifies a sub-path for the prefetch path. Delegate for creating the subpath. This instance to allow for method chaining Specifies a sub-path for the prefetch path. Use this overload to specify a subpath related to a subtype. The type of the sub path node. Delegate for creating the subpath. This instance to allow for method chaining The number of results returned should be limited to the specified number of items. Number of items to which the resultset should be limited. This instance to allow for method chaining Explicity Specifies fields on the prefetched data should be fetched from the database. Expressions containing the fields to be included. This instance to allow for method chaining Specifies which fields on the prefetched data should not be fetched from the database. Expressions containing the fields to be excluded This instance to allow for method chaining. Sets the NoCaching flag on the prefetch path node it is called on, signalling that the node has to be fetched from the database always even if the parent query uses resultset caching. This instance to allow for method chaining Specifies a table/view hint for the target of this prefetch path node The hint specification to apply to the target source is mapped on. Specifies a temporal table predicate for the System Time on the target of the prefetch path node. The predicate. The argument1. Optional The argument2. Optional Specifies a temporal table predicate for the System Time on the target of the prefetch path node. The predicate. The argument1. Optional The argument2. Optional Interface containing the 'core' methods of a lambda-based prefetch path. Type of the entity returned from the parant query (ie the root of the prefetch path) For creating complex prefetch paths. Type of entity to be prefetched. Lambda expression representing the field to prefetch this instance for method chaining: for performing sorting/filtering/limiting/excluding/including/subpaths on the prefetch path For creating simple prefetch paths, where all you need is to prefetch an entity/entitycollection and no sorting/filtering etc is required. A member access expression lambda, e.g. 'c=>c.Orders' to fetch related orders for a customer instance this instance for method chaining Class which embeds utility methods for linq support Initializes the class. Creates a p=>new T() { A = p.A, B=p.B, ...} expression for toWrap. Only fields of the typed view which have a corresponding property in the return type of toWrap are considered. To wrap. The creator. toWrap Creates a new DbFunctionCall object and wraps it inside a LLBLGenProExpressionExpression object. The expression to handle. The extra relations. The db function call parameters. new DBFunctionCall object wrapped inside a LLBLGenProExpressionExpression object. Grabs the first usable field in the projection definition passed in. For entity projections, this is the *last* field as due to inheritance it can be the first field is in the root of the hierarchy. For the caller this shouldn't matter. The projection definition. The generated code element creator. First field object in the projection passed in. Creates a new DbFunctionCall object and wraps it inside a LLBLGenProExpressionExpression object. Type of the return value of the function. The mapping. The extra relations. The db function call parameters. new DBFunctionCall object wrapped inside a LLBLGenProExpressionExpression object. Creates a pk filter on the PK fields of the passed in entity with the values in the passed in entity. The objectAlias is the alias of the set to filter. The entity instance. The object alias. The creator. if set to true, the provider is for selfservicing, otherwise for adapter The operator to use. PredicateExpression with 1 or more FieldCompareValuePredicate instances Creates a filter which compares the PK fields of the entity type passed in, for both aliases passed in, so: aliasWrappedSet.PkField1 = aliasNestedSet.PkField1 AND ... aliasWrappedSet.PkFieldn = aliasNestedSet.PkFieldn The entity type of source set. The alias of the wrapping set. The alias of the nested set. The framework creator. The element creator. if set to true, the provider is for selfservicing, otherwise for adapter Gets all pk fields of entity. Type of the entity. The creator. if set to true, the provider is for selfservicing, otherwise for adapter list of all the PK fields Gets all the pk fields of entity. The entity instance. if set to true, the provider is for selfservicing, otherwise for adapter Gets the type of value. The value. the type of the value passed in or type of DBNull.Value if the value is null Clones the field passed in. To clone. a clone of the field passed in with the expression / aggregate function equal to the passed in field. Clones the field passed in. To clone. flag to signal whether expression and aggregatefunction have to be reset clone of passed in field. Creates a usable db function call parameter value from the expression passed in. To convert. The framework element creator. The function mappings. usable parameter for LLBLGen Pro DbFunctionCall usage. Creates a new entity instance from the type specified. This routine uses a factory related to the type, not Activator, as some abstract entities may be used which don't have a public ctor. Falls back to activator if type is a custom type derived from an entity class. Type of the entity. The generated code element creator. ready to use entity instance Gets the entity factory for the entity type specified. Applies null checks with gracious error reporting for better clarity why it failed. The creator. Type of the entity. Can't obtain entity factory as creator is null or Can't obtain entity factory as entity type specified is null or Gets the field object from the entity passed in and sets its ObjectAlias to the alias passed in. The entity instance. Name of the field. The object alias. the Field object with the name specified, or null if not found Gets the field object with the name passed in from the entity specified. The entity instance. Name of the field. Gets the field object with the name passed in from the entity specified. The entity instance. Name of the field. if set to true, entityInstance is assumed to be an IEntity. This flag is used to optimize frequent calls to this routine. Obtains the pk values from list of entities. It creates a new array, with listOfEntities.Count rows and fields.Count columns. The list of entities. The pk fields. per column the PK field values for the entity corresponding with that row in listOfEntities. Per row, the pk values of the field at the same index in fields are stored (so if there is just 1 pk, the array has 1 array of values). Determines the comparison operator for predicate from the operands passed in. Type of the node. if true, the operator has to be the opposite as the operands were swapped Obtains the object values for all fields in the list of fields specified from list of objects passed in. The list of objects. The list of fields. Per field in ListOfFields a row is specified in the array returned which contains per slot the value of the property corresponding with that field in the object at that index in the list of objects Gets the name of the entity. If value is a string, value is returned as the string, if value is a type, GetEntityNameFromType is used to obtain the name The value to use to obtain the entity name. The generated code element creator. the name of the entity as represented by value Gets the name of the entity of the entity which type has been passed in. Type of the entity. The generated code element creator. name of entity, e.g. 'CustomerEntity' Gets the EntityType enum value as integer of the entity with the type specified. Type of the entity. The generated code element creator. Determines the type of the entity type from entity collection. Type of the entity collection. Creates the object creator func instance for instantiating objects of type TObject using the default constructor The type of the object. an instance of the ObjectCreatorFunc for the TObject type so quickly new TObject instances can be created.. Creates the object creator func instance for instantiating objects of type TObject using the constructor passed in. The type of the object. The constructor to use for creating the delegate. an instance of the ObjectCreatorFunc for the TObject type so quickly new TObject instances can be created.. Thanks to Roger Alsing for the idea: http://rogeralsing.com/ Gets all fields for entity. Type of the entity. The generated code element creator. Determines the entity type from passed in set expression. The expression to check. Adds the relations range in source to the relations collection called destination. If destination is null and source is not empty, a new relationcollection is returned with source's relations added to it. The destination. The source. destination with the relations of source added to it, or a new relationcollection instance if destination is empty and source isn't empty or null if destination is null and source is empty Adds the specified from clause directives to the relation collection specified. If the relation collection is null and there are from clause directives to add, a new relation collection is created. The destination. To add. Obtains the real value from constant expression and wrap it again in a ConstantExpression. The 'real' value is the value of the object referred to by the constant, e.g. an object property. The expression to handle. The member container. Replaces the first field in project. The projection. The field to set as first field. Gets the first field in projection. The projection. The element creator. the first field in the projection Gets all fields from projection. The projection. The element creator. Creates a predicate expression from the correlation relation passed in. It aliases all fields to the start/end alias set, and creates field compare field predicates (FieldCompareExpression instances) which are added with AND to the expression to return The correlation relation. The framework element creator. The tracked mappings. a PredicateExpression with predicates which can be used to tie a correlated subquery to the outer query. Creates a predicate expression from the correlation relation passed in. It aliases all fields to the start/end alias set, and creates field compare field predicates (FieldCompareExpression instances) which are added with AND to the expression to return The correlation relation. The framework element creator. The tracked mappings. The pk fields ofcorrelation. a PredicateExpression with predicates which can be used to tie a correlated subquery to the outer query. Creates a predicate based on the imput specified. The left operand. The predicate operator. The right operand. The framework element creator. Creates a predicate based on the imput specified. The field to compare. The predicate operator. The compare operand. The framework element creator. Creates a constant false predicate. This predicate results in a @param=0 predicate, where the param has a value of 1. the result the predicate should deliver The framework element creator. 1==0 comparing predicate if the result should be false, a 1==1 comparing predicate if the result should be true. Uses FieldCompareRangePredicate to accomplish this, which will produce 1=1 and 1=0 predicates based on an empty set of values and negate. Obtains a valid field from the entity of which the type is passed in. A valid field is a field which is located in that entity and also defined in that entity so not inherited from a supertype. Type of the entity. The generated code element creator. valid field of entity. Obtains a valid field from the entity of which the type is passed in. A valid field is a field which is located in that entity and also defined in that entity so not inherited from a supertype. Type of the entity. The generated code element creator. Preferred name of the field. If empty or null or not found, the last field in the fields list is returned. valid field of entity. Corrects the field's name if it targets a renamed field in a derived set. Creates a derived table definition from the expression to convert. The expression to convert. The alias for the derived table. The generated code element creator. The tracked mappings. The framework element creator. ready to use derived table definition Assumes expressionToConvert has been flattened to a single query expression. Creates the proper reference field from source field from projection. The target field. The target set alias. if set to true, the target is assumed to be a derived table (so the result field will be a derived table targeting field) The framework element creator. Determines the type of the elements in the set which type is passed in. Type of the set. the type of the element of the set, if determinable, otheriwse settype Determines the type of the elements in the set which type is passed in. Type of the set. if set to [unroll I grouping]. the type of the element of the set, if determinable, otheriwse settype Creates the derived table definition for adapter. The expression to convert. The alias for the derived table. The generated code element creator. The framework element creator. ready to use derived table definition Adapter specific Creates the derived table definition for selfservicing. The expression to convert. The alias for the derived table. The generated code element creator. The framework element creator. ready to use derived table definition SelfServicing specific Determines the inheritance hierarchy type of entity. Type of the entity. The generated code element creator. Obtains the type filter for the entity with the type specified. Type of the entity. The generated code element creator. The alias. Determines whether the passed in type is a nullable(Of T) type. If so, true is returned, otherwise false The type to check. true if passed in type is Nullable(Of T), otherwise false. returns the string representation of the element passed in or "(null)" if null. The element. Coerces the boolean expression to a db function call parameter. To coerce. The framework element creator. The function mappings. Coerces the predicate to predicate expression. To coerce. Produces the boolean producer lambda from boolean typed expression (which can be a filter or an LLBLGen expression with boolean operator) boolean expression in projection means it has to be wrapped inside a scalarquery expression which should be wrapped inside a field which then should be the parameter of a dbfunction call which represents a CASE statement. This db function call's result has to be processed by a lambda which checks if the dbfunction call's case statement returned 1 or 0 and returns true or false. The boolean typed expression. The function mappings. The framework element creator. The bool producer arguments. Lambda which can be used to obtain a boolean value from a resultset from a projectionfetch. Produces the proper boolean expression lambda, from the passed in lambda. If the passed in lambda's return type isn't bool it's returned as-is. Otherwise, it's checked whether it contains a boolean expression. If not, it's corrected. If it does, it's returned as-is. To fix up. Unwraps the expression from the not expressions it is wrapped in and returns the unwrapped result, as well as the # of not expressions encountered. The wrapped expression. The number of nots encountered. the unwrapped expression Produces an invocation lambda from the invocation expression passed in. It wraps the realLambda into a (values, indices) => realLambda(values[indexes[0]], values[indexes[1]], ...) call. To convert. The invocation arguments. Lambda which is usable in a projection. The passed in expression is already handled. Creates a bool producer lambda which is usable in projections via the ProjectionValueProducerFunc delegate. Checks if the cast from fromType to toType is an implicit cast. From type. To type. true if the cast is an implicit cast, false otherwise Fills the type groups lookup. Finds the type group the passed in type is in. To find. the typegroup of toFind or false if not found. Adds the path edge to the prefetch path passed in. The path. The edges. Adds the path edges to prefetch path element. The path element. The edges. Determines the type of the entity type from the type passed in. Type of the source. sourceType if sourceType is an entity type. if sourceType is a generic type which has an entity type as generic argument, the generic argument is returned. Adds the field to projection if not present already. If the projection is an entity projection, only the field aliases are compared. If the projection is a valuelist projection, field alias and field objectalias are compared. The field to check. The projection. The generated code element creator. index of the field in the projection. assumes fieldToCheck has already been cloned Compares two values based on their values using the ORMSupportClasses routine in FieldUtilities. This method is here to avoid breakage of Linq code without noticing it if the signature of the ORMSupportClasses routine changes. This routine has no code of its own, it simply calls into the FieldUtilities.ValuesAreEqual routine Changing this method's signature will break code. Do a search for methodinfo retrieval of this method before changing this methods signature Removes the passed in predicates from the filter to clean. The predicates to remove. The filter to clean. Determines the different values for nested query filter. This set of values is then used to build a parameterized query if possible. The current level data. The nested query. list of different values, per row in currentLevelData. It uses a string-based key where the values are stored as strings to avoid complex hashing algorithms to match duplicates. Calculates the hashes for the values in valuesToHash's plain row results for the values in the rows at the indices specified. The hashes are stored using a key calculated from the indices in the valuesToHash object The values to hash. The value indices. Calculates the row hash from the values at the specified indices The row data. The value indices. Hashvalue for the row for the fields at the specified fields. Creates the hash value key from indices. The value indices. Wraps the projection element in select passed in if required. This is necessary if the expression is an entity expression and it has a correlationrelation which means that the projection element contains a reference to a related entity which will result in a nested query. To check. Creates a scalarqueryexpression object from the query passed in. The query to convert. Assumes query passed in is a scalar query with a valuelistprojection of 1 field Coerces the linq expression to the targettype. To coerce. Type of the target. toCoerce if toCoerce's type is equal to targetType, otherwise it's wrapped in a Convert Strips out the projection from join result expression. To strip. JoinResultExpression without the projection Gets the element creator stored in the provider in the passed in queryable. The query from which the elementcreator instance should be obtained. the elementcreator object inside the provider inside the passed in query. Converts the local expression to a real object. This is done by a trick: we'll compile the whole expression as a lambda and run it. this will return the object, including initialization results and completely materialized as we want it. The passed in expression is for example a list or array initialization / ctor call. To utilize the in-memory object, we've to run this ctor to be able to use the values. This routine takes care of that. To convert. The result of the expression after running it wrapped in a ConstantExpression. Coerces the passed in linq expression to setexpression. If the passed in expression is a parameter, it will convert it to a setreference expression otherwise it will try to cast it to a setexpression. If this can't be done, in the situation where tocoerce isn't a setexpression, null is returned. To coerce. The tracked mappings. if set to true, it will throw an exception Checks if the passed in join is a full query or just a join. It's a full query if the projection lambda has as output type not a type which is build from the two input types. The join expression. Sets the proper hint for join in the relation passed in. It will set it to left join if the start entity is the fk side and the fk is nullable In all other cases it will stay Inner. It doesn't matter if the start entity is the PK side and the FK side is nullable: a left join or inner join will result in the same resultset. We can't do a right-join here as that would join towards the related entity and it would lead to nulls in the start entity which is the start of the navigation. The relation. Checks if the set of fields form together a nullable FK. The fk fields. true if the fields passed in form a nullable FK, false otherwise Projects the data in the array specified to entity instance defined by the projection data bucket. Used in projectors when a row contains entity data which has to be projected to an entity instance in a custom projection situation. The row values. The projection data bucket. entity instance created from the data specified Creates the key for expression. The expression. Handles the member which is mapped onto a relation and which is part of an entity The expression to handle. The member container. The tracked mappings. The generated code element creator. The handling result or null if the expression to handle couldn't be handled. Gets the entity type from member. Assumes the member is either an entity or a collection and the member is defined on an entity The member. Type of the containing type of the member. The entity type we're interested in which is represented by the member passed in. Checks the jointype if it has to be altered because it would otherwise ruin a left/right join The relation to check. The relations to check with. It's assumed this list is already correct Coerces the handled expression to a projection list expression. It converts the expression into a lambda which is compiled into a func which is usable to instantiate the projection result. To coerce. The generated code element creator. The framework element creator. The tracked mappings. The function mappings. projectionlist expression which represents the new expression passed in. Removes the unary quote expression wrappers. Some unary expressions are wrapped in Unary expressions which are of type Quote, and which simply wrap an inner expression. This method unwraps the inner expression, as we're not interested in the wrapper. To unwrap. the inner expression without the quote wrapper(s). if there are more nested quote wrappers, all are removed. Removes the convert expression wrappers, which are Unary expression which are simply Convert expression but don't do anything really useful. To unwrap. the inner expression of the convert expression Coerces the set reference expression to entity field expression if required. The target of toCoerce. To coerce. The generated code element creator. toCoerce if it's not a setreference expression, otherwise the first field in the projection of handledLeft, if it's a query Creates a projection for the query passed in, if it doesn't have a projection yet. To execute. The framework element creator. Creates a projection for the query passed in, if it doesn't have a projection yet. To execute. The framework element creator. The alias to use. Produces the value list projection to target query. The query to target. The alias to use. The framework element creator. Corrects the aliases of default if empty elements in the QueryExpression passed in. The handled expression. The replacement set. Determines whether the type passed in is a value type or a type which is a single value and thus should be considered a type a field could have. To check. true if the type is a single value type or false if not. Converts the query expression to scalar inside LLBL gen pro expression. To convert. ScalarQueryExpression wrapped in a LLBLGenProExpressionExpression if toConvert is a QueryExpression, otherwise it will return toConvert Removes the unnecessary converts for IEnumerable. These are introduced by the VB.NET compiler. The expression to handle. This method is different from RemoveConvertExpressionWrappers, because it only removes the convert expressions for IEnumerable. Filters the roots and sub types from the list specified. If a hierarchy root is found, all subtypes of that root are filtered out and are not returned by this method. Only subtypes which root isn't in the list to filter are returned. To filter. The generated code element creator. Flattens the set reference expression. To flatten. Selfservicing specific LLBLGenPro Linq provider class. Initializes a new instance of the class. The transaction to use. The creator to create project elements. The custom function mappings. The context to use for entity fetches. Creates the template group creator for this provider. ready to use creator Executes the query expression which contains an entity projection. To execute. the result of the execution of the query Executes the QueryExpression which contains a multi value list projection. To execute. the result of the execution of the query Executes a hierarchical value list projection. It's assumed that toExecute is a query which has 1 or more nested queries in the projection. To execute. The additional filter to use. This filter is used in fetching the data of this level. This filter is normally a filter based on the parent's filter/data. Is null if this is the first level/call. The framework element creator. result of projection Gets the function mappings defined by the DQE. The function mapping store as defined inside the DQE or null if none found. Executes the QueryExpression which contains a multi value list projection. To execute. The cancellation token. the result of the execution of the query Executes the query expression which contains an entity projection. To execute. The cancellation token. the result of the execution of the query Executes a hierarchical value list projection. It's assumed that toExecute is a query which has 1 or more nested queries in the projection. To execute. The additional filter to use. This filter is used in fetching the data of this level. This filter is normally a filter based on the parent's filter/data. Is null if this is the first level/call. The framework element creator. The cancellation token. result of projection Performs the pre nested query execution tasks. To execute. The framework element creator. The execution elements. The current level data. The current level results. The nested query. Sets up the projection elements for execution of the query passed in. The elements to use are stored in the returned object To execute. bucket with the elements to use for a successful execution of the query passed in. Gets the element creator. Creates the relation collection to pass. To execute. Creates the relation collection to pass. To execute. The alias suggestion. Performs the pre execute entity projection tasks. To execute. The entities. The parameters. Gets or sets the transaction to use. Adapter specific LLBLGenPro Linq provider class. Initializes a new instance of the class. The adapter to use. The creator to create project elements. The custom function mappings. The context to use for entity fetches. Creates the template group creator for this provider. ready to use creator Executes the query expression which contains an entity projection. To execute. the result of the execution of the query Executes the QueryExpression which contains a multi value list projection. To execute. the result of the execution of the query Gets the function mappings defined by the DQE. The function mapping store as defined inside the DQE or null if none found. Executes the query expression which contains an entity projection. To execute. The cancellation token. the result of the execution of the query Executes the QueryExpression which contains a multi value list projection. To execute. The cancellation token. the result of the execution of the query Executes a hierarchical value list projection. It's assumed that toExecute is a query which has 1 or more nested queries in the projection. To execute. The additional filter to use. This filter is used in fetching the data of this level. This filter is normally a filter based on the parent's filter/data. Is null if this is the first level/call. The framework element creator. The cancellation token. result of projection Executes the hierarchical value list projection. To execute. The cancellation token. Executes a hierarchical value list projection. It's assumed that toExecute is a query which has 1 or more nested queries in the projection. To execute. The additional filter to use. This filter is used in fetching the data of this level. This filter is normally a filter based on the parent's filter/data. Is null if this is the first level/call. The framework element creator. result of projection Produces the additional filter for the nested query so the nested query's results are filtered on the current level's results so only the results which possibly match a fetched element on the current level are retrieved. The current level data. The current level filter, used to fetch the current level data. The nested query. The framework specific creator. the filter to use Sets up the projection elements for execution of the query passed in. The elements to use are stored in the returned object To execute. bucket with the elements to use for a successful execution of the query passed in. Creates the relation predicate bucket from set filter elements. To execute. RelationPredicateBucket instance with the predicate and relations elements from the queryexpression specified. Creates the relation predicate bucket from set filter elements. To execute. The alias suggestion. RelationPredicateBucket instance with the predicate and relations elements from the queryexpression specified. Gets the element creator. Performs the pre execute entity projection tasks. To execute. the query parameters to use in the query No DataAccessAdapter instance set on LLBLGenProProvider2 instance. Can't execute query Performs the pre nested query execution tasks. To execute. The framework element creator. The execution elements. The current level data. The current level results. The nested query. Executes the hierarchical value list projection. To execute. Gets or sets the adapter to use for executing the query. Abstract base class for llblgen pro providers for Linq. This setting controls whether a specified Take(m) will overwrite an already specified row limit of a previous specified Take(n). By default this setting is set to false, which is different from the the behavior of v2.6-v4.0, which is equal to having this setting set to true. Example: metaData.Customer.Take(10).Take(20) will result in 20 rows when this setting is set to true. When set to false (default), this query will result in 10 rows, as taking 20 rows from a set of 10 will always result in a set of 10 rows. Global setting. If required, set this before you run your first linq query. Static value which has appdomain scope, and which controls the cache size for the compiled lambdas per thread. Every time the cache hits the set limit, it's cleared. Compiling lambda's is done in Select(lambda) calls to create typed projections. Flag which signals whether compiled lambda's should be cached (true) or that they have to be compiled every time (false). Switch to false if caching gives memory problems or otherwise odd results. Initializes a new instance of the class. The creator. The custom function mappings. if set to true, this provider is for selfservicing, false otherwise The context to use. Handles the nested entity query result and returns it in a hierarchy fetch result to be merged with a parent. The entities. Evaluates the expression tree. The expression. Gets all function mappings defined by the DQE and combines them with the custom function mappings specified. container with functionmapping stores with the known function mappings. Executes the expression. The handled expression. The type for post processing. Evaluates the expression tree. Copies the caching parameters of the parent query into the nested query so the nested query will also have its resultset cached. The parent query. The nested query. Materializes the current level data into objects and returns them in an Ilist. Data is stored in the target of the projector passed in. The value projectors. The projector. The current level data. Checks the projection. Throws a query construction exception if the projection can't be used to instantiate instances To check. Produces the additional filter for the nested query so the nested query's results are filtered on the current level's results so only the results which possibly match a fetched element on the current level are retrieved. The current level data. The current level filter, used to fetch the current level data. The current level relations. The nested query. The parameterized prefetch path threshold. The framework specific creator. the filter to use Creates the custom list or entity collection projector for a multi-value projection Type of the container element. The results. The projection instantiator. The indices. The pre projection data buckets, necessary to project entities from plain object array data. Creates the results container for a multi-value projection Type of the container element. The generated code element creator. Executes the query expression which contains an entity projection. To execute. the result of the execution of the query Executes the QueryExpression which contains a multi value list projection. To execute. the result of the execution of the query Gets the function mappings defined by the DQE. The function mapping store as defined inside the DQE or null if none found. Creates the template group creator for this provider. ready to use creator Gets the compiled version of the specified projection instantiator lambda. Caches results if the specified lambda can be cached which is checked with the CachableChecker visitor. To compile. Postprocesses the query result passed in. it will determine whether it will return a single value or the complete resultset. This is required as some queries have implicit single value returns, while the results are e.g. in an IList construct. The results. Type of the result. if set to true it will always return a single value. True if e.g. Single() or First() is called. the post-processing result Executes the specified expression. The type of the result. The expression. The cancellation token. Executes the query represented by a specified expression tree. An that represents a LINQ query. The type for post processing. if set to true it will perform post processing on the value using the typeForPostProcessing, otherwise the plain result is returned. The cancellation token. An that represents the result of executing the specified query. Executes the query expression which contains an entity projection. To execute. The cancellation token. the result of the execution of the query Executes the QueryExpression which contains a multi value list projection. To execute. The cancellation token. the result of the execution of the query Executes the expression asynchronous. The handled expression. The type for post processing. if set to true [perform post processing]. The cancellation token. Checks whether it should throw an exception because a Single(OrDefault) method call's contract was violated (0 or more than 1 value was obtained). To execute. To return. Performs the pre execute tasks. The handled expression. Query to execute Assures that the delegate cache is present Performs the execution of the expression specified and will post-process the query result for the resulttype specified. The expression. Type of the result. Creates the query. The type of the element. The expression. Constructs an object that can evaluate the query represented by a specified expression tree. An that represents a LINQ query. An that can evaluate the query represented by the specified expression tree. Executes the specified expression. The type of the result. The expression. Executes the query represented by a specified expression tree. An that represents a LINQ query. An that represents the result of executing the specified query. Gets / sets the context to use. Gets the creator. The creator. Gets or sets the custom function mappings to use. These take higher precedence than the ones in the DQE to use Generic query class which is returned from the Linq query source's CreateQuery method. This object is the result of the linq statement in C#/VB.NET code and which is the start point of the actual expression tree evaluation and execution. Initializes a new instance of the class. The provider. The expression. Executes this instance. the Execution result Returns a single value The value. Returns an empty enumerator Executes the query this object represents. The query execution result. Executes the query this object represents The type of the query result the query execution result Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Executes the query this object represents. The query execution result. Executes the query this object represents. The cancellation token. The query execution result. Executes the query this object represents The type of the query result the query execution result Executes the query this object represents The type of the query result The cancellation token. the query execution result Executes this instance. The type of the result. The cancellation token. the Execution result Gets the type of the element(s) that are returned when the expression tree associated with this instance of is executed. A that represents the type of the element(s) that are returned when the expression tree associated with this object is executed. Gets the expression tree that is associated with the instance of . The that is associated with this instance of . Gets the query provider that is associated with this data source. The that is associated with this data source. Class which is used to store various mappings between objects in various formats. These mappings are used to find back the aliases for objects, objects tied to aliases, etc. etc. Initializes a new instance of the class. if set to true [self servicing]. Initializes a new instance of the class. if set to true [self servicing]. If true, it will start a preprocessor scope Pushes the parameters specified as a new lambda parameter scope. The parameters. Pops the lambda parameter scope from the stack. Adds the specified field (which has to have its original name and alias) with its new name, which was assigned as an alias to the field due to a name clash / duplicate situation in a projection. Determines if the field specified with its original object alias was renamed (and thus tracked by this mapping tracker). If so, it will return the new name of the specified field. If not, it will return the field alias of the field object specified. the new name for the field specified, if it was renamed or the alias of the field specified if it wasn't Checks whether the specified type is a known typedview type, i.e. a type which has been handled properly inside a query as it then has been assigned an alias. The type to check. Adds the relation which is (indirectly) determined from a navigaton from the parameter specified. The parameter. The relation. Removes the relationship specified for all parameters it's been tracked for. This is required if the relationship has been used for a correlation predicate. To remove. Obtains the registered relations for parameter. These are relations which are successfully registered through AddRelationForParameter, thus relations which are results of navigations away form a parameter. The parameter. Begins the preprocessor scope. Preprocessor scopes are for assigning multiple aliases to the same member or other object, and obtaining an already assigned alias for a member or other object if it's in scope. Ends the preprocessor scope. Adds the alias for the expression key specified. The key. The alias. Adds the default if empty source alias for the default if empty alias specified. This is required to properly find back the real source if the element at hand is a defaultifempty alias. The source alias. The default if empty alias. Adds the derived table. To add. The alias of derived table query. Adds the projection of a query for the specified alias to the mappings. This is useful when we've a SetReferenceExpression which refers to a set with an alias and we need to obtain its projection (which is all we need from the referenced set anyway, the rest is already in the SetReferenceExpression. To add. The alias. Adds the derived table which is created from the queryexpression which was created from a group by with the groupByAlias passed in so we can find it back if we need to add a field to the derived table. The derived table. The group by alias. Adds the query for group by alias. To add. The group by alias. Adds the alias container to the list of known alias containers. To add. Creates a new SetAlias. ready to use SetAlias. Adds the alias-object relation for an aliased llblgen pro object (entity, derived table) These combinations are necessary to find back an object based on a relation so new relations can be build with the same object. The alias string. The aliased object. Adds the alias member info. The info. The alias. Adds the alias member info. The info. The alias. if set to true, it will add the alias to the current scope, otherwise it doesn't Finds the default if empty source alias for default if empty alias. The alias. Finds the default if empty source alias for default if empty alias. The alias. Finds the aliased LLBLGen Pro object with the alias string specified. The object is part of a join, and the alias is originating from a field which refers to elements in a source (e.g. join) The alias string. Entity type or DerivedTable object Returns the real alias for the member info specified, from the top scope to the bottom, and ignores scope rules. It will return the first matching real alias, without checking whether the alias is in scope. Finds the object alias for the member info specified. This is the alias assigned to the set which is represented by the memberinfo passed in which is a memberinfo on an anonymous type created in a Join expression as the result of the join. The MemberInfo to look the alias for. the alias to find, or empty alias if not found Walks all the scopes on the stack. Finds the object alias for the member info specified. This is the alias assigned to the set which is represented by the memberinfo passed in which is a memberinfo on an anonymous type created in a Join expression as the result of the join. The MemberInfo to look the alias for. The expression key of the member expression. If true (default) it will respect scope rules and will return the alias of a containing scope if an alias is found, otherwise it will return the first matching alias, whether it's in scope or not the alias to find, or empty alias if not found Walks all the scopes on the stack. Finds the object alias for the parameter specified. This is the alias assigned to the set which is represented by the type specified by the parameter passed in. If the parameter was a parameter of a selector of a side in a join expression, this parameter has the alias for the side it represented. The expression to handle. If true (default is false) it will return the real alias, otherwise the reachable alias. the alias related to the parameter or string.empty if not found Gets the alias specified for member info. The info. Returns true if the alias specified is an alias for a groupby expression. Determines whether the passed in alias is an alias of a created derived table. The alias. true if the alias is an alias for a derived table, otherwise false. Finds the QueryExpression object which was the result of the conversion of the GroupBy expression referenced by the alias specified. This routine is used to obtain a hold of a groupby to modify its query contents when the query is referenced by in an aggregate. The alias of the GroupBy expression which QueryExpression conversion result has to be obtained QueryExpression which was the conversion result of the GroupBy expression which alias is passed in. Finds the group join expression associated with the anonymous type specified Type of the anonymous. GroupJoinExpression if found, otherwise null Finds the group join expression based on the alias of the right side of the group join. The alias of right side. GroupJoinExpression if found, otherwise null Returns the alias of the left side of the group join with the alias specified or null if not found. Finds the group by expression represented by the alias passed in. The group by alias. GroupByExpression if found, otherwise null Finds the projection expression of the set with the alias specified. The alias. projectionexpression, if found, otherwise null. Finds the derived table object which was created from the queryexpression which was created from the groupby with the alias specified. Used to add aggregate fields to the derived table, which are added later on to the groupby. The group by alias. Adds the QueryExpression instance in the _queryFromGroupByPerAlias store for the alias set on the queryexpression. The query. Updates the group join instance in the dictionary stores in this class. As the handlers create new instances of groupjoin expressions each time a referenced element changes, these references have to be updated. The group join. Adds the alias of the left side of the group join with the alias specified to this tracker. Updates the group by expression in the dictionaries in this class. As the handlers create new instances of groupby expressions each time a referenced element changes, these references have to be updated. The group by. Pushes the alias container passed in to the internal stack. To push. Pops the alias container from the stack of active alias containers. checks if the type specified is a known anonymous type with member infos stored in this object type to check true if the type is known, false otherwise. Adds the specified anonymous type to the list of known anonymous types. Type of the anonymous. Checks if there's a groupjoin expression stored under the anonymous type as key true if found, false otherwise Adds the parameter - alias combination to the store. Parameter is key. The parameter. The alias. Finds the reachable alias for the caller if the passed in real alias is unreachable. Although realAlias points to an alias, it can be this alias is unreachable for the caller (i.e the alias is inside a subtree with a projection). if that's the case, the containing group alias has to be returned instead. FindReachableAlias produces that reachable alias (which can be multiple levels above the realAlias. The alias string. empty alias if passed in alias isn't a known alias. Finds the reachable alias for the caller if the passed in real alias is unreachable. Although realAlias points to an alias, it can be this alias is unreachable for the caller (i.e the alias is inside a subtree with a projection). if that's the case, the containing group alias has to be returned instead. FindReachableAlias produces that reachable alias (which can be multiple levels above the realAlias. The real alias. the alias the caller can reach instead. Checks if the alias passed in is in scope. The alias to check. true if the alias is 'in scope' (in one of the containers on the stack, or the alias of a right side of a groupjoin), or false otherwise. Sets the found caching directive. Is used at the end of query construction to set the caching directive of the outer query. if set to true [cache resultset]. Duration of the cache. if set to true [overwrite if present]. The cache tag. Finds the aliascontainer which contains the alias specified. To find. the aliascontainer containing the alias or null if not found Gets the preprocessor alias in scope. The info. The expression key. Finds the derived table for alias. The alias. Finds the typed view expression for alias. The alias. Adds the typed view expression for alias. The typed view expression. The set alias. Adds from to alias for default if empty. From alias. To alias. Finds the alias which has the specified alias string as its alias string The alias string. SetAlias instance or new one if not found Adds the alias for member info to storage. The info. The alias. if there are derived tables created, we have to update their internal aliases if the alias of the derived table itself is equal to a used alias inside the derived table: in that case we update that alias with a new alias. Gets the list of created derived tables. Flag which indicates if the provider is in a SelfServicing scenario (true) or in an Adapter scenario (false). Gets or sets a value indicating whether [return real alias for group by scope elements]. Gets or sets a value indicating whether this instance is preprocessing. Gets or sets a value indicating whether [cache resultset]. Gets or sets the tag the resultset should be cached under. By default this is the empty string (no tag) Gets or sets the duration of the cache. Gets or sets the optional tag for the SQL query/queries to relate SQL strings in an RDBMS with an origin. This is set in this tracker to be able to set the tag of the outer query. Gets or sets a value indicating whether [overwrite if present]. Gets the list of from-to alias pairs for DefaultIfEmpty expressions found which will be replaced with a set with a different alias This list is used to correct elements which refer to the DefaultIfEmpty's alias. Class which is used to define an alias for SetExpressions. Initializes a new instance of the class. Initializes a new instance of the class. The alias string. Replaces the alias string with the new value. It also updates all fields which received their objectalias from this setalias. The new value. Sets the ObjectAlias for the field passed in to AliasString. It also stores the field as a field which is tracked by this SetAlias. The field. Returns a that represents the current . A that represents the current . Determines whether the field is an aliased field using this alias. The field. true if the field is aliased with this alias, false otherwise Replaces the old field with the new field in the aliasedFields list. The old field. The new field. Gets the aliased field based on original field. Used with cloned aliases to obtain the cloned field based on the original. The original field. the clone inside _aliasedFields of the originalField passed in. Clone is created by Clone() Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. The parameter is null. Serves as a hash function for a particular type. A hash code for the current . Removes the field passed in from the list of fields aliased by this alias. Used when a field is re-aliased. The field to remove. Clones this instance. Gets a value indicating whether this instance is empty, or represents an empty alias Gets the alias string, the string representation of this alias. Scope class which contains alias-memberinfo combinations for a given scope (i.e. a Select bound scope) Initializes a new instance of the class. The alias of container owner. Adds the alias to the container as a contained alias. To add. Determines whether the specified to check contains alias. To check. true if the alias is present in this container, false otherwise. Clones this instance and all aliases it contains. Gets the alias of container owner. Gets the contained aliases. Simple class which contains a nested query specification inside a ValueListProjectionDefinition. simple class which is used to store predicate info once the correlationfilter predicates have been processed. Initializes a new instance of the class. The parent field. The child field. Index of the parent field. Index of the child field. The correlation predicate. The parent field new field alias. the parent field new field alias. This is the field alias of the clone of the parentfield which is added to the parent projection. If this alias is different than ParentField.Alias, we have to replace it in the CorrelationPredicate as it has to refer to the renamed field in the parent projection. The child field new field alias. the child field new field alias. This is the field alias of the clone of the childfield which is added to the child projection. If this alias is different than ChildField.Alias, we have to replace it in the CorrelationPredicate as it has to refer to the renamed field in the child projection. a value indicating whether the ParentField is the left field in the CorrelationPredicate (True) or not (false, it's then the field in the expression). Gets or sets the parent field. Gets or sets the child field. Gets or sets the index of the parent field. Gets or sets the index of the child field. Gets or sets the correlation predicate. Gets or sets a value indicating whether the ParentField is the left field in the CorrelationPredicate (True) or not (false, it's then the field in the expression) Gets or sets the parent field new field alias. This is the field alias of the clone of the parentfield which is added to the parent projection. If this alias is different than ParentField.Alias, we have to replace it in the CorrelationPredicate as it has to refer to the renamed field in the parent projection. Gets or sets the child field new field alias. This is the field alias of the clone of the childfield which is added to the child projection. If this alias is different than ChildField.Alias, we have to replace it in the CorrelationPredicate as it has to refer to the renamed field in the child projection. Initializes a new instance of the class. The nested query. The index in result row of parent. The correlation filters, which are predicates which tie nested query to parent. Gets the field indices for all fields in the complete correlation filter. Based on the flag specified, the parent or the child field indexes are returned. if true, parentfield indexes are returned, otherwise child field indexes Adds the predicate info which is determined after the nested query has been processed by the valueprojection it is located in to this nested query so it can be used later on when the nested query has to be executed. The predicate. The parent field. The child field. Index of the parent field. Index of the child field. The parent field new field alias. the parent field new field alias. This is the field alias of the clone of the parentfield which is added to the parent projection. If this alias is different than ParentField.Alias, we have to replace it in the CorrelationPredicate as it has to refer to the renamed field in the parent projection. The child field new field alias. the child field new field alias. This is the field alias of the clone of the childfield which is added to the child projection. If this alias is different than ChildField.Alias, we have to replace it in the CorrelationPredicate as it has to refer to the renamed field in the child projection. a value indicating whether the ParentField is the left field in the CorrelationPredicate (True) or not (false, it's then the field in the expression). Strips the correlation filters from the filter of the contained nested query. Gets or sets the nested query object. Gets or sets the index in result row of the parent. Gets or sets the correlation filters, which tie this nested query with the parent, containing, query. Can be empty (in which case the results of this nested query belong to every parent) Gets or sets the row comparer func which is a compiled lambda expression build from the predicates of the correlation filter of this nested query. Gets the predicate info per correlation predicate. Class to specify a path edge. These edges are used to specify a prefetch path inside a linq query. The type of the end node. Initializes a new instance of the class. The path element. The child edges. Initializes a new instance of the class. The path element. The filter lambda. The child edges. Initializes a new instance of the class. The path element. The filter lambda. The limiter. The child edges. Initializes a new instance of the class. The path element. The filter lambda. The sorter. The limiter. The child edges. Initializes a new instance of the class. The path element. The filter lambda. The sorter. The limiter. The fields to exclude include. The child edges. Sets the NoCaching flag to true, which means the query should bypass the parent's caching directive and always fetch the query from the database. this instance Adds the from clause directive specified to this element To add. Gets the filter lambda for this edge Gets the prefetch path element which specifies the entity collection or single entity to fetch with using this edge Gets the sorter to use when fetching the related entity/ies Gets the limiter to limit the # of elements returned. 0 is all elements (default) Gets the list of child edges of this edge, which are the edges from the related entity further down the path. Gets the end type of the node, the entity type which acts as the child/ren to fetch for the parent entity (the type of the related entity/ies) Gets the fields to exclude or include. Gets the sort clause expressions, which are created from the lambda expressions. Ignored if Sorter is set. Gets a value indicating whether the query should use its parent's caching directive (false, default) or should bypass the parent's caching directive and always fetch the query from the database (true). The From Clause directives (hints/temporal predicates) to use for this node. Class which is used to find all predicates and the aliases they contain in the predicate/expresison to traverse. Initializes a new instance of the class. Updates the alias in the field passed in and in all referenced elements The field. Updates the old alias in any elements in the predicate passed in. The object to traverse. Traverses the predicate field. The field as found in the predicate. The object alias set in the predicate for the field . Adds the alias to the list to collect Gets the aliases found per predicate. Handles more advanced path specifications than just a member expression. Initializes a new instance of the class. The element creator. The edges. The current edge. Specifies that the prefetch path should be filtered. Lambda expression specifying the filter This instance to allow for method chaining. Specifies that a sorting expression should be applied to the prefetched data. Lambda expression specifying the field to filter on. This instance to allow for method chaining. Specifies that a sorting expression should be applied to the prefetched data in descending order. Lambda expression specifying the field to filter on. This instance to allow for method chaining. Specifies a sub-path for the prefetch path. Delegate for creating the subpath. This instance to allow for method chaining Specifies a sub-path for the prefetch path. Use this overload to specify a subpath related to a subtype. The type of the sub path node. Delegate for creating the subpath. This instance to allow for method chaining The number of results returned should be limited to the specified number of items. Number of items to which the resultset should be limited. This instance to allow for method chaining Sets the NoCaching flag on the prefetch path node it is called on, signalling that the node has to be fetched from the database always even if the parent query uses resultset caching. This instance to allow for method chaining Explicity Specifies fields on the prefetched data should be fetched from the database. Expressions containing the fields to be included. This instance to allow for method chaining Specifies which fields on the prefetched data should not be fetched from the database. Expressions containing the fields to be excluded This instance to allow for method chaining. Specifies a table/view hint for the target of this prefetch path node The hint specification to apply to the target source is mapped on. Specifies a temporal table predicate for the System Time on the target of the prefetch path node. The predicate. The argument1. Optional The argument2. Optional Specifies a temporal table predicate for the System Time on the target of the prefetch path node. The predicate. The argument1. Optional The argument2. Optional Handles the include exclude field specifications The field expressions. if set to true [exclude]. Parses the sorter expression lambda The sorter. The sort operator. Container of a pathedge without using generics. Initializes a new instance of the class. Adds the from clause directive specified to this element To add. Gets the list of child edges of this edge, which are the edges from the related entity further down the path. Gets the filter lambda for this edge Gets the prefetch path element which specifies the entity collection or single entity to fetch with using this edge Gets the sorter to use when fetching the related entity/ies Gets the sort clause expressions, which are created from the lambda expressions. Ignored if Sorter is set. Gets the limiter to limit the # of elements returned. 0 is all elements (default) Gets the list of child edges of this edge, which are the edges from the related entity further down the path. Gets the end type of the node, the entity type which acts as the child/ren to fetch for the parent entity (the type of the related entity/ies) Gets the fields to exclude or include. Gets a value indicating whether the query should use its parent's caching directive (false, default) or should bypass the parent's caching directive and always fetch the query from the database (true). The From Clause directives (hints/temporal predicates) to use for this node. Class which produces path edges for an edge specification specified with a queryable.WithPath(source, func) call. type of the source Initializes a new instance of the class. The element creator. Initializes a new instance of the class. The element creator. The edges. For creating complex prefetch paths. Type of entity to be prefetched. Lambda expression representing the field to prefetch this instance for method chaining: for performing sorting/filtering/limiting/excluding/including/subpaths on the prefetch path For creating simple prefetch paths, where all you need is to prefetch an entity/entitycollection and no sorting/filtering etc is required. A member access expression lambda, e.g. 'c=>c.Orders' to fetch related orders for a customer instance this instance for method chaining Parses a complex path specification. The type of the destination. The expression. this instance for method chaining Parses a simple path specification. The expression. Creates a PathEdge instance from the input specified The source. The destination. Name of the property. a PathEdge instance which is usable for the prefetch path specification and which represents the input specified. Removes unnecessary wrapper expressions from the expression passed in. To unwrap. Gets or sets the element creator. Gets or sets the current edge Gets the root edges. Creates IPrefetchPathElementCore instances based on a source type and a destination type. Initializes a new instance of the class. The element creator. Type of the destination. Type of the source. Name of the property. Creates the prefetch path element. ready to use prefetch path element Creates a new entity collection for the destination type for Adapter. Creates a new entity collection for the destination type for selfservicing Instantiates the instances. Abstract base class of a projection definition. A projection definition defines the destination of the data, the projection result and, if required, the Inits the class. The type of projection. Gets the type of projection. simple bucket for the elements necessary to execute a projection. Initializes a new instance of the class. Sets up the parameters specified with the values in this class. Relations/filters are overwritten in parameters, as they're already stored in this object. The parameters. Appends the additional filter if necessary. The additional filter. Appends the additional filter if necessary. The additional filter. Sets the filter and relations. The relation collection. The predicate expression. Gets or sets the fields. Gets or sets the value projectors. Gets or sets the projector. Gets or sets the results. Gets or sets the filter. Simple traverser which removes the specified relationships from relationcollections in the graph traversed. Used when a relationship is moved to an outer scope. Initializes a new instance of the class. The propagated relations. Traverses the specified relationcollection and the relations in it. The object to traverse. Static class which obtains and caches the method infos for various Queryable methods so extension methods defined on Queryable will be able to create Expression.Call expressions inside awaited/async methods. Gets the method info of the method with name methodName and the argument types produced by the parameterTypeFactory The declaring type of the method to obtain the methodinfo of. Name of the method. The parameter type factory. This is the method of a Func which produces a type array based on the generic arguments of a method found on queryable. Passing these generic arguments will produce the types of the signature we're looking for. If this type array matches the parameters of the method found on queryable, we've found the method requested the MethodInfo of the method requested or null if not found Gets the method info of the method with name methodName and the argument types produced by the parameterTypeFactory The declaring type of the method to obtain the methodinfo of. Name of the method. The parameter type factory. This is the method of a Func which produces a type array based on the generic arguments of a method found on queryable. Passing these generic arguments will produce the types of the signature we're looking for. If this type array matches the parameters of the method found on queryable, we've found the method requested the MethodInfo of the method requested or null if not found Gets the method info of the method with name methodName and the argument types produced by the parameterTypeFactory The declaring type of the method to obtain the methodinfo of. Name of the method. The parameter type factory. This is the method of a Func which produces a type array based on the generic arguments of a method found on queryable. Passing these generic arguments will produce the types of the signature we're looking for. If this type array matches the parameters of the method found on queryable, we've found the method requested the MethodInfo of the method requested or null if not found Gets the method info of the method with name methodName and the argument types produced by the parameterTypeFactory The declaring type of the method to obtain the methodinfo of. Name of the method. The parameter type factory. This is the method of a Func which produces a type array based on the generic arguments of a method found on queryable. Passing these generic arguments will produce the types of the signature we're looking for. If this type array matches the parameters of the method found on queryable, we've found the method requested The target of the parameterTypeFactory. If the method is a non-static method, this . the MethodInfo of the method requested or null if not found Class which merges a hierarchy with at the top a Queryexpression and its source set to a Linq expression, into a single queryexpression. Initializes a new instance of the class. The framework element creator. The generated code element creator. The tracked mappings. Flattens the hierarchy this queryexpression is the root of. It merges all expressions referenced by Source into this expression so the complete hierarchy is referable by this query. To flatten. Merges the EntityExpression into the QueryExpression. If the query expression has a projection, this method is void, as the projection determines in LLBLGen Pro what the source is, if there are no relations specified and no correlationRelation is specified. If the query expression doesn't require a projection, this merge is void, as the mergeSource isn't used by mergeDestination. If mergeSource has a CorrelationRelation set, it will be converted into a predicate which is added with AND to the mergeDestination's filter, plus PkFieldsOfLastCorrelationRelationMerged will contain the PK fields of said correlation relation. If mergeSource has relations defined, these are inserted in front of the mergeDestination relations. The merge destination. The merge source. Merges the typedview expression into the QueryExpression. If the query expression has a projection, this method is void, as the projection determines in LLBLGen Pro what the source is, if there are no relations specified and no correlationRelation is specified. If the query expression doesn't require a projection, this merge is void, as the mergeSource isn't used by mergeDestination. The merge destination. The merge source. Checks if queries are mergable. Queries which aren't mergable will cause that mergeSource becomes a derived table from which mergeDestination will obtain its data. The merge destination. The merge source. true if the queries are mergable, otherwise false. Merges the JoinResult into the QueryExpression. The merge destination. The merge source. Merges the queryexpression mergeSource into the query expression mergeDestination. The merge destination. The merge source. true if source was merged into destination, false if it was wrapped into a derived table. Merges the excluded included fields lists. The merge destination. The merge source. Merges the prefeth paths of source and destination. Merging isn't really taken place: if destination has a path, nothing is done. If destination doesn't have a path and source does, source's path becomes destination's path. The merge destination. The merge source. Merges the group by collections. Add mergeSource's fields into mergeDestination's groupby collection The merge destination. The merge source. Merges the sorters of mergeSource into mergeDestination. mergeSource is the parent of the mergeDestination in this case. (sort clauses of mergeSource have to be placed in front of mergeDestination) The merge destination. The merge source. Merges the paging and limit data. The merge destination. The merge source. Merges the caching information. The merge destination. The merge source. Merges the AllowDuplicates flags The merge destination. The merge source. Merges the relations. The merge destination. The merge source. Merges the filters. Merging filters is equal to: source filter AND destination filter becomes destination filter. The merge destination. The merge source. Merges the projections. The merge destination. The merge source. Assumes projections are mergable Base class for scope handlers. Scope handlers are dispatch endpoints for expression handling inside a scope, e.g. inside an expression handler routine. As C# doesn't support multiple dynamic dispatch, the expression call the handler themselves which is the foundation of the visitor pattern. As the .NET expression classes don't have a Handle routine, a big switch/case statement is present to overcome this problem. This class contains no real logic, it just dispatches the call to Handle to the right routine which is then overriden in a subclass. Class is primarly meant to be used to remove switch/case blocks in the expression handlers. Handles the specified linq expression. This is done by 2-stage dispatch: it will call (if it's our own expression class) its Handle method which through polymorphism will call this handler object's Handle routine back with the right type, so it will call the right routine. The linq expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. To handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. Handles the specified expression to handle. expression to handle. The default handler for a linq expression if there's no handler available. To handle. per scope handler this default handler should have either exception throw actions or no-ops. If code ends up here, it in general suggests either: the expression can be ignored (not likely) or an expression was encountered in a part of the tree where it was unexpected. By default this method throws an ORMQueryConstructionException and is called by all expression handle methods in this base class. Class which creates elements specifically for selfservicing, like EntityField objects, predicates for selfservicing etc. It assumes fields for predicates already have an object alias set. Selfservicing specific Creates a new prefetch path object for the entity type specified. Type of the entity. ready to use prefetch path object. Creates a new FieldCompareValuePredicate. The field to compare. The predicate operator. The compare operand. ready to use predicate Creates a new FieldCompareRangePredicate instance. The field to compare. The value range for the IN clause. ready to use FieldCompareRangePredicate Creates a new FieldCompareExpressionPredicate The field to compare. The predicate operator. The compare operand. ready to use predicate Creates a new FieldCompareNullPredicate. The field to compare. ready to use FieldCompareNull predicate Creates a new FieldLikePredicate instance The field to compare. The pattern. ready to use fieldLikePredicate instance Creates a new EntityField(2) object which contains the expression passed in. The name is artificial. The expression to wrap in field. .NET Type of the data. ready to use entity field. Creates a new artificial field name the new field name to use Creates a new derived table referencing field, of type EntityField(2). Name of the field. The object alias (alias of set the field to refer to is in). .NET Type of the data. ready to use entity field Creates a new derived table referencing field, of type EntityField(2). Name of the field. The object alias (alias of set the field to refer to is in). .NET Type of the data. ready to use entity field Creates a new SortClause instance The field to sort. The operator to use. The object alias. ready to use SortClause instance Creates a new FieldCompareSetPredicate instance The field to compare. The set field. The operator to use. The set filter. The set relations. The set sorter. The set group by. The max number of items to return. The object alias. if set to true, the predicate will be negated. ready to use FieldCompareSetPredicate Projection definition for a projection of a list of data of one or more columns into a list of values or a set of objects. Initializes a new instance of the class. Type of the destination. If set to true, the result will be a valuelist with a set of values instead of objects into which the result is projected. If the projection contains more than one datavalueprojector, this value is ignored. Adds the relations. The relations to add. Adds the specified field to the projection. The field. Adds the elements in the passed in ProjectionListExpression to this projection. To add. The framework element creator. The generated code element creator. The tracked mappings. Adds the specified nested query to this projection under the name specified The nested query. Name of the element. Type of the element. if set to true, the routine will add a delegate handler for the constant in the projection (the resultset) otherwise it wont (as other code will, depends on caller) The framework element creator. The generated code element creator. The tracked mappings. Handles the situation that a constant is in the projection. This routine adds a constant value to the query elements and the proper lambda to obtain that value from the results into the final destination during projection execution. The framework element creator. Name of the element. The constant value. Type of the element. if set to true, the routine will add a delegate handler for the constant in the projection (the resultset) otherwise it wont (as other code will, depends on caller) if set to true [inline constant]. Adds the lambda as producer func to projection. It adds the lambda in compiled form to the datavalueprojectors and all gathered elements to the queryelements. Name of the target. Type of the target. The lambda to add. The gathered elements. The framework element creator. The generated code element creator. The tracked mappings. Adds the specified field to the projection. This routine will both add the field to the query elements and also add a projector to the datavalueprojectors. The field. Type of the target of the projection. This is specified separately as it can differ from the type of the field or the field can't have a type specified at this point because it's for example a db expression. Adds the field to queryelements, doesn't add the field to projectors The field. Adds the field to queryelements, doesn't add the field to projectors The field. if set to true it will correct the field's alias with a suffix if there's already a field with the same alias. Adds the data value projector to projection. Name of the target. Type of the target. Index of the value in the source. Ignored if valueProducerFunc isn't null The value producer func. The value producer func parameter indices. Creates a shallow clone of this projection, with new containers but the same elements referenced clone of this projection. Post-processes the nested queries in this projection. If there are nested queries, the correlationfilters are checked if this projection and the projection of each nested query needs fields which are specified in the correlationfilters but not in the query elements/projection of each nested query. It also produces in-memory lambda's for the routine which ties parent to child. The framework element creator. The generated code element creator. The tracked mappings. Gets the fields for the query to produce. These fields form the select list for the query which is used as the source of the actual projection. Gets or sets the data value projectors to use. These projectors are the elements fed to the projection engine to do the projection of the data resulted by the query. For every target element there's one DataValueProjector element defined. It can be that there are less or more elements in this list than there are in the QueryElements. Gets or sets the type of the destination. Relations collection for the relations to traverse to be able to fulfill the projection. These relations are from the fields in the projection specification itself. Gets the value indicating whether the result will be a valuelist with a set of values instead of objects into which the result is projected (true) or a set of objects (false). If the projection contains more than one datavalueprojector, this value is false no matter what value it is set to in the CTor. Gets the list of nested query specifications, which are to be fetched as child sets into this set. Gets or sets the projection instantiator function lambda. This function lambda is a modified version of the projection lambda and produces, when compiled, instances for this projection if the valuelistprojection is a multivalueprojection. Gets the projection func indices to use with ProjectionInstantiator. This array is the 'indices' array passed to the ProjectionInstantiator lambda. It contains the real indexes in 'values', also passed to the lambda. E.g. an element's value is read as values[indices[x]], where 'x' is the element's index in the original projection lambda. Gets or sets the pre projection data buckets of contained entity projections collected by the projection expression . Gets the entity types to type filter, these types are added to the projection list as entity types in a projection. An extra type filter has to be added to the main query containing this projection Extension methods to make query execution possible on Adapter. Fetches the query specified on the adapter specified. Uses the TEntity type to produce an EntityCollection(Of TEntity) for the results to return The type of the entity. The adapter. The query. EntityCollection(Of TEntity) with the results of the query fetch Fetches the query specified on the adapter specified into the collectionToFill specified. The type of the entity. The type of the collection. The adapter. The query. The collection to fill. collectionToFill, filled with the query fetch results. Equal to calling adapter.FetchEntityCollection(), so entities already present in collectionToFill are left as-is. If the fetch has to take into account a Context, the passed collectionToFill has to be assigned to the context before calling this method. Fetches the first entity of the set returned by the query and returns that entity, if any, otherwise null. The type of the entity. The adapter. The query. the first entity in the resultset, or null if the resultset is empty. Fetches the first object of the set returned by the query and returns that object, if any, otherwise null. The adapter. The query. the first object in the resultset, or null if the resultset is empty. Fetches the single entity of the set returned by the query and returns that entity. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The type of the entity. The adapter. The query. the first entity in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Fetches the single object of the set returned by the query and returns that object. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The adapter. The query. the first object in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Fetches a scalar value using the query specified, and returns this value typed as TValue, using a cast. The query specified will be converted to a scalar query prior to execution. The type of the value to return. The adapter. The query. the value to fetch Use nullable(Of T) for scalars which are a value type, to avoid crashes when the scalar query returns a NULL value. Fetches the query specified and returns the results in plain object arrays, one object array per returned row of the query specified. The adapter. The query. Fetches the query specified and returns the results in a list of TElement objects, which are created using the projectorFunc of the query specified. The type of the element. The adapter. The query. Fetches the query with the projection specified from the source query specified. Typically used to fetch a typed view from a stored procedure source. The type of the element. The adapter. The projection definition. The source. List of TElement instances instantiated from each row in source Fetches the query as a projection, using the projector specified. The adapter. The query. The projector. Will ignore nested queries. Use with queries without nested / hierarchical queries. The projector has to be setup and ready to use when calling this method Fetches the query as an open data reader. The adapter. The query. The behavior. Ignores nested queries and projection logic embedded in a lambda specification in the query. The DataReader returned will contain the resultset of the plain SQL query. Fetches the specified query into a new DataTable specified and returns that datatable. The adapter. The query. a new DataTable with the data fetched. Fetches the specified query into the DataTable specified and returns that datatable. The adapter. The query. The destination datatable to fetch the data into. the destination datatable specified. If the DataTable specified already has columns defined, they have to have compatible types and have to be in the same order as the columns in the resultset of the query. It's recommended to have columns with the same names as the resultset of the query, to be able to convert null values to DBNull.Value. Async variant of . Fetches the query specified on the adapter specified. Uses the TEntity type to produce an EntityCollection(Of TEntity) for the results to return The type of the entity. The adapter. The query. EntityCollection(Of TEntity) with the results of the query fetch Async variant of . Fetches the query specified on the adapter specified. Uses the TEntity type to produce an EntityCollection(Of TEntity) for the results to return The type of the entity. The adapter. The query. The cancellation token EntityCollection(Of TEntity) with the results of the query fetch Async variant of . Fetches the query specified on the adapter specified into the collectionToFill specified. The type of the entity. The type of the collection. The adapter. The query. The collection to fill. collectionToFill, filled with the query fetch results. Equal to calling adapter.FetchEntityCollection(), so entities already present in collectionToFill are left as-is. If the fetch has to take into account a Context, the passed collectionToFill has to be assigned to the context before calling this method. Async variant of . Fetches the query specified on the adapter specified into the collectionToFill specified. The type of the entity. The type of the collection. The adapter. The query. The collection to fill. The cancellation token collectionToFill, filled with the query fetch results. Equal to calling adapter.FetchEntityCollection(), so entities already present in collectionToFill are left as-is. If the fetch has to take into account a Context, the passed collectionToFill has to be assigned to the context before calling this method. Async variant of . Fetches the first entity of the set returned by the query and returns that entity, if any, otherwise null. The type of the entity. The adapter. The query. the first entity in the resultset, or null if the resultset is empty. Async variant of . Fetches the first entity of the set returned by the query and returns that entity, if any, otherwise null. The type of the entity. The adapter. The query. The cancellation token. the first entity in the resultset, or null if the resultset is empty. Async variant of . Fetches the single entity of the set returned by the query and returns that entity. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The type of the entity. The adapter. The query. the first entity in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the single entity of the set returned by the query and returns that entity. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The type of the entity. The adapter. The query. The cancellation token. the first entity in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the first object of the set returned by the query and returns that object, if any, otherwise null. The adapter. The query. the first object in the resultset, or null if the resultset is empty. Async variant of . Fetches the first object of the set returned by the query and returns that object, if any, otherwise null. The adapter. The query. The cancellation token. the first object in the resultset, or null if the resultset is empty. Async variant of . Fetches the single object of the set returned by the query and returns that object. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The adapter. The query. the first object in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the single object of the set returned by the query and returns that object. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The adapter. The query. The cancellation token. the first object in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches a scalar value using the query specified, and returns this value typed as TValue, using a cast. The query specified will be converted to a scalar query prior to execution. The type of the value to return. The adapter. The query. the value to fetch Use nullable(Of T) for scalars which are a value type, to avoid crashes when the scalar query returns a NULL value. Async variant of . Fetches a scalar value using the query specified, and returns this value typed as TValue, using a cast. The query specified will be converted to a scalar query prior to execution. The type of the value to return. The adapter. The query. The cancellation token. the value to fetch Use nullable(Of T) for scalars which are a value type, to avoid crashes when the scalar query returns a NULL value. Async variant of . Fetches the query specified and returns the results in plain object arrays, one object array per returned row of the query specified. The adapter. The query. Async variant of . Fetches the query specified and returns the results in plain object arrays, one object array per returned row of the query specified. The adapter. The query. The cancellation token. Async variant of . Fetches the query specified and returns the results in a list of TElement objects, which are created using the projectorFunc of the query specified. The type of the element. The adapter. The query. Async variant of . Fetches the query specified and returns the results in a list of TElement objects, which are created using the projectorFunc of the query specified. The type of the element. The adapter. The query. The cancellation token. Async variant of . Fetches the query as a projection, using the projector specified. The adapter. The query. The projector. Will ignore nested queries. Use with queries without nested / hierarchical queries. The projector has to be setup and ready to use when calling this method Async variant of . Fetches the query as a projection, using the projector specified. The adapter. The query. The projector. The cancellation token. Will ignore nested queries. Use with queries without nested / hierarchical queries. The projector has to be setup and ready to use when calling this method Async variant of . Fetches the query as an open data reader. The adapter. The query. The behavior. The cancellation token. Ignores nested queries and projection logic embedded in a lambda specification in the query. The DataReader returned will contain the resultset of the plain SQL query. Async variant of . Fetches the specified query into a new DataTable specified and returns that datatable. The adapter. The query. a new DataTable with the data fetched. Async variant of . Fetches the specified query into the DataTable specified and returns that datatable. The adapter. The query. The destination datatable to fetch the data into. the destination datatable specified. If the DataTable specified already has columns defined, they have to have compatible types and have to be in the same order as the columns in the resultset of the query. It's recommended to have columns with the same names as the resultset of the query, to be able to convert null values to DBNull.Value. Async variant of . Fetches the specified query into a new DataTable specified and returns that datatable. The adapter. The query. The cancellation token. a new DataTable with the data fetched. Async variant of . Fetches the specified query into the DataTable specified and returns that datatable. The adapter. The query. The destination datatable to fetch the data into. The cancellation token. the destination datatable specified. If the DataTable specified already has columns defined, they have to have compatible types and have to be in the same order as the columns in the resultset of the query. It's recommended to have columns with the same names as the resultset of the query, to be able to convert null values to DBNull.Value. Async variant of Fetches the query which projection specified from the source query specified. Typically used to fetch a typed view from a stored procedure source. The type of the element. The adapter. The projection definition. The source. List of TElement instances instantiated from each row in source Async variant of Fetches the query which projection specified from the source query specified. Typically used to fetch a typed view from a stored procedure source. The type of the element. The adapter. The projection definition. The source. The cancellation token. List of TElement instances instantiated from each row in source Fetches the query specified on the adapter specified into the collectionToFill specified. The type of the collection. The adapter. The query. The collection to fill. The cancellation token collectionToFill, filled with the query fetch results. Equal to calling adapter.FetchEntityCollection(), so entities already present in collectionToFill are left as-is. If the fetch has to take into account a Context, the passed collectionToFill has to be assigned to the context before calling this method. Fetches the query specified on the adapter specified. Uses the TEntity type to produce an EntityCollection(Of TEntity) for the results to return The adapter. The query. The cancellation token EntityCollection(Of TEntity) with the results of the query fetch Fetches the query specified on the adapter specified into the collectionToFill specified. The type of the collection. The adapter. The query. The collection to fill. collectionToFill, filled with the query fetch results. Equal to calling adapter.FetchEntityCollection(), so entities already present in collectionToFill are left as-is. If the fetch has to take into account a Context, the passed collectionToFill has to be assigned to the context before calling this method. Fetches the query specified on the adapter specified. Uses the TEntity type to produce an EntityCollection(Of TEntity) for the results to return The adapter. The query. EntityCollection(Of TEntity) with the results of the query fetch Fetches the query as a projection, using the projector specified. The adapter. The query. The projector. if set to true require DBNull post processing, otherwise DBNull values are left as-is to the projector. The cancellation token. Fetches the query as an open data reader. The adapter. The query. The command behavior. The cancellation token. open and ready to use datareader Fetches the query as hierarchical projection, while keeping open the adapter's connection. The adapter. The query. The cancellation token. Fetches the query as hierarchical projection, while keeping open the adapter's connection. The adapter. The query. The cancellation token. Fetches the query as a projection, using the projector specified. The adapter. The query. The projector. if set to true require DBNull post processing, otherwise DBNull values are left as-is to the projector. Fetches the query as an open data reader. The adapter. The query. The command behavior. open and ready to use datareader Fetches the query as hierarchical projection, while keeping open the adapter's connection. The adapter. The query. Fetches the query as hierarchical projection, while keeping open the adapter's connection. The adapter. The query. Class which controls a hierarchical fetch of a dynamic query. Initializes a new instance of the class. The adapter to use. Fetches the root query into which a nested query's data is merged. To execute. The plain data projectors. The current level data. The fields. Obtains the projection as a fields object, for the right template group used. To execute. Gets the function mapping store to use. Fetches the nested query, returning entities The nested query as entity query. The root query. Fetches the root query into which a nested query's data is merged. To execute. The plain data projectors. The current level data. The fields. The cancellation token. Fetches the nested query, returning entities The nested query as entity query. The root query. The cancellation token. Gets the parameterised prefetch path threshold to use. Abstract base class for the Adapter specific version of the QueryFactory protected ctor to prevent instances Creates a new field object with the name specified and of resulttype 'object'. Used for referring to aliased fields in another projection. Name of the field. Ready to use field object Creates a new field object with the name specified and of resulttype 'object'. Used for referring to aliased fields in another projection. The alias of the table/query to target. Name of the field. Ready to use field object Creates a new field object with the name specified and of resulttype 'TValue'. Used for referring to aliased fields in another projection. The type of the value represented by the field. Name of the field. Ready to use field object Creates a new field object with the name specified and of resulttype 'TValue'. Used for referring to aliased fields in another projection. The type of the value. The alias of the table/query to target. Name of the field. Ready to use field object Creates a new DynamicQuery which wraps the specified TableValuedFunction call The table valued function call to wrap. toWrap wrapped in a DynamicQuery. Simple factory class which creates templategroup specific objects Creates a new expression containing entity field. The name. To wrap. Type of the result. The creator. entity field with the name and type specified which wraps the specified expression Creates a new field (adapter version, it's a carrier anyway, so this will work for selfservicing anyway), which wraps the expression specified using the generic name 'ExF' The expression. Creates a new field (adapter version, it's a carrier anyway, so this will work for selfservicing anyway), which wraps the expression specified using the name specified. The name. The expression. Class which defines a cross join. Initializes a new instance of the class. The left operand. The right operand. Dynamic query, for fetching a custom projection of entity data. Initializes a new instance of the class. The alias counter to produce an artifical, yet predictable, alias. Initializes a new instance of the class. The creator. The alias. The alias counter to produce an artifical, yet predictable, alias. Sets the target alias to the alias specified. By default this alias is the empty string. This alias is a different alias than the alias set with .As(string), as this alias is the alias on the target table(s), while .As(string) is the alias for the whole query. The alias. Initializes a new instance of the class. Copy ctor. The source. Specifies the projector delegate/func which will be used to produce typed instances for each row returned by the query. the type of the element which will be instantiated for each row returned by the query The projector func, which will be used to produce a new instance of T for each row (in ProjectionRow) returned by the query. This query converted as a DynamicQuery<T> Specifies the projection of the query. It clears any existing projection and sets the projection to the one specified. The projection elements. Can't be empty Specifies the projection of the query. It clears any existing projection and sets the projection to the one specified. The new projection. Gets the projection as fields. Gets all projection field names. Wraps this query with EXISTS and a Field-Field filter, so the returned predicate looks like EXISTS (query) AND parentq.Field1 = query.Field1 AND.. The calling method name for exception. The parent query alias. Preprocesses the specified main function mappings. The dqe function mappings. Gets the projection as EntityFields object Gets the projection as EntityFields2 object Gets the projection as string. Gets the prepared projection as a list of datavalue projectors, which are directly usable for creating projection using the framework list of ready to use datavalue projectors or null if the projection hasn't been prepared Gets the projection name to index map. Gets the projector func to use for projections, so instantes of real types can be created Prepares this query for execution. The dqe function mappings. Copies the projection from source to this query. It overwrites the projection of this query with fields which target their equivalent in the source's projection. The source. Converts this instance to a derived table definition. Prepares the contents of this query to be executed. Adds the field to projection if not present already. Uses field alias checks. If this query is an entity query, it won't add any fields, only verify whether the field is present. The field to check. index of the field in the projection. assumes fieldToCheck has already been cloned Determines whether this instance is empty. if set to true [exclude from clause from test]. true if this query is empty, i.e. no element is set that forces this query to become a derived table/full query. Gets all fields from projection. Makes this query as being not prepared so it will be re-prepared the next time Prepare() is called. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. Determines the type of the resultset. This type is used to build resultset instances for hierarchy fetches. Gets the this as empty clone. The target alias specified. this query as a new empty clone of itself. Determines if wrapping as derived table is required for scalar query. This overload looks at the prepared elements, and if a wrapping is required it will return true, otherwise false. Gets the replacement for query target. By default this is the result of GetThisAsEmptyClone(). It will thrown an exception if the class isn't an entityquery, unless this method is overriden in a subtype. The target alias to pass. Prepares the projection. Gets the prepared projection. Gets the prepared projection. Gets the nested queries. Generic variant of DynamicQuery, created using the method DynamicQuery.WithProjector(), which defines a typed projector for the DynamicQuery class, or by using EntityQuery(Of T).Select(lambda) or various DynamicQuery.Select() overloads. Initializes a new instance of the class. The source of the data to store in this query. The projector func. If set to _emptyProjectorFuncPlaceholder, the engine will auto-generate the lambda from T and the projection field list Specifies a table/view hint for the target T is mapped on. The hint specification. Specifies a hint for this query. It depends on the specified hintKind in what way the hint will be used: as a target hint or as a query hint. The hint specification the type of the hint, which directs how the hint will be used in the SQL query Specifies a temporal table predicate on source for the System Time. The predicate. The argument1. Optional The argument2. Optional Specifies a temporal table predicate on source for the Business Time. The predicate. The argument1. Optional The argument2. Optional Determines the type of the resultset. This type is used to build resultset instances for hierarchy fetches. Gets the projector func to use for projections, so instantes of real types can be created Gets from clause directives as clones. Prepares the projection. Throws if a plain from clause present. This check is used to prevent hint/temporal table predicates being specified on dynamic query objects which contain a join so it's unclear what the target is to apply the hint/predicate on. Gets the projector func. Gets the type of the resultset element. Simple wrapper which is used to use a field as a join operand, which is used with dynamic queries and QueryTarget. Initializes a new instance of the class. The wrapped field. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition or an entityfield If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself. Gets the wrapped field. Simple placeholder which is the result of a QueryTarget usage in a prefetch path element's WithJoins() method. This placeholder will be used to produce an entity name to be used for formulating a dynamic relation without a creator. Initializes a new instance of the class. The ppath element which is represented by this entity name. Determines the name of the entity represented by the ppathElement. The ppath element. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself. Gets or sets the name of the entity represented Entity query definition. Used to specify a query for fetching entities. The type of the entity. Initializes a new instance of the class. The creator. The alias counter to produce an artifical, yet predictable, alias. Initializes a new instance of the class. The creator. The alias. The alias counter to produce an artifical, yet predictable, alias. Initializes a new instance of the class. Copy CTor. The source. Converts this instance into an EntityQuery<TTargetType>. The type of the target type. Sets the type filter of the query to the typefilter of the entity type specified as TEntityFilter. This means that all entities matching this query will be of type TEntityFilter or any of its (indirect) subtypes. The type of the entity to filter on Sets the type filter of the query to a negated typefilter of the entity type specified as TEntityFilter. This means that all entities matching this query of type TEntityFilter or the (indirect) subtypes of TEntityFilter won't be fetched. The type of the entity to filter on Sets the target alias to the alias specified. By default this alias is the empty string. This alias is a different alias than the alias set with .As(string), as this alias is the alias on the target table(s), while .As(string) is the alias for the whole query. The alias. Specifies a table/view hint for the target T is mapped on. The hint specification. Specifies a hint for this query. It depends on the specified hintKind in what way the hint will be used: as a target hint or as a query hint. The hint specification the type of the hint, which directs how the hint will be used in the SQL query Specifies a temporal table predicate on source for the System Time. The predicate. The argument1. Optional The argument2. Optional Specifies a temporal table predicate on source for the Business Time. The predicate. The argument1. Optional The argument2. Optional Specifies the projection of the query. It clears any existing projection and sets the projection to the one specified. This variant converts the specified projectionFunc into the projector lambda to pass to WithProjector and extracts the elements to place in the SQL query's projection from the projectionFunc. Use this overload to specify a typed resultset. The projection func. Specifies the projection of the query. It clears any existing projection and sets the projection to the one specified. The projection elements. Can't be empty The DynamicQuery instance Specifies the prefetch path to use for this query. Prefetch paths are only used when this query is the outer query which is executed. The element. The other elements. Uses the specified relationship to construct a correlation predicate between this query (where TEntity should be the start entity of the relation specified) and a parent entity query. This method helps constructing correlation predicates without knowing the FK - PK relationships. The relationship this query is correlated over with a parent query. Uses no aliases. Uses the specified relationship to construct a correlation predicate between this query (where TEntity should be the start entity of the relation specified) and a parent entity query. This method helps constructing correlation predicates without knowing the FK - PK relationships. The relationship this query is correlated over with a parent query. The alias of the start entity of the relationship (i.e. TEntity). The alias of the end entity of the relationship (i.e. the entity of a parent query this query is correlated to). Sets the exclude include fields. The include exclude fields. Wraps this query with EXISTS and a pk pk filter, so the returned predicate looks like EXISTS (query) AND parentq.Pkfield1 = query.PkField1 AND.. The calling method name for exception. The parent query alias. Gets from clause directives as clones. Handles the unwrap TVF call action. Adds the field to projection if not present already. Uses field alias checks. If this query is an entity query, it won't add any fields, only verify whether the field is present. The field to check. index of the field in the projection. assumes fieldToCheck has already been cloned Gets the projection as EntityFields object Gets the projection as EntityFields2 object Gets all fields from projection. Gets the prefetch path as string. The start indent. Determines the type of the resultset. This type is used to build resultset instances for hierarchy fetches. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. Determines if wrapping as derived table is required for scalar query. The function to apply. Determines if the derived table variant of this query is the target when this query is used as the target of a field compare set predicate. Only true if query is an entity query and entity is an inheritance entity of TargetPerEntity. Converts this instance to a derived table definition. Prepares this query for execution. The dqe function mappings. Gets the this as empty clone. The target alias specified. this query as a new empty clone of itself. Raises an exception if a QueryTarget was used in a query type which wasn't suitable for that. By default it does this Prepares the contents of this query to be executed. Sets IsPrepared to true. Determines whether this instance is empty. if set to true [exclude from clause from test]. true if this query is empty, i.e. no element is set that forces this query to become a derived table/full query. Creates the fields for the TEntity type of this query. Creates the fields for the TEntity type of this query and sets the names of the actual containing object in the fields to the name specified. Gets the factory for the TEntity type. Gets the name of the query as full entity. the query as full entity name. Throws exception if class isn't an EntityQuery Sets the type filter, negates it if negate is true The type of the entity to filter on if set to true [negate]. Assures that there's a prefetch path construct to add elements to Determines whether TEntity is an adapter entity or a selfservicing entity Finds the field in projection and returns the index. If not found, -1 is returned The field to check. Prepares the contents of this query to be executed. Sets IsPrepared to true. Converts the from + where clause into a relationpredicatebucket. Prepares this query for execution. The dqe function mappings. Appends the predicate with And to the prepared where clause. Only used for appending additional filters to specified filters. The predicate. Gets the limit value specified Gets the fields to include exclude. Gets the prefetch path. Gets or sets the context to use for the query. The context value set is used during entity fetches when no entity collection is passed to the fetch method. Gets the creator. Gets the type of the entity this query fetches data for. Gets or sets the optional custom function mapping store. A custom function mapping store takes precedence over the function mapping store obtained from the Dynamic Query Engine (DQE) used for producing the SQL for the query. If a custom function mapping store is needed for a query, set this property only on the query object passed to the execution method. No need to set it on inner query objects. Gets the prepared order by clause. Gets the offset value specified Gets the from clause, which is the prepared from clause, created from the plain clause. Gets the prepared where clause. Gets the type filter. Gets the fields to include exclude. Gets the prefetch path. Gets or sets the context to use for the query. The context value set is used during entity fetches when no entity collection is passed to the fetch method. Gets the fields to include exclude. Gets the prefetch path. Gets or sets the context to use for the query. The context value set is used during entity fetches when no entity collection is passed to the fetch method. Gets the type of the resultset element. Class which defines a join specified by an EntityRelation object. Initializes a new instance of the class. The relationship. Type of the join. Initializes a new instance of the class. The relationship. Type of the join. The alias for the start entity. The alias for the end entity. Specifies an Inner join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. Specifies a left join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. Specifies a right join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. Specifies a cross join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. Specifies a full join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. Gets the left side of the enclosed relationship as a FullEntityName. Gets the right side of the enclosed relationship as a FullEntityName. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself. Gets the type of the join. Simple class which wraps an Expression object to be able to specify alias and type Initializes a new instance of the class. The expression. The result alias. Initializes a new instance of the class. The expression. Type of the result. Initializes a new instance of the class. The expression. Type of the result. The result alias. Sets the result alias to the specified alias. The alias. Gets or sets the wrapped expression. Gets or sets the type of the result. Gets or sets the result alias. Placeholder for the Projection.Full specification, so a Select() can deal with this. Initializes a new instance of the class. Initializes a new instance of the class. if set to true [include sub types]. Sets the source to target and which projection to copy at the position of this placeholder. The source. Gets or sets a value indicating whether subtypes should be included. By default, this is set to true. Gets or sets the source to target, i.e. the elements will be copied from the element aliased with the source set and will target the element aliased as the source string set. If empty, it's ignored. Class which acts as a placeholder for a function call, and is replaced before execution with the real function call. It stores data which is used to lookup a function mapping in a FunctionMappingStore, which mechanism is also shared with the Linq provider. Initializes a new instance of the class. Type in which the method is defined. This is a .net type which is used for lookup in a FunctionMappingStore Name of the method. The number of parameters of the .NET method mapped in the FunctionMapping representeed. The parameters. The number of parameters specified in numberOfParameters can differ from the number of elements specified as parameters, as non-static .net methods mapped in the FunctionMappingStore have a lower parameter count defined. Returns a that represents this instance. A that represents this instance. Finds the equivalent function mapping of the call represented by this placeholder and its data and uses that mapping to convert the function call represented by this instance into a DbFunctionCall instance. The _customStore, if set, takes precendence over _dqeStore so a mapping defined in _customStore and _dqeStore will result in the mapping defined in the _customStore being used for the DbFunctionCall returned. The custom store. The custom function mapping store to look for function mappings. Can be null The dqe store. The function mapping store obtained from the DynamicQueryEngine (dqe) used for executing the containing query Ready to use DbFunctionCall instance created from the function mapping represented by this instance Returns this instance wrapped in a CASE WHEN (this instance) THEN 1 ELSE 0 END construct (as a function call expression) Converts the expression to query text Converts the expression to query text if set to true [in having clause]. Gets or sets the database specific creator. The database specific creator. Gets the left operand. The left operand. Gets the operator. The operator. Gets the parameters. The parameters. Gets the right operand. The right operand. Serializes object as xml to the writer specified. The writer. Deserializes the data on the xml reader into an expression instance The reader. Gets the parameters as defined for the mapping. Gets or sets a value indicating whether [results in boolean value]. Class which defines the function mappings for Array Defines the mapping for the operand1.Length property to method mapping The operand1. Class which defines the function mappings for booleans Defines the mapping for the operand1.ToString() method mapping The operand1. Class which defines the function mappings for Convert methods Defines the mapping for the Convert.ToBoolean(operand1) method mapping The operand1. Defines the mapping for the Convert.ToByte(operand1) method mapping The operand1. Defines the mapping for the Convert.ToChar(operand1) method mapping The operand1. Defines the mapping for the Convert.ToDateTime(operand1) method mapping The operand1. Defines the mapping for the Convert.ToDecimal(operand1) method mapping The operand1. Defines the mapping for the Convert.ToDouble(operand1) method mapping The operand1. Defines the mapping for the Convert.ToInt16(operand1) method mapping The operand1. Defines the mapping for the Convert.ToInt32(operand1) method mapping The operand1. Defines the mapping for the Convert.ToInt64(operand1) method mapping The operand1. Defines the mapping for the Convert.ToSingle(operand1) method mapping The operand1. Defines the mapping for the Convert.ToString(operand1) method mapping The operand1. Class which defines the function mappings for DateTime Defines the mapping for the operand1.AddDays(numberOfDays) method mapping The operand1. The amount to add. Can be negative to substract instead of add. Defines the mapping for the operand1.AddHours(numberOfHours) method mapping The operand1. The amount to add. Can be negative to substract instead of add. Defines the mapping for the operand1.AddMilliseconds(numberOfMilliseconds) method mapping The operand1. The amount to add. Can be negative to substract instead of add. Defines the mapping for the operand1.AddMinutes(numberOfMinutes) method mapping The operand1. The amount to add. Can be negative to substract instead of add. Defines the mapping for the operand1.AddMonths(numberOfMonths) method mapping The operand1. The amount to add. Can be negative to substract instead of add. Defines the mapping for the operand1.AddSeconds(numberOfSeconds) method mapping The operand1. The amount to add. Can be negative to substract instead of add. Defines the mapping for the operand1.AddYears(numberOfYears) method mapping The operand1. The amount to add. Can be negative to substract instead of add. Defines the mapping for the operand1.Date property to method mapping The operand1. Defines the mapping for the operand1.Day property to method mapping The operand1. Defines the mapping for the operand1.DayOfWeek property to method mapping The operand1. Defines the mapping for the operand1.DayOfYear property to method mapping The operand1. Defines the mapping for the operand1.Hour property to method mapping The operand1. Defines the mapping for the operand1.Millisecond property to method mapping The operand1. Defines the mapping for the operand1.Minute property to method mapping The operand1. Defines the mapping for the operand1.Month property to method mapping The operand1. Defines the mapping for the operand1.Second property to method mapping The operand1. Defines the mapping for the operand1.Year property to method mapping The operand1. Class which defines the function mappings for Decimal Defines the mapping for the Decimal.Ceiling(operand1) method mapping The operand1. Defines the mapping for the Decimal.Floor(operand1) method mapping The operand1. Defines the mapping for the Decimal.Remainder(operand1, divider) method mapping The operand1. The divider. Defines the mapping for the Decimal.Round(operand1) method mapping The operand1. Defines the mapping for the Decimal.Round(operand1, numberOfDecimals) method mapping The operand1. The number of decimals. Defines the mapping for the Decimal.Truncate(operand1) method mapping The operand1. Extension methods on IEntityFieldCore and IExpression for Defines the mapping for the field.AddDays(numberOfDays) method mapping The field. The amount to add. Can be negative to substract instead of add. Defines the mapping for the field.AddHours(numberOfHours) method mapping The field. The amount to add. Can be negative to substract instead of add. Defines the mapping for the field.AddMinutes(numberOfMinutes) method mapping The field. The amount to add. Can be negative to substract instead of add. Defines the mapping for the field.AddMilliseconds(numberOfMilliseconds) method mapping The field. The amount to add. Can be negative to substract instead of add. Defines the mapping for the field.AddMonths(numberOfMonths) method mapping The field. The amount to add. Can be negative to substract instead of add. Defines the mapping for the field.AddSeconds(numberOfSeconds) method mapping The field. The amount to add. Can be negative to substract instead of add. Defines the mapping for the field.AddYears(numberOfYears) method mapping The field. The amount to add. Can be negative to substract instead of add. Defines the mapping for the field.Date property to method mapping The field. Defines the mapping for the field.Day property to method mapping The field. Defines the mapping for the field.Hour property to method mapping The field. Defines the mapping for the field.Millisecond property to method mapping The field. Defines the mapping for the field.Minute property to method mapping The field. Defines the mapping for the field.Month property to method mapping The field. Defines the mapping for the field.Second property to method mapping The field. Defines the mapping for the field.Year property to method mapping The field. Defines the mapping for the field.Char[index] property to method mapping The field. The index. Defines the mapping for the field.IndexOf(value) method mapping The field. The value. Defines the mapping for the field.Length property to method mapping, if field represents a string value. The field. Defines the mapping for the field.Replace(oldValue, newValue) method mapping The field. The old value. The new value. Defines the mapping for the field.Substring(startIndex) method mapping The field. The start index. Defines the mapping for the field.Substring(startIndex, length) method mapping The field. The start index. The length. Defines the mapping for the field.ToLower() method mapping The field. Defines the mapping for the field.ToUnicode() method mapping The field. Defines the mapping for the field.ToUpper() method mapping The field. Defines the mapping for the field.Trim() method mapping The field. Defines the mapping for the expression.AddDays(numberOfDays) method mapping The expression. The amount to add. Can be negative to substract instead of add. Defines the mapping for the expression.AddHours(numberOfHours) method mapping The expression. The amount to add. Can be negative to substract instead of add. Defines the mapping for the expression.AddMinutes(numberOfMinutes) method mapping The expression. The amount to add. Can be negative to substract instead of add. Defines the mapping for the expression.AddMilliseconds(numberOfMilliseconds) method mapping The expression. The amount to add. Can be negative to substract instead of add. Defines the mapping for the expression.AddMonths(numberOfMonths) method mapping The expression. The amount to add. Can be negative to substract instead of add. Defines the mapping for the expression.AddSeconds(numberOfSeconds) method mapping The expression. The amount to add. Can be negative to substract instead of add. Defines the mapping for the expression.AddYears(numberOfYears) method mapping The expression. The amount to add. Can be negative to substract instead of add. Defines the mapping for the expression.Date property to method mapping The expression. Defines the mapping for the expression.Day property to method mapping The expression. Defines the mapping for the expression.Hour property to method mapping The expression. Defines the mapping for the expression.Millisecond property to method mapping The expression. Defines the mapping for the expression.Minute property to method mapping The expression. Defines the mapping for the expression.Month property to method mapping The expression. Defines the mapping for the expression.Second property to method mapping The expression. Defines the mapping for the expression.Year property to method mapping The expression. Defines the mapping for the expression.Char[index] property to method mapping The expression. The index. Defines the mapping for the expression.IndexOf(value) method mapping The expression. The value. Defines the mapping for the expression.Length property to method mapping, if expression represents a string value. The expression. Defines the mapping for the expression.Replace(oldValue, newValue) method mapping The expression. The old value. The new value. Defines the mapping for the expression.Substring(startIndex) method mapping The expression. The start index. Defines the mapping for the expression.Substring(startIndex, length) method mapping The expression. The start index. The length. Defines the mapping for the expression.ToLower() method mapping The expression. Defines the mapping for the expression.ToUnicode() method mapping The expression. Defines the mapping for the expression.ToUpper() method mapping The expression. Defines the mapping for the expression.Trim() method mapping The expression. Class which defines the function mappings for the Math class Defines the mapping for the Math.Pow(operand1, operand2) method mapping The operand1. The operand2. Class which defines the function mappings for String Defines the mapping for the String.Concat(operand1, operand2) method mapping The operand1. The operand2. Defines the mapping for the operand1.IndexOf(value) method mapping The operand1. The value to search for Defines the mapping for the operand1.IndexOf(value, startIndex) method mapping The operand1. The value to search for The start index. Defines the mapping for the operand1.LastIndexOf(value) method mapping The operand1. The value to search for Defines the mapping for the operand1.LastIndexOf(value, startIndex) method mapping The operand1. The value to search for The start index. Defines the mapping for the operand1.PadLeft(totalWidth) method mapping The operand1. The total width. Defines the mapping for the operand1.PadLeft(totalWidth, paddingChar) method mapping The operand1. The total width. The padding char. Defines the mapping for the operand1.PadRight(totalWidth) method mapping The operand1. The total width. Defines the mapping for the operand1.PadRight(totalWidth, paddingChar) method mapping The operand1. The total width. The padding char. Defines the mapping for the operand1.Remove(startIndex) method mapping The operand1. The start index. Defines the mapping for the operand1.Remove(startIndex, count) method mapping The operand1. The start index. The count. Defines the mapping for the operand1.Replace(oldValue, newValue) method mapping The operand1. The old value. The new value. Defines the mapping for the operand1.Substring(startIndex) method mapping The operand1. The start index. Defines the mapping for the operand1.Substring(startIndex, length) method mapping The operand1. The start index. The length. Defines the mapping for the operand1.ToLower() method mapping The operand1. Defines the mapping for the operand1.ToUpper() method mapping The operand1. Defines the mapping for the operand1.ToUnicode() method mapping The operand1. Defines the mapping for the operand1.Trim() method mapping The operand1. Defines the mapping for the operand1.Length property to method mapping The operand1. Defines the mapping for the operand1.Char[index] property to method mapping The operand1. The index. Helper class to specify function calls into the query fragments. Negates the predicate specified. To negate. Negates the predicate specified. To negate. Defines the mapping for the Boolean.Negate(field) method mapping. Use it when field is a boolean field. The field. Defines the mapping for the Boolean.Negate(expression) method mapping. Use it when expression is a boolean expression. The expression. Defines the mapping for the operand1.Compare(operand2) method mapping. The operand1. The operand2. Defines the mapping for the IIF(operand1, operand2, operand3) method mapping. Equivalent to operand1 ? operand2 : operand3 The operand1. The operand2. The operand3. Defines the mapping for the bit shift operation to the left on operand1 The operand1. The operand2. Defines the mapping for the bit shift operation to the right on operand1 The operand1. The operand2. Creates an EXISTS (query) predicate. The query. Creates a NOT EXISTS (query) predicate. The query. Creates a Field IN (query) predicate The field. The query. Creates a NOT (Field IN (query)) predicate The field. The query. Creates a Field IN (values) predicate The field. The values. Creates a NOT (Field IN (values)) predicate The field. The values. Creates a predicate which is true for each entity in query which is in the list of entities specified The type of the entity. The query. The entities to compare to. Creates a predicate which is true if there's an object of type T in values, which has for each property P a field in fields with the same name / alias and the value for property P is equal to the value of the field equivalent in the main query. The fields. The values. Creates a predicate which is true if there's no object of type T in values, which has for each property P a field in fields with the same name / alias and the value for property P is equal to the value of the field equivalent in the main query. The fields. The values. Creates a predicate which is true for each entity in query which is not in the list of entities specified The type of the entity. The query. The entities to compare to. Creates a COALESCE function call and assigns it to a wrapping field, which is returned. The operand1. The operand2. IEntityFieldCore instance which wraps the dbfunctioncall to COALESCE(operand1, operand2) Specifies an expression field with a CountRow(*) aggregate. Specifies an expression field with a CountBigRow(*) aggregate. Wraps a constant for usage in expressions and projections. The value. Creates a usable db function call parameter value from the expression passed in. To convert. usable parameter for LLBLGen Pro DbFunctionCall usage. Class which implements the IGrouping interface to return grouped results in a query type of the grouping key type of the elements grouped Initializes a new instance of the class. The key. The grouped elements. Gets the key of the . The key of the . Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the key of the . The key of the . Base class for a hierarchical fetch controller. Each template group has a specific hierarchical fetch controller. Executes a hierarchical value list projection. It's assumed that toExecute is a query which has 1 or more nested queries in the projection. To execute. The additional filter to use. This filter is used in fetching the data of this level. This filter is normally a filter based on the parent's filter/data. Is null if this is the first level/call. result of projection Executes a hierarchical value list projection. It's assumed that toExecute is a query which has 1 or more nested queries in the projection. To execute. The additional filter to use. This filter is used in fetching the data of this level. This filter is normally a filter based on the parent's filter/data. Is null if this is the first level/call. The cancellation token. result of projection Copies the caching parameters and other parameters needed for execution of the parent query into the nested query so the nested query will also e.g. have its resultset cached. The parent query. The nested query. Fetches the root query into which a nested query's data is merged. To execute. The plain data projectors. The current level data. The fields. The cancellation token. Fetches the nested query, returning entities The nested query as entity query. The root query. The cancellation token. Fetches the root query into which a nested query's data is merged. To execute. The plain data projectors. The current level data. The fields. Obtains the projection as a fields object, for the right template group used. To execute. Gets the function mapping store to use. Fetches the nested query, returning entities The nested query as entity query. The root query. Materializes the current level data into objects and returns them in an Ilist. Data is stored in the target of the projector passed in. The value projectors. The projector. The current level data. Creates the container and projector to use for materialization. To execute. The results container. The projector. Produces the additional filter for the nested query so the nested query's results are filtered on the current level's results so only the results which possibly match a fetched element on the current level are retrieved. The current level data. The current level filter, used to fetch the current level data. The current level relations. The nested query. the filter to use Executes the nested query and merges it with the data of the parent query. The parent query. The current level data. The current level results. The nested query. The cancellation token. Executes the nested entity query. The parent query. The nested query additional filter. The nested query as entity query. The cancellation token. Executes the nested value list query. The parent query. The nested query. The nested query additional filter. The cancellation token. Executes the nested query and merges it with the data of the parent query. The parent query. The current level data. The current level results. The nested query. Executes the nested entity query. The parent query. The nested query additional filter. The nested query as entity query. Executes the nested value list query. The parent query. The nested query. The nested query additional filter. Merges the level data with current level. To execute. The current level data. The current level results. Processes the fetched nested entity collection after the nested query was fetched. The entities. Determines the different values for nested query filter. This set of values is then used to build a parameterized query if possible. The current level data. The nested query. list of different values, per row in currentLevelData. It uses a string-based key where the values are stored as strings to avoid complex hashing algorithms to match duplicates. Gets the parameterised prefetch path threshold to use. Simple bucket class which is used to store fetch results of a hierarchical fetch. It contains row data as well as the materialized object. Initializes a new instance of the class. Finds the parents for the children in this resultset and merges the children with the parents The parent data. The nested query of which this object contains the results of Assumes parent hash values are already calculated Calculates the hashes for the values in valuesToHash's plain row results for the values in the rows at the indices specified. The hashes are stored using a key calculated from the indices in the valuesToHash object The value indices. Determines if a child should be merged with this parent, based on maxcounters. The max counters. Index of the parent. The max number of children per parent. If 0, no limit is set true if there's no limit or if the limit for children for this parent hasn't been reached for this nestedquery Creates the hash value key from indices. The value indices. Calculates the row hash from the values at the specified indices The row data. The value indices. Hashvalue for the row for the fields at the specified fields. Creates the object creator func instance for instantiating objects of type TObject using the default constructor The type of the object. an instance of the ObjectCreatorFunc for the TObject type so quickly new TObject instances can be created.. Creates the object creator func instance for instantiating objects of type TObject using the constructor passed in. The type of the object. The constructor to use for creating the delegate. an instance of the ObjectCreatorFunc for the TObject type so quickly new TObject instances can be created.. Thanks to Roger Alsing for the idea: http://rogeralsing.com/ The list of plain row data, in object rows. Gets or sets the set of hash values (with per hashvalue the indexes of the plain data/materialized object related to that hash) per field combination. The indices of the materialized / child objects per parent object of this resultset. List of materialized objects, which is the result of the query, ready to be returned. A hybrid join is a join between an IJoinOperand and an EntityRelationBasedJoin. The IJoinOperand can be a JoinClauseBase derived join or another element. The join operator is specified in the right operand (EntityRelationBasedJoin). Initializes a new instance of the class. The left operand. The right operand. Specifies an Inner join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. Specifies an Inner join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. Specifies a full join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. Specifies a full join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. Specifies a left join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. Specifies a left join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. Specifies a right join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. Specifies a right join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. Specifies a cross join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. Specifies a cross join over the relationship specified as right operand. The left side of 'rightOperand' should match with the right operand of this element. The right operand. The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself. Gets the left operand. Gets the right operand. Gets the type of the join. Gets or sets the left operand. Gets or sets the right operand. Class which defines a join of type INNER, LEFT or RIGHT. Initializes a new instance of the class. The left operand. Type of the join. The right operand. Adds the specified predicate as the ON clause for the join this object represents. The on clause. this join. Creates the on clause for the relation object created from this instance. The creator. predicate to use for the ON clause for the relation created from this object, or null if no ON clause has to be used. Base class for classes which define a join. Initializes a new instance of the class. The left operand. Type of the join. The right operand. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Gets the left and right as dynamic relation operands. Creates the on clause for the relation object created from this instance. The creator. predicate to use for the ON clause for the relation created from this object, or null if no ON clause has to be used. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself. Gets the left operand. Gets the right operand. Gets the type of the join. Gets the type of the join. Gets the left operand of the join Gets the right operand of the join Helper class which can create inner/left/right/cross joins based on EntityRelation objects. Defines the join specified by the relationship as an Inner join The relationship. Defines the join specified by the relationship as an Inner join The relationship. The alias of the start entity. The alias of the end entity. Defines the join specified by the relationship as a full join The relationship. Defines the join specified by the relationship as a full join The relationship. The alias of the start entity. The alias of the end entity. Defines the join specified by the relationship as a left join The relationship. Defines the join specified by the relationship as a left join The relationship. The alias of the start entity. The alias of the end entity. Defines the join specified by the relationship as a right join The relationship. Defines the join specified by the relationship as a right join The relationship. The alias of the start entity. The alias of the end entity. Defines the join specified by the relationship as a cross join The relationship. Defines the join specified by the relationship as a cross join The relationship. The alias of the start entity. The alias of the end entity. Creates the join. The relationship. Type of the join. The alias of the start entity. The alias of the end entity. Simple class which contains a nested query specification inside a projection simple class which is used to store predicate info once the correlationfilter predicates have been processed. Initializes a new instance of the class. The parent field. The child field. Index of the parent field. Index of the child field. The correlation predicate. Gets or sets the parent field. Gets or sets the child field. Gets or sets the index of the parent field. Gets or sets the index of the child field. Gets or sets the correlation predicate. Initializes a new instance of the class. The nested query. The index in result row of parent. The correlation filters, which are predicates which tie nested query to parent. Gets the field indices for all fields in the complete correlation filter. Based on the flag specified, the parent or the child field indexes are returned. if true, parentfield indexes are returned, otherwise child field indexes Adds the predicate info which is determined after the nested query has been processed by the valueprojection it is located in to this nested query so it can be used later on when the nested query has to be executed. The predicate. The parent field. The child field. Index of the parent field. Index of the child field. Gets or sets the nested query object. Gets or sets the index in result row of the parent. Gets or sets the correlation filters, which tie this nested query with the parent, containing, query. Can be empty (in which case the results of this nested query belong to every parent) Gets or sets the row comparer func which is a compiled lambda expression build from the predicates of the correlation filter of this nested query. Gets the predicate info per correlation predicate. Class which wraps a prepared projection, containing the final fields for the query to execute. Initializes a new instance of the class. Initializes a new instance of the class. The fields. Gets this prepared projection as a list of datavalue projectors, which are directly usable for creating projection using the framework list of ready to use datavalue projectors or null if the projection hasn't been prepared Determines the valid name for the field specified, when the field is at index 'index' The index. The field. Gets the projection name to index map. Coerces the elements to self servicing elements. Calling this method suggests the caller is part of a query which will be executed with selfservicing logic. Class which defines the projection of a DynamicQuery Initializes a new instance of the class. The source elements. Gets the first element in the source elements as field. the first element or null if not found / isn't a field. Adds the element. To add. Preprocesses the full projection placeholders, if found, and will replace them with fields targeting each field in the derived table they're referring to. Placeholders are ignored if their source is empty or doesn't target a derived table specified in the set of derived tables passed in. The derived tables found. The creator. Appends for each field in the derived table specified a targeting field to newSourceObjects. The new source objects. The targeted derived table. The creator. Gets the projection as fields. The creator. Adds the field to projection if not present. The field to check. index on which the field was found, or the new index if it was added if it wasn't found. Preprocesses this projection using the function mappings specified The custom function mappings. The dqe function mappings. Post-processes the nested queries in this projection. If there are nested queries, it produces in-memory lambda's for the routine which ties parent to child. Finds the field in projection. Used for hierarchical projection index finding so fields based on index are tied to each other. The field to check. the index on which the field was found, or -1 if not found. based on alias check. Skips all elements which aren't fields Gets the expression host field. The result alias. Type of the result. The creator. Wraps the plain projection elements in an expression field, predicates in a function call and a nested query in a NestedQuerySpecification. Normally these are only present if a function call was placed in a Select() without an alias assigned to it, or when a predicate is in the projection due to calls to contains, all, any etc. Fixes the first field for source determination. If there's no source defined in the query, i.e. the first field in the fieldscollection isn't a mapped field but a field with an expression and there are no relations, it means that the DQE won't be able to determine which table /view to target. This routine solves that by finding the first field in the expression of the field or in the rest of the sourcefields, clone that one and use that field as the field to use at position 0 instead of the current field. To check. Gets the unique field alias for the next field. Gets or sets the expression host field. This field is used to clone fields from to host expressions which are found in the projection. Defines a full projection placeholder Defines a full projection placeholder, but orders the projection not to include fields of subtypes Gets the count. Gets the nested queries. Core base class for all QueryFactory classes. Protected ctor to prevent instances Gets the next alias counter value to produce artifical aliases with Creates a new DynamicQuery instance with no alias set. Ready to use DynamicQuery instance Creates a new DynamicQuery instance with the alias specified as the alias set. The alias. Ready to use DynamicQuery instance Creates a new EntityQuery for the entity of the type specified with no alias set. The type of the entity to produce the query for. ready to use EntityQuery instance Creates a new EntityQuery for the entity of the type specified with the alias specified as the alias set. The type of the entity to produce the query for. The alias. ready to use EntityQuery instance Creates a new ElementCreator instance which is partof the generated code. Abstract base class for all query specification classes. Initializes a new instance of the class. The creator. The alias counter to produce an artifical, yet predictable, alias. Initializes a new instance of the class. The creator. The alias. The alias counter to produce an artifical, yet predictable, alias. Initializes a new instance of the class. Copy ctor The source. Returns a that represents this instance. A that represents this instance. Returns a that represents this instance. The start indent. A that represents this instance. Creates a field which targets the projection of this query. Use this to easily create a derived table targeting field which targets this query. The name. Gets the query parameters, built from the elements for the query inside this expression Appends the specified query as a query to union with this query using the operator specified. Converts the from + where clause into a relationpredicatebucket. Specifies the group by clause. All fields specified are the ones to group on. The fields to group on. this instance Sets the having clause. The having predicate. Sets the clause specified as the from clauses list The operand. Sets the clause specified as the from clauses list The relations. Appends the sort clause to the sort expression The sort clause. Appends the predicate with And to the existing where clause. The predicate. Appends the predicate with And to the existing where clause. The predicate. Sets the limit, where 0 is unlimited and a higher number than 0 specifies the number of elements to retrieve. The limit. Sets the offset to start reading from. 0 means no offset. The offset. Sets the limit, forced, without marking this query as unprepared. Used in hierarchical fetches. The limit. Sets the paging data The page number. Size of the page. Sets the distinct flag, so AllowDuplicates will be set to false. Clones this instance as a dynamic query. Does a shallow clone, Coerces this query to a scalar query with a new default field which is aggregated using the aggregate specified. The function. ready to use scalar query Coerces this query to a scalar query with the field specified, aggregated using the aggregate specified. The function. The field to aggregate. ready to use scalar query Coerces this query to a scalar query with the expression specified as its value to aggregate, aggregated using the aggregate specified. The function. The expression to aggregate. ready to use scalar query Finds the source aliases. Aliases are stored in SourceAliasesForQuery Gets all actual object names from projection. Gets the correlation predicates for nested query processing as a list. Gets from clause directives as clones. Converts all unioned queries to derived tables and appends them as unioned queries to the derived table specified. Gets the prefetch path as string. The start indent. Gets the additional info as string. For ToString(). Gets the order by as string. Gets the having as string. Gets the group by as string. Gets the where as string. Gets from as string. Gets the projection as string. Determines if the derived table variant of this query is the target when this query is used as the target of a field compare set predicate. Only true if query is an entity query and entity is an inheritance entity of TargetPerEntity. Coerces this query to a scalar query expression if set to true it will wrap the query in a derived table, otherwise it will simply use the first field of the projection as the select field. Determines if wrapping as derived table is required for scalar query. This overload looks at the prepared elements, and if a wrapping is required it will return true, otherwise false. Determines if wrapping as derived table is required for scalar query. The function to apply. Adds the field to projection if not present already. Uses field alias checks. If this query is an entity query, it won't add any fields, only verify whether the field is present. The field to check. index of the field in the projection. assumes fieldToCheck has already been cloned Converts this instance to a derived table definition. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. Gets the this as empty clone. The target alias specified. this query as a new empty clone of itself. Gets all fields from projection. Determines the type of the resultset. This type is used to build resultset instances for hierarchy fetches. Gets the projection as EntityFields object Gets the projection as EntityFields2 object Prepares this query for execution. The dqe function mappings. Validates this query whether it can be a unioned query in a parent query or not. Queries which contain nested queries or prefetch paths can't be unioned. Raises an exception if a QueryTarget was used in a query type which wasn't suitable for that. By default it does this Assures that the query has a proper alias. This is necessary for derived table generation, as derived tables need an alias. Handles the unwrap TVF call action. Determines whether this instance is empty. if set to true [exclude from clause from test]. true if this query is empty, i.e. no element is set that forces this query to become a derived table/full query. Sets the correlation predicate. The correlation filter. Sets the target alias. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. To append to. Prepares the contents of this query to be executed. Sets IsPrepared to true. Appends the predicate with And to the prepared where clause. Only used for appending additional filters to specified filters. The predicate. Gets the replacement for query target. By default this is the result of GetThisAsEmptyClone(). It will thrown an exception if the class isn't an entityquery, unless this method is overriden in a subtype. The target alias to pass. Makes this query as being not prepared so it will be re-prepared the next time Prepare() is called. Adds from clause directive. To add. Adds from clause directives. To add. Marks as prepared. Replaces the EntityQueryPlaceHolder objects with this instance Determines the real target alias to use. Called when PrepareForExecution has been completed successfully. Calls the lambda set in OnPrepareForExecutionCallBack, if set. Assures the present predicate expression. Adds all contained unioned queries to the specified query parameters as query parameters instances. Prepares the group by. Prepares all nested union queries. Prepares the where clause from the plain where clause specified in this query. Prepares the from clause from the plain from clause specified in this query Replaces the place holders. The join. Appends the clause specified to the current plain from clause. If there's no plain from clause yet, it will overwrite it. To append. Assures that the select field in scalar query expression is set to a valid field To return. Setups the scalar select field in the scalar query specified. The function. To update. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself. Gets the type of the resultset. For DynamicQuery instances this is List<object>, for DynamicQuery<T> this is List<T>, and for EntityQuery<T>, this is either an IEntityCollection or IEntityCollection2 created for the type T. Gets the target alias. Gets the prepared where clause. Gets the from clause, which is the prepared from clause, created from the plain clause. Gets the prepared order by clause. Gets the prepared group by clause. Gets the limit value specified Gets the offset value specified Gets AllowDuplicates (default is true, if Distinct() is specified, this value is false). Gets or sets the alias. Gets the optional custom function mapping store. A custom function mapping store takes precedence over the function mapping store obtained from the Dynamic Query Engine (DQE) used for producing the SQL for the query. If a custom function mapping store is needed for a query, Gets the nested queries defined for this query. By default this is an empty list, and only filled with nested queries if this query is a dynamic query and it contains one or more nested queries Gets the type of the resultset element. Gets the list of unioned queries with this query. Can be null, in which case no query is unioned with this query. Gets the list of unioned queries with this query. Can be null, in which case no query is unioned with this query. Gets the last clause on the from clause set list or null if nothing is there. Used with unwrapping tvf calls. Gets the type of the resultset. For DynamicQuery instances this is List<object>, for DynamicQuery<T> this is List<T>, and for EntityQuery<T>, this is either an IEntityCollection or IEntityCollection2 created for the type T. Gets the correlation filter. Gets a value indicating whether this instance is prepared. Gets or sets a value indicating whether the 'Alias' value should be used only for the query's alias (true) or for target aliasing as well if there's no target alias set (false, default). Set to true when the query is converted to a derived table. Gets the target alias. Gets the creator. Gets the prepared where clause. Gets the from clause, which is the prepared from clause, created from the plain clause. Gets the prepared order by clause. Gets the prepared group by clause. Gets the limit value specified Gets the offset value specified Gets AllowDuplicates (default is true, if Distinct() is specified, this value is false). Gets or sets the alias. Gets or sets the optional custom function mapping store. A custom function mapping store takes precedence over the function mapping store obtained from the Dynamic Query Engine (DQE) used for producing the SQL for the query. If a custom function mapping store is needed for a query, set this property only on the query object passed to the execution method. No need to set it on inner query objects. Gets the nested queries defined for this query. By default this is an empty list, and only filled with nested queries if this query is a dynamic query and it contains one or more nested queries Gets the type of the resultset element. Gets or sets the call back lambda which is called after this query has been prepared for execution. Use this method to tap into the execution chain to do last-minute query object manipulation / inspection prior to the actual fetch action. Gets or sets a value indicating whether the resultset should be cached. Gets or sets the tag the resultset should be cached under. By default this is the empty string (no tag) Gets or sets how long the resulset as a cached resultset should be placed in the cache. if set to true it will replace an existing cached set with the one specified. Gets or sets the optional tag for the SQL query/queries to relate SQL strings in an RDBMS with an origin. Returns the set of query hints specified for this query. Simple placeholder which is inserted by QueryTarget's join methods and is replaced by a real EntityQuery when the joins are prepared. Initializes a new instance of the class. Initializes a new instance of the class. The target alias. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself. Gets or sets the alias for the element which is Placeholder class to specify a join in From() calls on an EntityQuery. Specifies the target alias for the query target. The target alias. Creates a new join of type INNER JOIN between the EntityQuery which From() class the QueryTarget is used on and the specified right operand. The element to join with. the created join object Creates a new join of type FULL JOIN between the EntityQuery which From() class the QueryTarget is used on and the specified right operand. The element to join with. the created join object Creates a new join of type LEFT JOIN between the EntityQuery which From() class the QueryTarget is used on and the specified right operand. The element to join with. the created join object Creates a new join of type RIGHT JOIN between the EntityQuery which From() class the QueryTarget is used on and the specified right operand. The element to join with. the created join object Creates a new join of type CROSS JOIN between the EntityQuery which From() class the QueryTarget is used on and the specified right operand. The element to join with. the created join object Creates a new join of type INNER JOIN between the EntityQuery which From() class the QueryTarget is used by using the entity relation specified The relationship to join over the created join object Creates a new join of type FULL JOIN between the EntityQuery which From() class the QueryTarget is used by using the entity relation specified The relationship to join over the created join object Creates a new join of type LEFT JOIN between the EntityQuery which From() class the QueryTarget is used by using the entity relation specified The relationship to join over the created join object Creates a new join of type RIGHT JOIN between the EntityQuery which From() class the QueryTarget is used by using the entity relation specified The relationship to join over the created join object Creates a new join of type CROSS JOIN between the EntityQuery which From() class the QueryTarget is used by using the entity relation specified The relationship to join over the created join object Creates a new join of type INNER JOIN between the EntityQuery which From() class the QueryTarget is used by using the entity relation specified The relationship to join over The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. the created join object Creates a new join of type FULL JOIN between the EntityQuery which From() class the QueryTarget is used by using the entity relation specified The relationship to join over The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. the created join object Creates a new join of type LEFT JOIN between the EntityQuery which From() class the QueryTarget is used by using the entity relation specified The relationship to join over The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. the created join object Creates a new join of type RIGHT JOIN between the EntityQuery which From() class the QueryTarget is used by using the entity relation specified The relationship to join over The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. the created join object Creates a new join of type CROSS JOIN between the EntityQuery which From() class the QueryTarget is used by using the entity relation specified The relationship to join over The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. the created join object Simple wrapper which is used to use an IRelationCollection as the from clause. Initializes a new instance of the class. To wrap. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself. Simple wrapper class to be able to use a tablevalued function call as a join operand. Initializes a new instance of the class. To wrap. Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition. If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself. Gets or sets the wrapped TVF call. Class which defines window (analytical) functions so they can be used within a queryspec query combined with a windowspecification, defined by appending an Over() method call. Creates a CUME_DIST() function call returning a value of type System.Double. Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a DENSE_RANK() function call returning value of type System.Int64. Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a FIRST_VALUE(scalar_expression) function call returning a value of the type the scalar_expression resolves to. the value to return Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a LAG(scalar_expression, offset, defaultValue) function call returning a value of the type the scalar expression resolves to the value to return Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a LAG(scalar_expression, offset, defaultValue) function call returning a value of the type the scalar expression resolves to the value to return The number of rows back from the current row from which to obtain a value. offset can be a column, subquery, or other expression that evaluates to a positive integer or can be implicitly converted to bigint. offset cannot be a negative value Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a LAG(scalar_expression, offset, defaultValue) function call returning a value of the type the scalar expression resolves to the value to return The number of rows back from the current row from which to obtain a value. offset can be a column, subquery, or other expression that evaluates to a positive integer or can be implicitly converted to bigint. offset cannot be a negative value the default value to return if the row at offset is NULL Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a LASTVALUE(scalar_expression) function call returning a value of the type the scalar_expression resolves to. the value to return Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a LEAD(scalar_expression, offset, defaultValue) function call returning a value of the type the scalar expression resolves to the value to return Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a LEAD(scalar_expression, offset, defaultValue) function call returning a value of the type the scalar expression resolves to the value to return The number of rows back from the current row from which to obtain a value. offset can be a column, subquery, or other expression that evaluates to a positive integer or can be implicitly converted to bigint. offset cannot be a negative value Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a LEAD(scalar_expression, offset, defaultValue) function call returning a value of the type the scalar expression resolves to the value to return The number of rows back from the current row from which to obtain a value. offset can be a column, subquery, or other expression that evaluates to a positive integer or can be implicitly converted to bigint. offset cannot be a negative value the default value to return if the row at offset is NULL Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a NTH_VALUE(scalar_expression, offset) function call returning a value of the type the scalar_expression resolves to. the value to return The offset of the nth row of the window frame (counting from 1) Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a NTILE(integer_expression) function call returning a value of the type System.Int64. Is a positive integer expression that specifies the number of groups into which each partition must be divided Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a PERCENT_RANK() function call returning value of type System.Double. Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a PERCENTILE_CONT(numeric_literal) WITHIN GROUP (ORDER BY orderbyClause) function call returning value of type System.Double. the percentile to compute Specifies the ordering of the list of numeric values to compute the percentile over. Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Orderby and window bounds aren't allowed in the Over clause for this function Creates a PERCENTILE_DISC(numeric_literal) WITHIN GROUP (ORDER BY orderbyClause) function call returning value of type System.Double. the percentile to compute Specifies the ordering of the list of numeric values to compute the percentile over. Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Orderby and window bounds aren't allowed in the Over clause for this function Creates a RANK() function call returning value of type System.Int64. Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Creates a ROW_NUMBER() function call returning value of type System.Int64. Function mapping expression representing the function call Be sure to append an Over() clause to this function call. Extension methods for field / expression which assign an aggregate function on the field / expression. Places the Avg aggregate function on the field specified The field. Places the Avg(Distinct) aggregate function on the field specified The field. Places the Avg aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the Avg(Distinct) aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the Count aggregate function on the field specified The field. Places the Count(Distinct) aggregate function on the field specified The field. Places the Count aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the Count(Distinct) aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the CountBig aggregate function on the field specified The field. Places the CountBig(Distinct) aggregate function on the field specified The field. Places the CountBig aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the CountBig(Distinct) aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the Max aggregate function on the field specified The field. Places the Max aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the Min aggregate function on the field specified The field. Places the Min aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the StDev aggregate function on the field specified The field. Places the StDev(Distinct) aggregate function on the field specified The field. Places the StDev aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the StDev(Distinct) aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the Sum aggregate function on the field specified The field. Places the Sum(Distinct) aggregate function on the field specified The field. Places the Sum aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the Sum(Distinct) aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the Variance aggregate function on the field specified The field. Places the Variance(Distinct) aggregate function on the field specified The field. Places the Variance aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places the Variance(Distinct) aggregate function on the expression specified and returns a wrapping field with the expression. The expression. Places a new WindowSpecification in the specified field's OverClauseToApply property with no arguments the field to add the WindowSpecification to the specified field. Places a new WindowSpecification in the specified field's OverClauseToApply property with the arguments specified the field to add the WindowSpecification to the partition to use. Can be null. the specified field. Places a new WindowSpecification in the specified field's OverClauseToApply property with the arguments specified the field to add the WindowSpecification to the sort expression to use. Can be null. the specified field. Places a new WindowSpecification in the specified field's OverClauseToApply property with the arguments specified the field to add the WindowSpecification to the sort clause to use. Can be null. the specified field. Places a new WindowSpecification in the specified field's OverClauseToApply property with the arguments specified the field to add the WindowSpecification to the partition to use. Can be null. the sort expression to use. Can be null. the specified field. Places a new WindowSpecification in the specified field's OverClauseToApply property with the arguments specified the field to add the WindowSpecification to the partition to use. Can be null. the sort clause to use. Can be null. the specified field. Places a new WindowSpecification in the specified field's OverClauseToApply property with the arguments specified the field to add the WindowSpecification to the sort expression to use. Can be null. the window bounds to use. Can be null. the specified field. Places a new WindowSpecification in the specified field's OverClauseToApply property with the arguments specified the field to add the WindowSpecification to the sort clause to use. Can be null. the window bounds to use. Can be null. the specified field. Places a new WindowSpecification in the specified field's OverClauseToApply property with the arguments specified the field to add the WindowSpecification to the partition to use. Can be null. the sort clause to use. Can be null. the window bounds to use. Can be null. the specified field. Places a new WindowSpecification in the specified field's OverClauseToApply property with the arguments specified the field to add the WindowSpecification to the partition to use. Can be null. the sort expression to use. Can be null. the window bounds to use. Can be null. the specified field. Places the specified WindowSpecification in the specified field's OverClauseToApply property the field to add the WindowSpecification to The specification to use as Over clause for the field specified the specified field. Appends a WindowSpecification to the specified function mapping with no arguments the functionMapping to add the WindowSpecification to a new expression containing field with the proper function call and window specification. Appends a WindowSpecification to the specified function mapping with the arguments specified the functionMapping to add the WindowSpecification to the partition to use. Can be null. the specified field. Appends a WindowSpecification to the specified function mapping with the arguments specified the functionMapping to add the WindowSpecification to the sort expression to use. Can be null. a new expression containing field with the proper function call and window specification. Appends a WindowSpecification to the specified function mapping with the arguments specified the functionMapping to add the WindowSpecification to the sort clause to use. Can be null. a new expression containing field with the proper function call and window specification. Appends a WindowSpecification to the specified function mapping with the arguments specified the functionMapping to add the WindowSpecification to the partition to use. Can be null. the sort expression to use. Can be null. a new expression containing field with the proper function call and window specification. Appends a WindowSpecification to the specified function mapping with the arguments specified the functionMapping to add the WindowSpecification to the partition to use. Can be null. the sort clause to use. Can be null. a new expression containing field with the proper function call and window specification. Appends a WindowSpecification to the specified function mapping with the arguments specified the functionMapping to add the WindowSpecification to the sort expression to use. Can be null. the window bounds to use. Can be null. a new expression containing field with the proper function call and window specification. Appends a WindowSpecification to the specified function mapping with the arguments specified the functionMapping to add the WindowSpecification to the sort clause to use. Can be null. the window bounds to use. Can be null. a new expression containing field with the proper function call and window specification. Appends a WindowSpecification to the specified function mapping with the arguments specified the functionMapping to add the WindowSpecification to the partition to use. Can be null. the sort clause to use. Can be null. the window bounds to use. Can be null. a new expression containing field with the proper function call and window specification. Appends a WindowSpecification to the specified function mapping with the arguments specified the field to add the WindowSpecification to the partition to use. Can be null. the sort expression to use. Can be null. the window bounds to use. Can be null. a new expression containing field with the proper function call and window specification. Appends a WindowSpecification to the specified function mapping with the arguments specified the field to add the WindowSpecification to The specification to use as Over clause for the field specified a new expression containing field with the proper function call and window specification. Extension methods defined for IExpression. Specifies the specified alias on the expression specified. The expression. The alias. Specifies the result type of the expression to be TResult The type of the result. The expression. Specifies the specified alias on the expression specified. The expression. The alias. Specifies the result type of the expression to be TResult The type of the result. The expression. Creates a new expression: leftoperand * rightoperand The left operand. The right operand. Creates a new expression: leftoperand / rightoperand The left operand. The right operand. Creates a new expression: leftoperand + rightoperand The left operand. The right operand. Creates a new expression: leftoperand - rightoperand The left operand. The right operand. Creates a new expression: leftoperand AND rightoperand The left operand. The right operand. Creates a new expression: leftoperand BitwiseAnd rightoperand The left operand. The right operand. Creates a new expression: leftoperand BitwiseOr rightoperand The left operand. The right operand. Creates a new expression: leftoperand BitwiseXor rightoperand The left operand. The right operand. Creates a new expression: leftoperand MOD rightoperand The left operand. The right operand. Creates a new expression: leftoperand Or rightoperand The left operand. The right operand. Placeholder method which is used in a Select(lambda func) projection inside the lambda to specify the type of the result of the passed in expression. The type of the value. The expression. As this is a placeholder, it does nothing. It's replaced with a ProjectionRow indexer in a compiled lambda for the Select method Placeholder method which is used in a Select(lambda func) projection inside the lambda to specify the type of the result of the passed in expression. The type of the value. The expression. As this is a placeholder, it does nothing. It's replaced with a ProjectionRow indexer in a compiled lambda for the Select method Wraps the operands in a new expression, using the operator specified The left operand. The right operand. The op. Class which defines extension methods defined on IEntityFieldCore implementing classes. Specifies the result type of the field to be TResult The type of the result. The field. Use on derived table targeting fields only Specifies the field alias on the field, returning the field. The field. The alias. Specifies the field alias on the field, returning the field. The field. The alias. Specifies the field alias on the field, returning the field. The field. The alias. Specifies the object alias (source) of the field, returning the field. The type of the field. The field. The object alias. Placeholder method which is used in a Select(lambda func) projection inside the lambda to specify the type of the result of the passed in field. The type of the value. The field. As this is a placeholder, it does nothing. It's replaced with a ProjectionRow indexer in a compiled lambda for the Select method Placeholder method which is used in a generated lambda from a call to Select<T>>(fields) to specify the type of the result of the passed in field and as well the ordinal the source field has in the actual projection of the query. The type of the value. The field. The ordinal in projection. As this is a placeholder, it does nothing. It's replaced with a ProjectionRow indexer with the ordinalInProject specfied as the index in a compiled lambda for the Select method Coerces the field specified to self servicing field. Only works if field is an expression field. Only used in situations where the system created an adapter field (for expression holding) when there was no field to clone or creator at hand. The field. Clones the specified field. The type of the field. The field. if set to true it will reset the expression and aggregate property on the cloned field. Class which defines extension methods for IJoinOperand implementing types to formulate joins between various elements. Creates a new join of type INNER JOIN between the left operand the method is called on and the specified right operand. The left operand. The element to join with. the created join object Creates a new join of type FULL JOIN between the left operand the method is called on and the specified right operand. The left operand. The element to join with. the created join object Creates a new join of type LEFT JOIN between the left operand the method is called on and the specified right operand. The left operand. The element to join with. the created join object Creates a new join of type RIGHT JOIN between the left operand the method is called on and the specified right operand. The left operand. The element to join with. the created join object Creates a new join of type CROSS JOIN between the left operand the method is called on and the specified right operand. The left operand. The element to join with. the created join object Creates a new join of type INNER JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified The left operand. The relationship to join over the created join object Creates a new join of type FULL JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified The left operand. The relationship to join over the created join object Creates a new join of type LEFT JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified The left operand. The relationship to join over the created join object Creates a new join of type RIGHT JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified The left operand. The relationship to join over the created join object Creates a new join of type CROSS JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified The left operand. The relationship to join over the created join object Creates a new join of type INNER JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified The left operand. The relationship to join over The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. the created join object Creates a new join of type FULL JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified The left operand. The relationship to join over The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. the created join object Creates a new join of type LEFT JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified The left operand. The relationship to join over The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. the created join object Creates a new join of type RIGHT JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified The left operand. The relationship to join over The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. the created join object Creates a new join of type CROSS JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified The left operand. The relationship to join over The alias of the start entity in rightOperand. The alias of the end entity in rightOperand. the created join object Sets the CustomFilter on the specified relation, and passing false for ReplacesOnClause. A custom filter is a predicate(-expression) which is appended to the ON clause created from the relation specified. The relation to set the CustomFilter on The filter. the relation Sets the CustomFilter on the specified relation. A custom filter is a predicate(-expression) which is appended to the ON clause created from the relation specified. If replacesOnClause is true, it replaces the ON clause with the filter specified. The relation. The filter. if set to true the ON clause resulting from the relation is replaced with the filter specified. Extension methods defined for IPredicate implementing classes. Specifies an alias for the value returned by the predicate when the predicate is used in a projection. Equal to: Functions.IIF(predicate, true, false).As(alias) The predicate. The alias. Returns a new PredicateExpression with contents: predicate AND toAdd The predicate. To add. Returns a new PredicateExpression with contents: predicate OR toAdd The predicate. To add. Returns a new PredicateExpression with contents: predicate AND NOT toAdd The predicate. To add. Returns a new PredicateExpression with contents: predicate OR NOT toAdd The predicate. To add. Returns the predicate wrapped in a CASE WHEN (predicate) THEN 1 ELSE 0 END construct (as a function call expression) so the predicate can be used as a real boolean value in other places than the Where clause. The predicate. Makes the predicate a case-insensitive comparison by using the UPPER() function on the value to compare to the pattern specified in the predicate. Make sure the predicate's pattern is specified with uppercase characters. Only useful on case-sensitive collations. The predicate. Makes the predicate a case-insensitive comparison by using the UPPER() function on the value to compare to the pattern specified in the predicate. Make sure the predicate's value is specified with uppercase characters. Only useful on case-sensitive collations. The predicate. Placeholder method which is used in a Select(lambda func) projection inside the lambda to specify the type of the result of the passed in predicate. Use this method only when specifying a predicate in the projection lambda. The predicate. As this is a placeholder, it does nothing. It's replaced with a ProjectionRow indexer in a compiled lambda for the Select method Extension methods to produce All/Any based predicates (NOT EXISTS, EXISTS). Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates a predicate which has to be true for all elements in query, which is equal to NOT EXISTS(QUERY.Where(NOT predicate)) The query. The predicate. Creates a predicate which has to be true it there's at least one element in query, which is equal to EXISTS(QUERY) The query. Creates a predicate which has to be true for at least one element in query, which is equal to EXISTS(QUERY.Where(predicate)) The query. The predicate. Extension methods to produce between comparison predicates. Defined for various source elements, like fields, expressions... Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates a Between predicate which is true if the result of the expression specified is between valueBegin and valueEnd, valueBegin and valueEnd included. The expression. The begin value. Can be a field or normal value. The end value. Can be a field or normal value. Creates a Between predicate which is true if the result of the expression specified is not between valueBegin and valueEnd, valueBegin and valueEnd included. The expression. The begin value. Can be a field or normal value. The end value. Can be a field or normal value. Creates a Between predicate which is true if the field specified is between valueBegin and valueEnd, valueBegin and valueEnd included. The field. The begin value. Can be a field or normal value. The end value. Can be a field or normal value. Creates a Between predicate which is true if the field specified is not between valueBegin and valueEnd, valueBegin and valueEnd included. The field. The begin value. Can be a field or normal value. The end value. Can be a field or normal value. Wraps the value in a field if it's an expression. The value. Extension methods to produce Contains based predicates (EXISTS, IN..). Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates a predicate which has to be true if the query contains an entity which has the same PK values as the entityInstance specified The query. The entity instance. Creates a predicate which has to be true if the query contains the entities in valueSupplierQuery The query. The value supplier query. Creates a predicate which has to be true if a value in the set produced by query valueSupplierQuery is in the set produced by query. The query. The value supplier query. Creates a predicate which has to be true if the query contains the value specified. The query. The value. Extension methods to produce equality comparison predicates. Defined for various source elements, like fields, expressions... Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates an equality comparison predicate between the expression and the value specified. If the value is null or DBNull.Value a null comparison predicate is created The expression. To compare with. Creates an equality comparison predicate between the two expressions specified. The expression. To compare with. Creates an equality comparison predicate between the expression and the field specified. The expression. To compare with. Creates an equality comparison predicate between the field and the expression specified. The field. To compare with. Creates an equality comparison predicate between the two fields specified. The field. To compare with. Creates an equality comparison predicate between the expression and the value specified. If the value is null or DBNull.Value a null comparison predicate is created The field. To compare with. Extension methods to produce greater or equal comparison predicates. Defined for various source elements, like fields, expressions... Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates a greater or equal comparison predicate between the expression and the value specified. If the value is null or DBNull.Value a null comparison predicate is created The expression. To compare with. Creates a greater or equal comparison predicate between the two expressions specified. The expression. To compare with. Creates a greater or equal comparison predicate between the expression and the field specified. The expression. To compare with. Creates a greater or equal comparison predicate between the field and the expression specified. The field. To compare with. Creates a greater or equal comparison predicate between the two fields specified. The field. To compare with. Creates a greater or equal comparison predicate between the expression and the value specified. The field. To compare with. Extension methods to produce greater than comparison predicates. Defined for various source elements, like fields, expressions... Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates a greater than comparison predicate between the expression and the value specified. If the value is null or DBNull.Value a null comparison predicate is created The expression. To compare with. Creates a greater than comparison predicate between the two expressions specified. The expression. To compare with. Creates a greater than comparison predicate between the expression and the field specified. The expression. To compare with. Creates a greater than comparison predicate between the field and the expression specified. The field. To compare with. Creates a greater than comparison predicate between the two fields specified. The field. To compare with. Creates a greater than comparison predicate between the expression and the value specified. The field. To compare with. Extension methods to produce IN based predicates (field IN (set/range/query)) for field or expression. Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates a Field IN (query) predicate The field. The query. Creates a NOT (Field IN (query)) predicate The field. The query. Creates a Field IN (values) predicate The field. The values. Creates a NOT (Field IN (values)) predicate The field. The values. Creates a Field IN (query) predicate The expression. The query. Creates a NOT (Field IN (query)) predicate The expression. The query. Creates a Field IN (values) predicate The expression. The values. Creates a NOT (Field IN (values)) predicate The expression. The values. Creates a predicate which is true if there's an object of type T in values, which has for each property P a field in fields with the same name / alias and the value for property P is equal to the value of the field equivalent in the main query. The fields. The values. Creates a predicate which is true if there's no object of type T in values, which has for each property P a field in fields with the same name / alias and the value for property P is equal to the value of the field equivalent in the main query. The fields. The values. Extension methods to produce IS Null comparison predicates. Defined for various source elements, like fields, expressions... Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Generates a FieldCompareNull predicate on the field specified. The field. Generates a negated FieldCompareNull predicate on the field specified. The field. Generates a FieldCompareNull predicate on the expression specified. The expression. Generates a negated FieldCompareNull predicate on the expression specified. The expression. Extension methods to produce lesser or equal comparison predicates. Defined for various source elements, like fields, expressions... Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates a lesser or equal comparison predicate between the expression and the value specified. If the value is null or DBNull.Value a null comparison predicate is created The expression. To compare with. Creates a lesser or equal comparison predicate between the two expressions specified. The expression. To compare with. Creates a lesser or equal comparison predicate between the expression and the field specified. The expression. To compare with. Creates a lesser or equal comparison predicate between the field and the expression specified. The field. To compare with. Creates a lesser or equal comparison predicate between the two fields specified. The field. To compare with. Creates a lesser or equal comparison predicate between the expression and the value specified. The field. To compare with. Extension methods to produce lesser than comparison predicates. Defined for various source elements, like fields, expressions... Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates a lesser than comparison predicate between the expression and the value specified. If the value is null or DBNull.Value a null comparison predicate is created The expression. To compare with. Creates a lesser than comparison predicate between the two expressions specified. The expression. To compare with. Creates a lesser than comparison predicate between the expression and the field specified. The expression. To compare with. Creates a lesser than comparison predicate between the field and the expression specified. The field. To compare with. Creates a lesser than comparison predicate between the two fields specified. The field. To compare with. Creates a lesser than comparison predicate between the expression and the value specified. The field. To compare with. Extension methods to produce negated equality (not equal) comparison predicates. Defined for various source elements, like fields, expressions... Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates a negated equality comparison predicate between the expression and the value specified. If the value is null or DBNull.Value a null comparison predicate is created The expression. To compare with. Creates a negated equality comparison predicate between the two expressions specified. The expression. To compare with. Creates a negated equality comparison predicate between the expression and the field specified. The expression. To compare with. Creates a negated equality comparison predicate between the field and the expression specified. The field. To compare with. Creates a negated equality comparison predicate between the two fields specified. The field. To compare with. Creates a negated equality comparison predicate between the expression and the value specified. If the value is null or DBNull.Value a null comparison predicate is created The field. To compare with. Class which produces predicate instances of various types. Creates a new FieldCompareValuePredicate. The field to compare. The predicate operator. The compare operand. ready to use predicate Creates a new FieldBetweenPredicate The field to compare. The value begin. The value end. if set to true [negate]. ready to use predicate Creates a new FieldCompareExpressionPredicate The field to compare. The predicate operator. The compare operand. ready to use predicate Creates a new FieldCompareNullPredicate. The field to compare. ready to use FieldCompareNull predicate Creates a new FieldCompareNullPredicate. The field to compare. if set to true [negate]. ready to use FieldCompareNull predicate Creates a new FieldCompareRangePredicate instance. The field to compare. if set to true [negate]. The values. ready to use FieldCompareRangePredicate Creates a new FieldLikePredicate instance The field to compare. The pattern. An optional character to use as escape character. ready to use fieldLikePredicate instance Creates a new FieldCompareSetPredicate The field to compare. The set field. The set operator. The set filter. The set relations. The max number of items to return. The sorter. The set group by. if set to true [allow duplicates]. Creates the field compare set predicate. This is a wrapper around the factory method. The query. The set operator. The field to compare. Determines the whether the selfservicing ctor should be used. The field. true if the field specified is a selfservicing field or an expression on the field contains at least 1 selfservicing field, false otherwise. It also returns false when field is null. Extension methods to produce Like predicates for string fields/expressions. Defined for various source elements, like fields, expressions... Uses adapter field instances for expression wrapping, as it doesn't matter: the expression will emitted into the output, not the field containing it. Creates a Like predicate for the expression specified using the pattern specified. The pattern has to contain the wildcards required. The expression. The pattern. An optional character to use as escape character. Creates a Like predicate for the field specified using the pattern specified. The pattern has to contain the wildcards required. The field. The pattern. An optional character to use as escape character. Creates a Like predicate using the pattern: 'pattern%' for the expression specified. The expression. The pattern. An optional character to use as escape character. Creates a Like predicate using the pattern: '%pattern' for the expression specified. The expression. The pattern. An optional character to use as escape character. Creates a Like predicate using the pattern: '%pattern%' for the expression specified. The expression. The pattern. An optional character to use as escape character. Creates a Like predicate using the pattern: 'pattern%' for the fieldl specified. The field. The pattern. An optional character to use as escape character. Creates a Like predicate using the pattern: '%pattern' for the field specified. The field. The pattern. An optional character to use as escape character. Creates a Like predicate using the pattern: '%pattern%' for the field specified. The field. The pattern. An optional character to use as escape character. Extension methods for PrefetchPath related elements. Defines the sub path for the specified parentElement. The type of the path element. The parent element. The sub path element. The other sub path elements. Specifies the filter clause of the prefetch path element specified The type of the path element. The element. The predicate. Specifies the order by clause of the prefetch path element specified The type of the path element. The element. The sort clauses. Specifies the row limit / maxNumberOfElementsToRetrieve of the prefetch path element specified The type of the path element. The element. The limit. Specifies a target hint for the query of the prefetch path element specified. The type of the path element. The element. The hint specification Specifies a temporal table predicate for the System Time on the target of the prefetch path element specified. The type of the path element. The element. The predicate. The argument1. Optional The argument2. Optional Specifies a temporal table predicate for the Business Time on the target of the prefetch path element specified. The type of the path element. The element. The predicate. The argument1. Optional The argument2. Optional Specifies the fields to exclude for the prefetch path element specified. The type of the path element. The element. The fields to exclude. If there's already a set of fields specified to exclude or include, it will be overwritten with the list of fields specified. Specifies the fields to include for the prefetch path element specified. The type of the path element. The element. The fields to include. If there's already a set of fields specified to exclude or include, it will be overwritten with the list of fields specified. Specifies the additional joins for the prefetch path element specified. The type of the path element. The element. The joins. A specified alias for the prefetch path element target is ignored. Sets the NoCaching flag on the prefetch path element specified, signalling that the node has to be fetched from the database always even if the parent query uses resultset caching. The type of the path element. The element. Adds the specified element tot the specified path. The path. To add. Replaces the EntityQueryPlaceHolder objects with this instance The ppath element. The joins. Replaces the place holders. The ppath element. The join. Extension ethods defined on QuerySpec and derived classes. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The query. The duration how long the resultset will stay in the cache. Will not overwrite an existing cached resultset, if present Specifies that the query's resultset should be cached for the duration specified. The type of the query. The query. The duration how long the resultset will stay in the cache. The cache tag. Will not overwrite an existing cached resultset, if present Specifies that the query's resultset should be cached for the duration specified. The type of the query. The query. The duration in seconds how long the resultset will stay in the cache. Will not overwrite an existing cached resultset, if present Specifies that the query's resultset should be cached for the duration specified. The type of the query. The query. The duration in seconds how long the resultset will stay in the cache. The cache tag. Will not overwrite an existing cached resultset, if present Specifies that the query's resultset should be cached for the duration specified. The type of the query. The query. The duration in seconds how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The query. The duration in seconds how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. The cache tag. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The query. The duration how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. Specifies that the query's resultset should be cached for the duration specified. The type of the query. The query. The duration how long the resultset will stay in the cache. if set to true it will replace an existing cached set with the one specified. The cache tag. Specifies the tag to append as comment into the SQL query / queries generated from the query specified. Use the tag to trace back the origin of a SQL query in the RDBMS. the query to tag the string to insert as comment into the SQL query/queries. Don't use '/*' and '*/' markers in your tag. If the tag is null or empty, it's ignored. The type of the query the query specified Specifies the From clause of the query The type of the query. The query. The operand. Specifies the From clause of the query The type of the query. The query. The relations to use as the From clause. Specifies the where clause of the query by appending it with And to the existing (if any) predicates The type of the query. The query. The predicate. Specifies the where clause of the query by appending it with And to the existing (if any) predicates The type of the query. The query. The predicate. Specifies the where clause of the query by appending it with Or to the existing (if any) predicates The type of the query. The query. The predicate. Specifies the where clause of the query by appending a predicate which is true for each entity in query which is also in the list 'entities' The type of the entity. The query. The entities to compare to. Specifies the where clause of the query by appending a predicate which is true for each entity in query which is also in toInclude. The type of the entity. The query. To include. Specifies the where clause of the query by appending a predicate which is true for each element in query which is also in toInclude. The query. To include. Assumes projections of query and toInclude are equal. Specifies the where clause of the query by appending a predicate which is true for each element in query which is also in toInclude. The query. To include. Assumes projections of query and toInclude are equal. Specifies the where clause of the query by appending a predicate which is true for each entity in query which isn't in the list 'entities' The type of the entity. The query. The entities to compare to. Specifies the where clause of the query by appending a predicate which is true for each entity in query which isn't in toExclude. The type of the entity. The query. To exclude. Specifies the where clause of the query by appending a predicate which is true for each element in query which is also in toExclude. The query. To exclude. Assumes projections of query and toInclude are equal. Specifies the where clause of the query by appending a predicate which is true for each element in query which is also in toExclude. The query. To exclude. Assumes projections of query and toExclude are equal. Specifies the query toUnion which should be union-ed with query using the UNION operator The type of the entity. The query. To union with query. Specifies the query toUnion which should be union-ed with query using the UNION operator The query. To union. Assumes projections of query and toUnion are equal. Specifies the query toUnion which should be union-ed with query using the UNION operator The query. To union. Assumes projections of query and toUnion are equal. Specifies the query toUnion which should be union-ed with query using the UNION ALL operator The type of the entity. The query. To union with query. Specifies the query toUnion which should be union-ed with query using the UNION ALL operator The query. To union. Assumes projections of query and toUnion are equal. Specifies the query toUnion which should be union-ed with query using the UNION ALL operator The query. To union. Assumes projections of query and toUnion are equal. Specifies the where clause of the query by appending an EXISTS predicate based on the existsQuery predicate specified. The type of the query. The query. The exists query. Specifies the where clause of the query by appending a NOT EXISTS predicate based on the existsQuery predicate specified. The type of the query. The query. The exists query. Specifies the alias of the query as a whole. To set the alias of the target of the query, use TargetAs(alias). The query. The alias. Specifies the alias of the query The query. The alias. Specifies the alias of the query The query. The alias. Specifies the projection of the query specified, making it a typed dynamic query. It creates the projection from the two type arguments given. T is the type of the return class which has to be filled. the type of the fields creation class, e.g. CustomerFields The query to specify the select for. The specified query with a typed projection Specifies the projection of the query specified. It clears any existing projection and sets the projection to the one specified. This variant converts the specified projectionFunc into the projector lambda to pass to WithProjector and extracts the elements to place in the SQL query's projection from the projectionFunc. Use this overload to specify a typed resultset. The query. The projection func. Calling this method on a DynamicQuery<T> will overwrite the already set projector and change the type to the return type of the projectionFunc specified as argument to this method. Specifies the projection of the query. It clears any existing projection and sets the projection to the one specified. The query. The projection elements. Can't be empty The DynamicQuery instance Obsolete, don't use. Specifies the projection of the query. It clears any existing projection and sets the projection to the one specified. The return type of the elements of the query The query. The projection elements. Can't be empty The DynamicQuery instance Specifies the projection of the query and the result type. It clears any existing projection and sets the projection to the one specified. It will also mark the query to autogenerate a projector lambda to project the specified projection elements to an instance of T for each row. The return type of the elements of the query The query. The projection elements. Can't be empty The DynamicQuery instance Specifies a projection on 'query' which is mimics the projection of the query 'toWrap': it contains fields which target each field in 'toWrap's projection. It wraps 'toWrap' as the From clause for 'query', overwriting query's From clause, if set. The return type of the elements of the query The query. To wrap. Specifies a projection on 'query' which is mimics the projection of the query 'toWrap': it contains fields which target each field in 'toWrap's projection. It wraps 'toWrap' as the From clause for 'query', overwriting query's From clause, if set. The query. To wrap. Specifies the orderby of the query. All sort clauses are appended to the sort expression already present. The type of the query. The query. The sort clauses. Specifies the orderby of the query. All sort clauses are appended to the sort expression already present. The type of the query. The query. The sort clauses. Specifies the correlation filter between this query and a parent query. Use this method to bind two queries together in a correlated fashion, e.g. in nested queries or in correlated subqueries. The type of the query. The query. The correlation filter query is related over with a parent query. Sets the limit of the query, the number of elements to retrieve. 0 means all elements (no limit). A number greater than 0 means the limit specifies the number of elements to retrieve. The type of the query. The query. The limit. Page() will overwrite this value Sets the offset of the query, the number of elements to skip before read will start. 0 means no offset. The type of the query. The query. The offset. limit is a value which should be set to 0 or higher, where 0 means no limit Page() will overwrite this value. Sets the AllowDuplicates flag to false, so the query won't return duplicate rows. The query. Sets the AllowDuplicates flag to false, so the query won't return duplicate rows. The query. Sets the AllowDuplicates flag to false, so the query won't return duplicate rows. The query. Sets the paging data: the page size and the page number to retrieve, where 0 for one of them means no paging. Valid page sizes and page numbers are 1 or greater. The type of the query. The query. The page number. Size of the page. Setting Page data by calling this page makes a Limit be ignored. Specifies the fields to exclude from the query, fetching all other fields not mentioned in the list of fields to exclude. The query. The fields to exclude. Exclude will be ignored if this query is used in a join / from clause Specifies tht fields to include in the query, excluding all other fields not necessary for the fetch. The query. The fields to include. Include will be ignored if this query is used in a join / from clause Specifies the group by clause. All fields specified are the ones to group on. The type of the dynamic query. The query. The fields to group on. this instance Specifies the having clause for the group by clause of this query. Ignored if the query has no group by specified at time of execution The type of the dynamic query. The query. The having predicate. Placeholder method which is used in a Select(lambda func) projection inside the lambda to specify the type of the resultset of the passed in query. The type of the element. The query. As this is a placeholder, it does nothing. It's replaced with a ProjectionRow indexer in a compiled lambda for the Select method Placeholder method which is used in a Select(lambda func) projection inside the lambda to specify the type of the resultset of the passed in query. The type of the element. The query. As this is a placeholder, it does nothing. It's replaced with a ProjectionRow indexer in a compiled lambda for the Select method Placeholder method which is used in a Select(lambda func) projection inside the lambda to specify the type of the single result of the passed in query. The type of the element. The query. As this is a placeholder, it does nothing. It's replaced with a ProjectionRow indexer in a compiled lambda for the Select method Placeholder method which is used in a Select(lambda func) projection inside the lambda to specify the type of the single result of the passed in query. The type of the element. The query. As this is a placeholder, it does nothing. It's replaced with a ProjectionRow indexer in a compiled lambda for the Select method Sets the alias on the query specified. The type of the query. The query. The alias. Extension methods for the ScalarQueryExpression class. Forces the row limit on the scalar query expression specified. A row limit is only required if the query potentially returns more values and it's used in a scope where it's required to return 1 element at most. To alter. Placeholder method which is used in a Select(lambda func) projection inside the lambda to specify the type of the result of the passed in scalar query. The type of the value. The scalar query. As this is a placeholder, it does nothing. It's replaced with a ProjectionRow indexer in a compiled lambda for the Select method Class with extension methods to produce scalar queries from normal queryspec queries. Converts the specified query to a scalar query, without enforcing a row limit. The query. Converts the specified query to a scalar query. The query. if set to true it will enforce a row limit on the scalar query. Set to true if the query might return more than one value and the row limit will increase performance in your database of choice Creates a COUNT(*) query of the query specified. The query. Creates a COUNT_BIG(*) query of the query specified, SQL Server specific The query. Creates a scalar query over the specified query and aggregates the first field in the projection of the query. The query. Creates a scalar query over the specified query and aggregates the expression specified with the Avg() aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the Avg() aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the expression specified with the Avg(Distinct ) aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the Avg(Distinct ) aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the first field in the projection of the query. Semantically equal to CountRow The query. Creates a scalar query over the specified query and aggregates the expression specified with the Count() aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the Count() aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the expression specified with the Count(Distinct ) aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the Count(Distinct ) aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the first field in the projection of the query. Semantically equal to CountBigRow The query. Creates a scalar query over the specified query and aggregates the expression specified with the CountBig() aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the CountBig() aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the expression specified with the CountBig(Distinct ) aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the CountBig(Distinct ) aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the first field in the projection of the query. The query. Creates a scalar query over the specified query and aggregates the expression specified with the Max() aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the Max() aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the first field in the projection of the query. The query. Creates a scalar query over the specified query and aggregates the expression specified with the Min() aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the Min() aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the first field in the projection of the query. The query. Creates a scalar query over the specified query and aggregates the expression specified with the StDev() aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the StDev() aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the expression specified with the StDev(Distinct ) aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the StDev(Distinct ) aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the first field in the projection of the query. The query. Creates a scalar query over the specified query and aggregates the expression specified with the Sum() aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the Sum() aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the expression specified with the Sum(Distinct ) aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the Sum(Distinct ) aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the first field in the projection of the query. The query. Creates a scalar query over the specified query and aggregates the expression specified with the Variance() aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the Variance() aggregate function. The query. The field to aggregate. Creates a scalar query over the specified query and aggregates the expression specified with the Variance(Distinct ) aggregate function. The query. The expression to aggregate. Creates a scalar query over the specified query and aggregates the field specified with the Variance(Distinct ) aggregate function. The query. The field to aggregate. Class which contains extension methods to produce sort clauses on fields / expressions. Creates an ascending sort clause for the expression specified The expression. Creates a descending sort clause for the expression specified The expression. Creates an ascending sort clause for the field specified The field. Creates a descending sort clause for the field specified The field. Creates a sort clause for a field with the alias specified, sorting ascending The alias of the field to sort on. Creates a sort clause for a field with the alias specified, sorting descending The alias of the field to sort on. Sets the CaseSensitiveCollation flag on the sort clause specified. This will apply the UPPER() function (or db specific equivalent) to the field in the ORDER BY clause. The clause. Sets the EmitAliasForExpressionAggregateField flag on the sort clause specified to false. The value of the flag indicates whether the alias of the field should be emitted if it has an expression/aggregate or the full field / expression. Using this method sets this flag to false indicating that the field in this sortclause isn't used in the projection and it has an expression/aggregate assigned to it. Appends an ISortClause to an existing ISortClause to form a new ISortExpression the first clause of the sort expression the second clause of the sort expression new sort expression with the two specified sort clauses Appends an ISortClause to an existing ISortExpression the expression to append to the clause to append the expression specified with thenClause appended Creates a new sort clause. The field. The sort operator. Simple interface for accessing a DynamicQuery object's internal elements for further manipulation (in case of objects) or analysis. Be sure to access the elements after the query has been prepared for execution. Gets the prepared projection. Simple interface for accessing a generic EntityQuery object's internal elements for further manipulation (in case of objects) or analysis. Be sure to access the elements after the query has been prepared for execution. Gets the fields to include exclude. Gets the prefetch path. Interface implemented on EntityQuery<T> instances, to be used to use generic EntityQuery objects non-generically. Used by fetch logic internally. Prepares the contents of this query to be executed. Sets IsPrepared to true. Prepares this query for execution. The dqe function mappings. Converts the from + where clause into a relationpredicatebucket. Appends the predicate with And to the prepared where clause. Only used for appending additional filters to specified filters. The predicate. Gets the query parameters, built from the elements for the query inside this expression the func to retrieve the fields for the queryparameters from this query flag whether dbnull values have to be processed separately or not Gets the limit value specified Gets the fields to include exclude. Gets the prefetch path. Gets or sets the context to use for the query. The context value set is used during entity fetches when no entity collection is passed to the fetch method. Gets the creator. Gets the type of the entity this query fetches data for. Gets or sets the optional custom function mapping store. A custom function mapping store takes precedence over the function mapping store obtained from the Dynamic Query Engine (DQE) used for producing the SQL for the query. If a custom function mapping store is needed for a query, set this property only on the query object passed to the execution method. No need to set it on inner query objects. Gets the prepared order by clause. Gets the offset value specified Gets the from clause, which is the prepared from clause, created from the plain clause. Gets the prepared where clause. Gets the type filter. Interface which defines a join in the most simple description. Gets the left operand. Gets the right operand. Gets the type of the join. Interface which defines an operand which can participate in a join definition (as left or right side). Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection. The creator. To append to. Converts this instance to a dynamic relation operand. The creator. Either a FullEntityName or a DerivedTableDefinition or an entityfield. If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself. Simple interface for accessing a QuerySpec object's internal elements for further manipulation (in case of objects) or analysis. Be sure to access the elements after the query has been prepared for execution. Gets the type of the resultset. For DynamicQuery instances this is List<object>, for DynamicQuery<T> this is List<T>, and for EntityQuery<T>, this is either an IEntityCollection or IEntityCollection2 created for the type T. Gets the target alias. Gets the prepared where clause. Gets the from clause, which is the prepared from clause, created from the plain clause. Gets the prepared order by clause. Gets the prepared group by clause. Gets the limit value specified Gets the offset value specified Gets AllowDuplicates (default is true, if Distinct() is specified, this value is false). Gets or sets the alias. Gets the optional custom function mapping store. A custom function mapping store takes precedence over the function mapping store obtained from the Dynamic Query Engine (DQE) used for producing the SQL for the query. If a custom function mapping store is needed for a query, Gets the nested queries defined for this query. By default this is an empty list, and only filled with nested queries if this query is a dynamic query and it contains one or more nested queries Gets the type of the resultset element. Gets the list of unioned queries with this query. Can be null, in which case no query is unioned with this query. Delegate which is used in WithProjector methods to define the projector delegate. Delegate which is used with plain sql projections as these can skip most projection ceremony. The r. Delegate which is used to compile an in-memory lambda to which is used to compare parent rows with child rows in nested-query executions. The lambda looks like: (parentValues, childValues) => FieldUtilities.ValuesAreEqual(parentValues[parentFieldIndex], childValues[childFieldIndex]); true if the child belongs to parent. Delegate which is used to create new instances of an object based on a type, and which is much faster than Activator.CreateInstance Simple class which defines the full name of an entity, used in join preparation. Initializes a new instance of the class. Name of the entity. The alias. Gets or sets the name of the entity. Gets or sets the alias. Helper class which creates a projection lambda to be used with Select from a type and an IEntityFieldsCore object. Creates the lambda which instantiates a new T instance and specified fields. Each property of T which has a similarly named field in fields gets a projection call in the returned lambda. type of the element the lambda has to create instances of The fields which will be used for source for the projection. ready to use lambda for Select(Of T) Doesn't use lambda cache, so always builds a fresh lambda that isn't cached. Creates the lambda which instantiates a new T instance and specified fields. Each property of T which has a similarly named field in fields gets a projection call in the returned lambda. type of the element the lambda has to create instances of The fields which will be used for source for the projection. if set to true it will walk each field fields in the order in which they're stored and then lookup the corresponding property to build a projector. If set to false, it will walk all properties and lookup the corresponding field. Set to true for when the source to project from isn't created from the projector but constructed elsewhere ready to use lambda for Select(Of T) Doesn't use lambda cache, so always builds a fresh lambda that isn't cached. Creates the lambda which instantiates a new T instance from fields produced by U. Each property of T which has a similarly named field in U gets a projection call in the returned lambda. type of the element the lambda has to create instances of, e.g. CustomerOrderRow class which contains properties to create fields which are the source of the projection, e.g. CustomerFields. ready to use lambda for Select(Of T) If there has already been created a lambda for T, U and it's found in the internal cache, that lambda is returned instead of creating a new one. Adds a new projector binding between field and property to the projectorBindings list specified. The projector bindings. The field. The property. Adds a new projector binding between field and property to the projectorBindings list specified. The projector bindings. The field. The property. The ordinal to use by the handler of the ToValue call. Creates the index using projector. The creator. The select arguments. Clones the fields in source into destination. The source. The destination. Custom projector class which is used to create the final results of a projection using a delegate. THe projection is done using a compiled lambda. the type of the array, e.g. object[] Initializes a new instance of the class. The destination. Doesn't define a projector func, so will create one on the fly Initializes a new instance of the class. The destination. The projector func. The name to index map. Initializes a new instance of the class. The destination. The projector func. Can be null, in which case it's autogenerated from the datareader in the Initialize method. The name to index map. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The plain projection result. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The plain projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Adds the row to results. The plain projection result. Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as plain result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Simple class which doesn't do any projection work, it simply adds all received rows to the results list. Initializes a new instance of the class. The results. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of value projectors used to create the projection result The raw projection result. Initializes the projector, using the projectors if necessary. The value projectors. The data source. Open datareader to project from. Adds a new projection result to the container contained into this instance. The container has to be set in the constructor. List of property projectors used to create the projection result The raw projection result. Adds the row. The raw projection result. Gets a value indicating whether this projector requires a new object array per row. Default is true. If false, the object array passed in as raw result is always the same array. This is useful if the projector copies the data from the rawProjectionResult to the actual instance and doesn't re-use the row anyway. Value is ignored if value projections are required for the projection. Specific DataValueProjector, which converts DBNull.Value values from the db to null. Initializes a new instance of the class. Name of the projected result. Index of the value. Initializes a new instance of the class. Name of the projected result. Index of the value. Ignored if valueProducerFunc has been specified Type of the value. Initializes a new instance of the class. Name of the projected result. Index of the value. Ignored if valueProducerFunc has been specified Type of the value. Flag which hints the projector engine how to set the destination element: via the constructor (true) or on another way (false). This flag can be ignored by the projector engine if values can better be set otherwise. Initializes a new instance of the class. Name of the projected result. Index of the value. Ignored if valueProducerFunc has been specified Type of the value. Flag which hints the projector engine how to set the destination element: via the constructor (true) or on another way (false). This flag can be ignored by the projector engine if values can better be set otherwise. The the delegate to use to produce a value for this projector out of the list of object values. Be sure to set ValueProducerFuncParameterIndices if the delegate contained inside ValueProducerFunc requires any input values from the list of values to project the parameter indices array to use with ValueProducer. If ValueProducerFunc is null, this array is ignored. Post-processes the value to project. The preliminary projection result. The source values. Class which controls a hierarchical fetch of a dynamic query. Initializes a new instance of the class. The DAO to use. The transaction to use. Fetches the root query into which a nested query's data is merged. To execute. The plain data projectors. The current level data. The fields. Obtains the projection as a fields object, for the right template group used. To execute. Gets the function mapping store to use. Fetches the nested query, returning entities The nested query as entity query. The root query. Fetches the root query into which a nested query's data is merged. To execute. The plain data projectors. The current level data. The fields. The cancellation token. Fetches the nested query, returning entities The nested query as entity query. The root query. The cancellation token. Gets the parameterised prefetch path threshold to use. Abstract base class for the SelfServicing specific version of the QueryFactory protected ctor to prevent instances Creates a new field object with the name specified and of resulttype 'object'. Used for referring to aliased fields in another projection. Name of the field. Ready to use field object Creates a new field object with the name specified and of resulttype 'object'. Used for referring to aliased fields in another projection. The alias of the table/query to target. Name of the field. Ready to use field object Creates a new field object with the name specified and of resulttype 'TValue'. Used for referring to aliased fields in another projection. The type of the value represented by the field. Name of the field. Ready to use field object Creates a new field object with the name specified and of resulttype 'TValue'. Used for referring to aliased fields in another projection. The type of the value. The alias of the table/query to target. Name of the field. Ready to use field object Creates a new DynamicQuery which wraps the specified TableValuedFunction call The table valued function call to wrap. toWrap wrapped in a DynamicQuery. Extension methods to make query execution possible on SelfServicing. Fetches the query specified into the collection specified. The type of the entity. To fill. The query. toFill Fetches the first entity of the set returned by the query and returns that entity, if any, otherwise null. The type of the entity. The query. the first entity in the resultset, or null if the resultset is empty. Fetches the first entity of the set returned by the query and returns that entity, if any, otherwise null. The type of the entity. The query. The transaction to use. the first entity in the resultset, or null if the resultset is empty. Fetches the first object of the set returned by the query and returns that object, if any, otherwise null. The DAO. The query. the first object in the resultset, or null if the resultset is empty. Fetches the first object of the set returned by the query and returns that object, if any, otherwise null. The DAO. The query. The transaction to use. the first object in the resultset, or null if the resultset is empty. Fetches the single entity of the set returned by the query and returns that entity. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The type of the entity. The query. the first entity in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Fetches the single entity of the set returned by the query and returns that entity. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The type of the entity. The query. The transaction to use. the first entity in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Fetches the single object of the set returned by the query and returns that object. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The DAO. The query. the first object in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Fetches the single object of the set returned by the query and returns that object. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The DAO. The query. The transaction to use. the first object in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Fetches a scalar value using the query specified, and returns this value typed as TValue, using a cast. The query specified will be converted to a scalar query prior to execution. The type of the value to return. The DAO instance. The query. the value to fetch Use nullable(Of T) for scalars which are a value type, to avoid crashes when the scalar query returns a NULL value. Fetches a scalar value using the query specified, and returns this value typed as TValue, using a cast. The query specified will be converted to a scalar query prior to execution. The type of the value to return. The DAO instance. The query. The transaction to use. the value to fetch Use nullable(Of T) for scalars which are a value type, to avoid crashes when the scalar query returns a NULL value. Fetches the query specified and returns the results in plain object arrays, one object array per returned row of the query specified. The DAO instance. The query. Fetches the query specified and returns the results in plain object arrays, one object array per returned row of the query specified. The DAO instance. The query. The transaction to use. Fetches the query specified and returns the results in a list of TElement objects, which are created using the projectorFunc of the query specified. The type of the element. The DAO instance. The query. Fetches the query specified and returns the results in a list of TElement objects, which are created using the projectorFunc of the query specified. The type of the element. The DAO instance. The query. The transaction. Fetches the query which projection specified from the source query specified. Typically used to fetch a typed view from a stored procedure source. The type of the element. The DAO instance. The projection definition. The source. List of TElement instances instantiated from each row in source Fetches the query which projection specified from the source query specified. Typically used to fetch a typed view from a stored procedure source. The type of the element. The DAO instance. The projection definition. The source. The transaction. List of TElement instances instantiated from each row in source Fetches the query as a projection, using the projector specified. The DAO instance. The transaction to use. The query. The projector. Will ignore nested queries. Use with queries without nested / hierarchical queries. The projector has to be setup and ready to use when calling this method Fetches the query as an open data reader. The DAO instance. The transaction to use. The query. The behavior. Ignores nested queries and projection logic embedded in a lambda specification in the query. The DataReader returned will contain the resultset of the plain SQL query. Fetches the specified query into a new DataTable specified and returns that datatable. The DAO instance. The query. a new DataTable with the data fetched. Fetches the specified query into a new DataTable specified and returns that datatable. The DAO instance. The query. The transaction. a new DataTable with the data fetched. Fetches the specified query into the DataTable specified and returns that datatable. The DAO instance. The query. The destination datatable to fetch the data into. the destination datatable specified. If the DataTable specified already has columns defined, they have to have compatible types and have to be in the same order as the columns in the resultset of the query. It's recommended to have columns with the same names as the resultset of the query, to be able to convert null values to DBNull.Value. Fetches the specified query into the DataTable specified and returns that datatable. The DAO instance. The query. The destination datatable to fetch the data into. The transaction. the destination datatable specified. If the DataTable specified already has columns defined, they have to have compatible types and have to be in the same order as the columns in the resultset of the query. It's recommended to have columns with the same names as the resultset of the query, to be able to convert null values to DBNull.Value. Async variant of . Fetches the query specified into the collection specified. The type of the entity. To fill. The query. toFill Async variant of . Fetches the query specified into the collection specified. The type of the entity. To fill. The query. The cancellation token. toFill Async variant of . Fetches the first entity of the set returned by the query and returns that entity, if any, otherwise null. The type of the entity. The query. the first entity in the resultset, or null if the resultset is empty. Async variant of . Fetches the first entity of the set returned by the query and returns that entity, if any, otherwise null. The type of the entity. The query. The cancellation token. the first entity in the resultset, or null if the resultset is empty. Async variant of . Fetches the first entity of the set returned by the query and returns that entity, if any, otherwise null. The type of the entity. The query. The transaction to use. the first entity in the resultset, or null if the resultset is empty. Async variant of . Fetches the first entity of the set returned by the query and returns that entity, if any, otherwise null. The type of the entity. The query. The transaction to use. The cancellation token. the first entity in the resultset, or null if the resultset is empty. The ElementCreator in the query specified is either null or of the wrong type. Async variant of . Fetches the first object of the set returned by the query and returns that object, if any, otherwise null. The DAO. The query. the first object in the resultset, or null if the resultset is empty. Async variant of . Fetches the first object of the set returned by the query and returns that object, if any, otherwise null. The DAO. The query. The cancellation token. the first object in the resultset, or null if the resultset is empty. Async variant of . Fetches the first object of the set returned by the query and returns that object, if any, otherwise null. The DAO. The query. The transaction to use. the first object in the resultset, or null if the resultset is empty. Async variant of . Fetches the first object of the set returned by the query and returns that object, if any, otherwise null. The DAO. The query. The transaction to use. The cancellation token. the first object in the resultset, or null if the resultset is empty. Async variant of . Fetches the single entity of the set returned by the query and returns that entity. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The type of the entity. The query. the first entity in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the single entity of the set returned by the query and returns that entity. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The type of the entity. The query. The cancellation token. the first entity in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the single entity of the set returned by the query and returns that entity. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The type of the entity. The query. The transaction to use. the first entity in the resultset The ElementCreator in the query specified is either null or of the wrong type. Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the single entity of the set returned by the query and returns that entity. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The type of the entity. The query. The transaction to use. The cancellation token. the first entity in the resultset The ElementCreator in the query specified is either null or of the wrong type. Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the single object of the set returned by the query and returns that object. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The DAO. The query. the first object in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the single object of the set returned by the query and returns that object. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The DAO. The query. The cancellation token. the first object in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the single object of the set returned by the query and returns that object. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The DAO. The query. The transaction to use. the first object in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the single object of the set returned by the query and returns that object. If there are no elements or more than 1 element, a NotSupportedException will be thrown. The DAO. The query. The transaction to use. The cancellation token. the first object in the resultset Thrown if the resultset has 0 or 2 or more elements, as Single requires a single value in the resultset. Async variant of . Fetches the query specified and returns the results in a list of TElement objects, which are created using the projectorFunc of the query specified. The type of the element. The DAO instance. The query. Async variant of . Fetches the query specified and returns the results in a list of TElement objects, which are created using the projectorFunc of the query specified. The type of the element. The DAO instance. The query. The cancellation token. Async variant of . Fetches the query specified and returns the results in a list of TElement objects, which are created using the projectorFunc of the query specified. The type of the element. The DAO instance. The query. The transaction. Async variant of . Fetches the query specified and returns the results in a list of TElement objects, which are created using the projectorFunc of the query specified. The type of the element. The DAO instance. The query. The transaction. The cancellation token. Async variant of . Fetches a scalar value using the query specified, and returns this value typed as TValue, using a cast. The query specified will be converted to a scalar query prior to execution. The type of the value to return. The DAO instance. The query. the value to fetch Use nullable(Of T) for scalars which are a value type, to avoid crashes when the scalar query returns a NULL value. Async variant of . Fetches a scalar value using the query specified, and returns this value typed as TValue, using a cast. The query specified will be converted to a scalar query prior to execution. The type of the value to return. The DAO instance. The query. The transaction to use. the value to fetch Use nullable(Of T) for scalars which are a value type, to avoid crashes when the scalar query returns a NULL value. Async variant of . Fetches a scalar value using the query specified, and returns this value typed as TValue, using a cast. The query specified will be converted to a scalar query prior to execution. The type of the value to return. The DAO instance. The query. The cancellation token. the value to fetch Use nullable(Of T) for scalars which are a value type, to avoid crashes when the scalar query returns a NULL value. Async variant of . Fetches a scalar value using the query specified, and returns this value typed as TValue, using a cast. The query specified will be converted to a scalar query prior to execution. The type of the value to return. The DAO instance. The query. The transaction to use. The cancellation token. the value to fetch Use nullable(Of T) for scalars which are a value type, to avoid crashes when the scalar query returns a NULL value. Async variant of . Fetches the query specified and returns the results in plain object arrays, one object array per returned row of the query specified. The DAO instance. The query. Async variant of . Fetches the query specified and returns the results in plain object arrays, one object array per returned row of the query specified. The DAO instance. The query. The cancellation token. Async variant of . Fetches the query specified and returns the results in plain object arrays, one object array per returned row of the query specified. The DAO instance. The query. The transaction to use. Async variant of . Fetches the query specified and returns the results in plain object arrays, one object array per returned row of the query specified. The DAO instance. The query. The transaction to use. The cancellation token. Async variant of . Fetches the query as a projection, using the projector specified. The DAO instance. The transaction to use. The query. The projector. Will ignore nested queries. Use with queries without nested / hierarchical queries. The projector has to be setup and ready to use when calling this method Async variant of . Fetches the query as a projection, using the projector specified. The DAO instance. The transaction to use. The query. The projector. The cancellation token. Will ignore nested queries. Use with queries without nested / hierarchical queries. The projector has to be setup and ready to use when calling this method Async variant of . Fetches the query as an open data reader. The DAO instance. The transaction to use. The query. The behavior. Ignores nested queries and projection logic embedded in a lambda specification in the query. The DataReader returned will contain the resultset of the plain SQL query. Async variant of . Fetches the query as an open data reader. The DAO instance. The transaction to use. The query. The behavior. The cancellation token. Ignores nested queries and projection logic embedded in a lambda specification in the query. The DataReader returned will contain the resultset of the plain SQL query. Async variant of . Fetches the specified query into a new DataTable specified and returns that datatable. The DAO instance. The query. a new DataTable with the data fetched. Async variant of . Fetches the specified query into a new DataTable specified and returns that datatable. The DAO instance. The query. The transaction. a new DataTable with the data fetched. Async variant of . Fetches the specified query into the DataTable specified and returns that datatable. The DAO instance. The query. The destination datatable to fetch the data into. the destination datatable specified. If the DataTable specified already has columns defined, they have to have compatible types and have to be in the same order as the columns in the resultset of the query. It's recommended to have columns with the same names as the resultset of the query, to be able to convert null values to DBNull.Value. Async variant of . Fetches the specified query into the DataTable specified and returns that datatable. The DAO instance. The query. The destination datatable to fetch the data into. The transaction. the destination datatable specified. If the DataTable specified already has columns defined, they have to have compatible types and have to be in the same order as the columns in the resultset of the query. It's recommended to have columns with the same names as the resultset of the query, to be able to convert null values to DBNull.Value. Async variant of . Fetches the specified query into a new DataTable specified and returns that datatable. The DAO instance. The query. The cancellation token. a new DataTable with the data fetched. Async variant of . Fetches the specified query into a new DataTable specified and returns that datatable. The DAO instance. The query. The transaction. The cancellation token. a new DataTable with the data fetched. Async variant of . Fetches the specified query into the DataTable specified and returns that datatable. The DAO instance. The query. The destination datatable to fetch the data into. The cancellation token. the destination datatable specified. If the DataTable specified already has columns defined, they have to have compatible types and have to be in the same order as the columns in the resultset of the query. It's recommended to have columns with the same names as the resultset of the query, to be able to convert null values to DBNull.Value. Async variant of . Fetches the specified query into the DataTable specified and returns that datatable. The DAO instance. The query. The destination datatable to fetch the data into. The transaction. The cancellation token. the destination datatable specified. If the DataTable specified already has columns defined, they have to have compatible types and have to be in the same order as the columns in the resultset of the query. It's recommended to have columns with the same names as the resultset of the query, to be able to convert null values to DBNull.Value. Async variant of Fetches the query which projection specified from the source query specified. Typically used to fetch a typed view from a stored procedure source. The type of the element. The DAO instance. The projection definition. The source. List of TElement instances instantiated from each row in source Async variant of Fetches the query which projection specified from the source query specified. Typically used to fetch a typed view from a stored procedure source. The type of the element. The DAO instance. The projection definition. The source. The cancellation token. List of TElement instances instantiated from each row in source Async variant of Fetches the query which projection specified from the source query specified. Typically used to fetch a typed view from a stored procedure source. The type of the element. The DAO instance. The projection definition. The source. The transaction. List of TElement instances instantiated from each row in source Async variant of Fetches the query which projection specified from the source query specified. Typically used to fetch a typed view from a stored procedure source. The type of the element. The DAO instance. The projection definition. The source. The transaction. The cancellation token. List of TElement instances instantiated from each row in source Fetches the query specified into the collection specified. To fill. The query. The cancellation token. toFill The ElementCreator in the query specified is either null or of the wrong type. Fetches the query specified into the collection specified. To fill. The query. toFill Fetches the query as a projection, using the projector specified. The DAO instance. The transaction to use. The query. The projector. if set to true require DBNull post processing, otherwise DBNull values are left as-is to the projector. The cancellation token. Fetches the query as an open data reader. The DAO instance. The transaction to use. The query. The command behavior. The cancellation token. open and ready to use datareader Fetches the query as hierarchical projection, while keeping open the dao's connection. The DAO instance. The transaction to use. The query. The cancellation token. Fetches the query as a projection, using the projector specified. The DAO instance. The transaction to use. The query. The projector. if set to true require DBNull post processing, otherwise DBNull values are left as-is to the projector. Fetches the query as an open data reader. The DAO instance. The transaction to use. The query. The command behavior. open and ready to use datareader Fetches the query as hierarchical projection, while keeping open the dao's connection. The DAO instance. The transaction to use. The query. Class which is used to find all aliases in the objects to traverse. This is used to obtain all sources for a query for example. Initializes a new instance of the class. Updates the old alias in all objects referenced by the passed in object including the passed in object itself to the new alias. The object to traverse. obtains the alias in the field passed in and in all referenced elements The field. obtains the alias in any elements in the predicate passed in. The object to traverse. Adds the alias to the list to collect Gets the aliases found. Simple class which gatherers all fields found in the object to traverse. Initializes a new instance of the class. Traverses the specified field. The field. Traverses the specified object to traverse. The object to traverse. Replaces the FunctionMappingExpression instances found in the elements to traverse with the DbFunctionCall equivalent. Initializes a new instance of the class. The custom store. The dqe store. Traverses the specified query. The query. Traverses the specified query. The query. Traverses the specified object to traverse. The object to traverse. Traverses the specified object to traverse. The object to traverse. Traverses the specified field. The field. Traverses the specified object and its contents Traverses the specified dbfunction call and contained objects. The object to traverse. Traverses the specified object to traverse. The object to traverse. Traverses the expression operand. The operand. Replaces toCheck with its equivalent DbFunctionCall if toCheck is a FunctionMappingExpression. Otherwise toCheck is returned. To check. toCheck if toCheck is not a FunctionMappingExpression, otherwise the DbFunctionCall represented by toCheck Generic class for the expression handlers. Code based on Matt Warren's example: http://blogs.msdn.com/mattwar/archive/2010/07/31/linq-building-an-iqueryable-provider-part-ii.aspx Initializes a new instance of the class. Coerces the linq expression to the targettype. To coerce. Type of the target. toCoerce if toCoerce's type is equal to targetType, otherwise it's wrapped in a Convert Handles the expression. The expression to handle. the result expression after the expression has been handled. Handling an expression is like Visiting a node in a graph using the visitor pattern. However, as the code in Linq's Expression trees isn't really capable of to be used with visitors (as the expression objects can't call a passed in visitor, as there's no mechanism to do so), the handler is placed outside the expression tree and not really in a visitor pattern way. This routine is the central dispatcher for the expression nodes found in the expression tree. Handles the unary type as expression. The expression to handle. Handles the unary expression of type 'Not'. The expression to handle. the handled expression Handles the length of the unary array. The expression to handle. the handled expression Handles the unary convert expression. The expression to handle. Expression which represents the interpreted unary convert expression in LLBLGen Pro form Handles the binary expression with a boolean operator. The expression to handle. Expression which represents the interpreted binary expression in LLBLGen Pro form Handles the binary expression with arithmetic or bit operator. The binary expression. Expression which represents the interpreted binary expression in LLBLGen Pro form Handles the member binding. The binding to handle. the handled binding Handles the element initializer. The initializer to handle. the handled initializer Handles the unary expression. The expression to handle. the handled unary expression Handles the binary expression. The expression to handle. the handled binary expression Handles the type binary expression. The expression to handle. the handled expression Handles the constant expression. The expression to handle. the handled expression Handles the conditional expression. The expression to handle. The handled expression Handles the parameter expression. The expression to handle. the handled expression Handles the member expression. The expression to handle. the handled expression Handles the method call expression. The expression to handle. the handled expression Handles the expression list. The list to handle. The handled expression list Handles the member assignment. The assignment to handle. the handled assignment. Handles the member member binding. The binding to handle. the handled binding Handles the member list binding. The binding to handle. the handled binding Handles the member binding list. The list to handle. Handles the element initializer list. The list to handle. the handled list Handles the lambda expression. The expression to handle. the handled lambda expression Handles the NewExpression expression The expression to handle. the handled expression Handles the member init expression. The expression to handle. the handled expression Handles the list init expression. The expression to handle. the handled expression Handles the new array expression. The expression to handle. the handled expression Handles the invocation expression. The expression to handle. expressionToHandle Visitor, which transforms a passed in lambda into a proper projector lambda for WithProjector and extracts the elements to pass to Select(params object[]). Uses a caching mechanism which caches the compiled result of a lambda based on the string representation of the lambda. This can increase performance. The caching is tweakable and can be switched off. (See static members of this class). If a lambda contains a constant expression, the lambda isn't cached to avoid caching a lambda referencing a local variable and keeping the object containing the local variable into memory. Static value which has appdomain scope, and which controls the cache size for the compiled lambdas per thread. Every time the cache hits the set limit, it's cleared. Compiling lambda's is done in Select(lambda) calls to create typed projections. Flag which signals whether compiled lambda's should be cached (true) or that they have to be compiled every time (false). Switch to false if caching gives memory problems or otherwise odd results. Initializes a new instance of the class. The creator. Can be null, but the processing then must not rely on creating field objects. Converts the specified expression to a projector lambda. The expression is first handled, which converts elements properly and then converted into a lambda, where the passed in, altered expression is used as the body. To convert. the compiled, ready to use delegate converted from the passed in toConvert. After this method, the SelectArguments property contains the elements to pass to Select(params object[]) Creates the projector func which can be used to instantiate a new instance of T from a ProjectionRow instance. The field name on [ordinal]. names are in their original casing ready to use projection row delegate. Creates the projector func which can be used to instantiate a new instance of T from a ProjectionRow instance. The field name on [ordinal]. names are in their original casing ready to use projection row delegate. Handles the constant expression. The expression to handle. the handled expression Handles the method call expression. The expression to handle. the handled expression Handles a specific call to the ToSingleResult method. Compiles the argument on the method and invokes it. This is the argument for the selectArguments. It then creates a convert expression to convert the result of an index in the resultsetrow to the type of the expression, so the value is typed. It appends a .FirstOrDefault() call to it, as the query will always return a list. The expression to handle. Handles a specific call to the ToResultset method. Compiles the argument on the method and invokes it. This is the argument for the selectArguments. It then creates a convert expression to convert the result of an index in the resultsetrow to the type of the expression, so the value is typed. The expression to handle. Handles a specific call to the ToValueCall method. Compiles the argument on the method and invokes it. This is the argument for the selectArguments. It then creates a convert expression to convert the result of an index in the resultsetrow to the type of the expression, so the value is typed. The expression to handle. Corrects the type for derived table targeting fields, if element is such a field (it has to correct the type to the specified type), otherwise it simply returns the element specified. The element. Type of the target. Gets the compiled lambda expression. It will return the cached version if applicable, otherwise it will create a new one and add that one to the cache. The expression. Creates a unique expression key, which is unique for every expression tree. Equal expression trees return equal keys. The expression. Converts the expression specified to a row indexer expression, which obtains a value from the projection row parameter. Type of the result. Converts the expression specified to a row indexer expression, which obtains a value from the projection row parameter. Type of the result. The index. Converts the expression specified to a row indexer expression, which obtains a value from the projection row parameter. Used for the DataReaderProjectionRow Type of the result. The index. Adds the lambda expression to cache. The key. The expression. Assures that the delegate cache is present Creates the projector func which can be used to instantiate a new instance of T from a ProjectionRow instance. The type of the delegate. The field name on [ordinal]. names are in their original casing The indexer creator function. The parameter to use. ready to use projection row delegate. Gets the select arguments. Only valid after a successful call to ConvertToProjectorLambda. Class which traverses a set of fields and their expressions and finds all fields which are actually mapped fields, so which have their ContainingObjectName set. These fields can then be used to be the containing field object for an expression instead of an empty expression field which doesn't have a mapping. This is necessary as llblgen pro doesn't have a 'source' definition, it determines that on the fly, which can go wrong if the projection has just expression fields and there are no relations specified. Initializes a new instance of the class. Traverses the specified field and related objects. The field. Gets the fields found. Converts the visited element into a string representation of that element. Initializes a new instance of the class. The initial indent level. Traverses the specified object to traverse. The object to traverse. Handles the nested query specification. The nested query. Handles the prefetch path. The path. Handles the query. The query. Traverses the specified object to traverse. The object to traverse. Traverses the specified object to traverse. The object to traverse. Traverses the specified field. The field. Traverses the specified object to traverse. The object to traverse. Traverses the specified object to traverse. The object to traverse. Traverses the specified object to traverse. The object to traverse. Traverses the specified object to traverse. The object to traverse. Traverses the specified object to traverse. The object to traverse. Traverses the specified object to traverse. The object to traverse. Traverses the predicate. The object to traverse. Handles the like predicate. The predicate. Handles the full text search predicate. The predicate. Handles the compare value predicate. The predicate. Handles the compare set predicate. The predicate. Handles the compare range predicate. The predicate. Handles the compare null predicate. The predicate. Handles the expression predicate. The predicate. Handles the between predicate. The predicate. Handles the constant. The value. Constants to string. The value. Handles the function mapping. The mapping. Appends the specified string to the builder. To append. The arguments. Gets the target entity of node. The element. Gets the result. Extension method class for prefetch path extension methods. Defines a predicate on the collection specified. For prefetch path definitions Defines an ordering definition (ascending) on the collection specified. For prefetch path definitions Defines an ordering definition (descending) on the collection specified. For prefetch path definitions Defines a limit on the collection specified. For prefetch path definitions Defines a set of fields to exclude. For prefetch path definitions Defines a set of fields to exclude. For prefetch path definitions Defines a set of fields to include, excluding all other fields. For prefetch path definitions Defines a set of fields to include, excluding all other fields. For prefetch path definitions Defines one or more nodes to fetch, related to the specified entity set. For prefetch path definitions Defines one or more nodes to fetch, related to the specified entity set. For prefetch path definitions Defines one or more nodes to fetch, related to the specified entity. For prefetch path definitions Defines one or more nodes to fetch, related to the specified entity. For prefetch path definitions Defines one or more nodes to fetch, related to the specified entity query. For prefetch path definitions Defines one or more nodes to fetch, related to the specified entity query. For prefetch path definitions Defines a filter on a prefetch path node. For prefetch path definitions Defines an ascending sort expression on a prefetch path node. For prefetch path definitions Defines a descending sort expression on a prefetch path node. For prefetch path definitions Redefinition of OrderBy to be used within prefetch path definitions) Redefinition of OrderByDescending to be used within prefetch path definitions