IRelationCollection Interface |
Namespace: SD.LLBLGen.Pro.ORMSupportClasses
The IRelationCollection type exposes the following members.
Name | Description | |
---|---|---|
Count |
Returns the amount of relations in this object
| |
CustomFilterParameters |
Gets Custom Filter Parameters, created in ToQueryText and which are used in custom filters.
| |
DatabaseSpecificCreator |
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.
| |
Item |
Indexer in the collection. Returned value can be IEntityRelation or IDynamicRelation
| |
ObeyWeakRelations |
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.
| |
SelectListAlias |
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.
| |
WillPotentiallyCauseDuplicateRows |
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.
|
Name | Description | |
---|---|---|
Add(IDynamicRelation) |
Adds the passed in IDynamicRelation instance to the list
| |
Add(IEntityRelation) |
Adds the passed in IEntityRelation instance to the list.
| |
Add(IRelation) |
Adds the passed in relation to this collection
| |
Add(IEntityRelation, JoinHint) |
Adds the passed in IEntityRelation instance to the list.
| |
Add(IEntityRelation, String) |
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.
| |
Add(IEntityRelation, String, JoinHint) |
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.
| |
Add(IEntityRelation, String, String, JoinHint) |
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.
| |
AddRange |
Adds the range of IRelation objects stored in c to this collection.
| |
GetAllDerivedTables |
Gets all derived tables in the relations inside this relation collection.
| |
GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.) | |
GetUsedEntityTypeNamesAndAliases |
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.
| |
Insert |
Adds the passed in IRelation instance to the list at position index.
| |
ReadXml |
Deserializes the object data on the xml reader into this instance
| |
Remove |
Removes the passed in IRelation instance. Only the first instance will be removed.
| |
ToggleArtificialAliasingForTargetPerEntityRelations |
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.
| |
ToQueryText |
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.
| |
ToQueryTextNonAnsi |
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.
| |
WriteXml |
Serializes the object as xml to the writer specified.
|
Name | Description | |
---|---|---|
CloneWithoutFirst |
Clones the relationcollection without the first relation.
(Defined by ORMClassExtensions.) | |
IsEmpty |
Determines whether the specified relation collection is empty. A null passed in is also considered empty.
(Defined by ORMClassExtensions.) | |
Last |
Gets the last relation in the passed in relations collection or null if it's empty
(Defined by ORMClassExtensions.) | |
RemoveLast |
Removes the last relation from the passed in relationcollection. Assumes last entry is an entity relation
(Defined by ORMClassExtensions.) |