Click or drag to resize

IEntityRelation Interface

Interface used for relations between IEntity* instances. Generic

Namespace:  SD.LLBLGen.Pro.ORMSupportClasses
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.4.0.0 (5.4.0)
Syntax
public interface IEntityRelation : IRelation

The IEntityRelation type exposes the following members.

Properties
  NameDescription
Public propertyAliasEndEntity
Gets the alias value for the end entity of the relation
Public propertyAliasFKSide
Alias value for the entity which is on the FK side of the relation. Determined from the relation type and the pk/fk fields
Public propertyAliasLeftOperand
Gets the alias for the left operand.
(Inherited from IRelation.)
Public propertyAliasPKSide
Alias value for the entity which is on the PK side of the relation. Determined from the relation type and the pk/fk fields
Public propertyAliasRightOperand
Gets the alias for the right operand.
(Inherited from IRelation.)
Public propertyAliasStartEntity
Gets the alias value for the start entity of the relation
Public propertyAmountFields
Returns the amount of fields in the EntityRelation object.
Public propertyCustomFilter
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.
Public propertyCustomFilterReplacesOnClause
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.
Public propertyHintForJoins
Hint value for the consideration of the jointype of this relation. Default: JoinHint.None
Public propertyHintTargetNameLeftOperand
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.
(Inherited from IRelation.)
Public propertyHintTargetNameRightOperand
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.
(Inherited from IRelation.)
Public propertyInheritanceInfoFkSideEntity
Gets or sets the inheritance info for the fk side entity.
Public propertyInheritanceInfoPkSideEntity
Gets or sets the inheritance info for the pk side entity.
Public propertyIsHierarchyRelation
Gets or sets a value indicating whether this instance is a hierarchy relation.
Public propertyIsWeak
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.
Public propertyJoinType
The join type to use. If right operand is null and left operand is a DerivedTableDefinition, this value is ignored.
(Inherited from IRelation.)
Public propertyLeftOperandInheritanceInfo
Gets the left operand's InheritanceInfo
(Inherited from IRelation.)
Public propertyMappedFieldName
Gets or sets the name of the field mapped onto this relation in the start entity.
Public propertyRightOperandInheritanceInfo
Gets the right operand's InheritanceInfo
(Inherited from IRelation.)
Public propertyStartElementIsPkSide
Returns true if the start element of the relation (the left operand) is the Pkside.
(Inherited from IRelation.)
Public propertyStartEntityIsPkSide
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.
Public propertyTypeOfRelation
The relation type the IEntityRelation instance represents.
Top
Methods
  NameDescription
Public methodAddEntityFieldPairTEntityField
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.
Public methodGetAllFKEntityFieldCoreObjects
Returns in an arraylist all IEntityFieldCore objects for the FK fields in this entityrelation
Public methodGetAllFKFieldPersistenceInfoObjects
Returns in an arraylist all IFieldPersistenceInfo objects for the FK fields in this entityrelation
Public methodGetAllPKEntityFieldCoreObjects
Returns in an arraylist all IEntityFieldCore objects for the PK fields in this entityrelation
Public methodGetAllPKFieldPersistenceInfoObjects
Returns in an arraylist all IFieldPersistenceInfo objects for the PK fields in this entityrelation
Public methodGetFKEntityFieldCore
Gets the IEntityFieldCore information about the FK field at index specified
Public methodGetFKFieldPersistenceInfo
Gets the IFieldPersistenceInfo data for the FK field at index specified.
Public methodGetPKEntityFieldCore
Gets the IEntityFieldCore information about the PK field at index specified
Public methodGetPKFieldPersistenceInfo
Gets the IFieldPersistenceInfo data for the PK field at index specified.
Public methodGetUsedEntityTypeNamesAndAliases
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.
(Inherited from IRelation.)
Public methodInjectInheritanceInfo
Injects for the PK and FK side the inheritance info for this entity relation. It sets InheritanceInfoPkSideEntity and InheritanceInfoFkSideEntity using the provider specified.
Public methodReadXml
Deserializes the object data on the xml reader into this instance
(Inherited from IRelation.)
Public methodSetAliases
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().
Public methodSetFKFieldPersistenceInfo
Sets the IFieldPersistenceInfo data for the FK field at index specified.
Public methodSetPKFieldPersistenceInfo
Sets the IFieldPersistenceInfo data for the PK field at index specified.
Public methodToggleArtificialAliasingForTargetPerEntityRelations
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.
(Inherited from IRelation.)
Public methodWriteXml
Serializes the object as xml to the writer specified.
(Inherited from IRelation.)
Top
Extension Methods
  NameDescription
Public Extension MethodSetCustomFilter(IPredicate)Overloaded.
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.
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodSetCustomFilter(IPredicate, Boolean)Overloaded.
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.
(Defined by JoinOperandExtensionMethods.)
Top
See Also