Click or drag to resize

EntityRelation Class

Generic implementation of the IEntityRelation interface, which is used for relations between IEntity* instances.
Inheritance Hierarchy
SystemObject
  SD.LLBLGen.Pro.ORMSupportClassesEntityRelation

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
[SerializableAttribute]
public class EntityRelation : IEntityRelation, 
	IRelation, IXmlSerializable

The EntityRelation type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyAliasEndEntity
Gets the alias of the end entity.
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 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 propertyAliasStartEntity
Gets the alias of the start entity.
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 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 propertyMappedFieldName
Gets or sets the name of the field mapped onto this relation in the start entity.
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 field instances to the relation. Primary Key fields and Foreign Key Fields have to be added in pairs.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
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 methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
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 methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
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.
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.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
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 methodToString
Returns a String that represents the current Object.
(Overrides ObjectToString.)
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
Explicit Interface Implementations
  NameDescription
Explicit interface implementationPrivate methodIXmlSerializableGetSchema
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 XmlSchemaProviderAttribute to the class.
Explicit interface implementationPrivate methodIXmlSerializableReadXml
Generates an object from its XML representation.
Explicit interface implementationPrivate methodIXmlSerializableWriteXml
Converts an object into its XML representation.
Explicit interface implementationPrivate propertyIRelationAliasLeftOperand
Gets the alias for the left operand (Start entity)
Explicit interface implementationPrivate propertyIRelationAliasRightOperand
Gets the alias for the right operand (End entity)
Explicit interface implementationPrivate methodIRelationGetUsedEntityTypeNamesAndAliases
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.
Explicit interface implementationPrivate propertyIRelationHintTargetNameLeftOperand
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.
Explicit interface implementationPrivate propertyIRelationHintTargetNameRightOperand
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.
Explicit interface implementationPrivate propertyIRelationJoinType
The join type to use.
Explicit interface implementationPrivate propertyIRelationLeftOperandInheritanceInfo
Gets the left operand's InheritanceInfo
Explicit interface implementationPrivate methodIRelationReadXml
Deserializes the object data on the xml reader into this instance
Explicit interface implementationPrivate propertyIRelationRightOperandInheritanceInfo
Gets the right operand's InheritanceInfo
Explicit interface implementationPrivate propertyIRelationStartElementIsPkSide
Returns true if the start element of the relation (the left operand) is the Pkside.
Explicit interface implementationPrivate methodIRelationToggleArtificialAliasingForTargetPerEntityRelations
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.
Explicit interface implementationPrivate methodIRelationWriteXml
Serializes the object as xml to the writer specified.
Top
See Also