Click or drag to resize

IndirectRelationshipEdge Class

Class which represents an indirect relationship between two entities. An indirect relationship is a relationship of type m:n, which isn't a real directed relationship, but a relationship based on two other relationships: an 1:n relationship between startEntity and intermediate entity and an m:1 relation between intermediate entity and endEntity
Inheritance Hierarchy
SystemObject
  SD.Tools.Algorithmia.GraphsEdgeEntityDefinition
    SD.LLBLGen.Pro.ApplicationCore.EntityModelRelationshipEdge
      SD.LLBLGen.Pro.ApplicationCore.EntityModelIndirectRelationshipEdge

Namespace:  SD.LLBLGen.Pro.ApplicationCore.EntityModel
Assembly:  SD.LLBLGen.Pro.ApplicationCore (in SD.LLBLGen.Pro.ApplicationCore.dll) Version: 5.11.0.0 (5.11.23.1114)
Syntax
public class IndirectRelationshipEdge : RelationshipEdge

The IndirectRelationshipEdge type exposes the following members.

Constructors
  NameDescription
Public methodIndirectRelationshipEdge(EntityDefinition, EntityDefinition, NormalRelationshipPair)
Initializes a new instance of the IndirectRelationshipEdge class.
Public methodIndirectRelationshipEdge(EntityDefinition, EntityDefinition, NormalRelationshipPair, String, String)
Initializes a new instance of the IndirectRelationshipEdge class.
Top
Properties
  NameDescription
Public propertyEndEntityNavigator
Gets / sets the field name mapped onto this relationship in the endEntity.
(Inherited from RelationshipEdge.)
Public propertyEndEntityNavigatorValidator
Gets the end entity navigator validator.
(Inherited from RelationshipEdge.)
Public propertyEndNavigatorIsHidden
Returns true if the end navigator is empty/hidden
(Inherited from RelationshipEdge.)
Public propertyEndVertex
Gets the end vertex of the edge.
(Inherited from EdgeTVertex.)
Public propertyError
Gets an error message indicating what is wrong with this object.
(Inherited from RelationshipEdge.)
Public propertyFirstRelationship
Gets the first relationship (between start entity and intermediate entity), if there are relationships specified, otherwise null.
Public propertyFullDescription
Gets the full description of this relationship, to be used in textual representations of the relationhip in for example trees.
(Inherited from RelationshipEdge.)
Public propertyFullDescriptionReverse
Gets the full reverse description, so if FullDescription returns startentity 1:n endentity, this property returns endentity m:1 startentity
(Inherited from RelationshipEdge.)
Public propertyHasHiddenNavigatorInContainedRelationships
Returns true if at least one of the navigators of the contained relationships is hidden/empty.
Public propertyIsDirected
Gets a value indicating whether this edge is directed. If true, the edge is directed from startVertex to endVertex and is seen as an edge only between startVertex and endVertex, not between endVertex and startVertex. If false, this edge isn't considered a directed edge and is seen as an edge between startVertex and endVertex and also between endVertex and startVertex.
(Inherited from EdgeTVertex.)
Public propertyIsPureManyToMany
Returns whether this relationship is a 'pure' many to many. A pure many to many relationship means the intermediate entity is an entity with solely a primary key and all fields in the primary key are fk fields in the two participating m:1 relationships.
Public propertyItem
Gets the String with the specified column name.
(Inherited from RelationshipEdge.)
Public propertyModelOnly
Gets or sets a value indicating whether this relationship is a 'model only' (true) relationship or a full relationship (false). Full relationships require a foreign key constraint in the relational model data.
(Overrides RelationshipEdgeModelOnly.)
Public propertyRelationships
Gets the relationships this indirectrelationedge is based on.
Public propertyRelationshipType
Gets / sets the type of the relationship.
(Inherited from RelationshipEdge.)
Public propertySecondRelationship
Gets the second relationship (between end entity and intermediate entity), if there are relationships specified, otherwise null.
Public propertyStartEntityNavigator
Gets / sets the field name mapped onto this relationship in the startEntity.
(Inherited from RelationshipEdge.)
Public propertyStartEntityNavigatorValidator
Gets the start entity navigator validator.
(Inherited from RelationshipEdge.)
Public propertyStartNavigatorIsHidden
Returns true if the start navigator is empty/hidden
(Inherited from RelationshipEdge.)
Public propertyStartVertex
Gets the start vertex of the edge.
(Inherited from EdgeTVertex.)
Public propertyUniqueAssociationName
Returns a unique association name. The name can be used using code generation if the whole model is consumed in 1 go to refer to associations. Format: StartvertexFullName_EndVertexFullName_StartNavigator_EndNavigator. If both navigators are empty, Guid(N) is used instead of navigatornames, and the format becomes StartvertexFullName_EndVertexFullName_Guid.
(Inherited from RelationshipEdge.)
Top
Methods
  NameDescription
Protected method_member_ValueChangedTValue
Handles the ValueChanged event of a member variable which is a commandifiedmember.
(Inherited from RelationshipEdge.)
Public methodCheckIfIsPureManyToMany
Checks if this relationship is a 'pure' many to many. A pure many to many relationship means the intermediate entity is an entity with solely a primary key and all fields in the primary key are fk fields in the two participating m:1 relationships.
Public methodCompareTo
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
(Inherited from RelationshipEdge.)
Public methodDetermineIfEntityIsEqualToEndPoints
Determines if the entity specified is equal to or a subtype of the start entity and end entity.
(Inherited from RelationshipEdge.)
Public methodDetermineIntermediateEntity
Determines the intermediate entity.
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 methodGetCollectionNavigators
Gets the collection navigators (0, 1 or 2) contained by this relationship, if applicable. A 1:1 relationship has 0 collection navigators, a 1:n relationship 1 and a m:n relationship 2. Navigators which are empty are ignored, as they're not there.
(Inherited from RelationshipEdge.)
Public methodGetEndNavigatorAsObject
Gets the end navigator string as Navigator object.
(Inherited from RelationshipEdge.)
Public methodGetFullDescription
Gets the full description of this relationship.
(Inherited from RelationshipEdge.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetSingleElementNavigators
Gets the single element navigators (0, 1 or 2) contained by this relationship, if applicable. A 1:1 relationship has 2 single element navigators, a 1:n relationship 1 and a m:n relationship 0. Navigators which are empty are ignored, as they're not there.
(Inherited from RelationshipEdge.)
Public methodGetStartNavigatorAsObject
Gets the start navigator string as Navigator object.
(Inherited from RelationshipEdge.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMarkElementAsChanged
Marks the element as changed.
(Inherited from RelationshipEdge.)
Public methodMarkElementAsRemoved
Marks this field as removed. This routine will raise INotifyAsRemoved.ElementRemoved
(Inherited from RelationshipEdge.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnRelationshipTypeChanged
Called when the relationtype was changed. Called from command.
(Inherited from RelationshipEdge.)
Protected methodOnStartEntityIsPkSideChanged
Called when the StartEntityIsPkSide flag changed.
(Inherited from RelationshipEdge.)
Protected methodSerializeOutputSettingValues
Serializes the output setting values for the start and end navigator
(Inherited from RelationshipEdge.)
Public methodSerializeToWriter
Serializes the data in this class to the serializer passed in
(Overrides RelationshipEdgeSerializeToWriter(ISerializer).)
Public methodSoftEquals
Performs a soft-equals: it compares the two end points and whether the contained normal relationship edges are the same. It doesn't compare navigators, hence it's not a full equals comparison
Public methodToggleModelOnlyFlag
Toggles the model only flag on this, if the relationship is a normal relationship as the model-only-ness of an indirect relationship is readonly (as it's determined based on the modelonly flag of the contained relationships in the indirect relationship).
(Overrides RelationshipEdgeToggleModelOnlyFlag.)
Public methodToString
Returns a String that represents the current Object.
(Overrides ObjectToString.)
Protected methodToStringReverse
As ToString() but now the description is from the point of view of the end entity.
(Overrides RelationshipEdgeToStringReverse.)
Protected methodValidate
Validates this instance.
(Inherited from RelationshipEdge.)
Top
Events
  NameDescription
Public eventHasBeenChanged
Raised when the implementing element has been changed
(Inherited from RelationshipEdge.)
Public eventHasBeenRemoved
Raised when the implementing element has been removed from its container
(Inherited from RelationshipEdge.)
Public eventRelationEdgeChanged
Event which is raised when the definition of this relationship edge has been changed. What has changed is enclosed inside the event args.
(Inherited from RelationshipEdge.)
Top
Explicit Interface Implementations
  NameDescription
Explicit interface implementationPrivate propertyIRelationshipEdgeEndNavigatorIsHidden
Returns true if the end navigator is empty/hidden
(Inherited from RelationshipEdge.)
Explicit interface implementationPrivate propertyIRelationshipEdgeFullDescription
Gets the full description.
(Inherited from RelationshipEdge.)
Explicit interface implementationPrivate propertyIRelationshipEdgeLeftNavigator
Gets the left navigator which is the navigator of the left side of the relationship.
(Inherited from RelationshipEdge.)
Explicit interface implementationPrivate propertyIRelationshipEdgeLeftQuantifierString
Gets the left quantifier string for the relationship, e.g. if the relationshiptype is 1:n, the left quantifier is 1, the right quantifier is '*'
(Inherited from RelationshipEdge.)
Explicit interface implementationPrivate propertyIRelationshipEdgeLeftVertexFullName
Gets the Full name of the left vertex of the relationship
(Inherited from RelationshipEdge.)
Explicit interface implementationPrivate propertyIRelationshipEdgeRelationshipType
Gets the type of the relationship.
(Inherited from RelationshipEdge.)
Explicit interface implementationPrivate propertyIRelationshipEdgeRightNavigator
Gets the right navigator, which is the navigator of the right side of the relationship.
(Inherited from RelationshipEdge.)
Explicit interface implementationPrivate propertyIRelationshipEdgeRightQuantifierString
Gets the right quantifier string for the relationship, e.g. if the relationshiptype is 1:n, the left quantifier is 1, the right quantifier is '*'
(Inherited from RelationshipEdge.)
Explicit interface implementationPrivate propertyIRelationshipEdgeRightVertexFullName
Gets the Full name of the right vertex of the relationship
(Inherited from RelationshipEdge.)
Explicit interface implementationPrivate propertyIRelationshipEdgeStartNavigatorIsHidden
Returns true if the start navigator is empty/hidden
(Inherited from RelationshipEdge.)
Top
See Also