• PRODUCTS
  • SUPPORT
  • DOCS
  • PARTNERS
  • COMPANY
  • QUOTE
  • ACCOUNT
  • STORE
QUOTE

Documentation

Support Forums
What can we help you with?
Topics

Class AstMetadataModelEntityRelationshipNode

Entity relationships define the relationships that exist between the parent entity and other entities within the model. Using a relational database analogy, if the metadata model entities were tables, relationships would be foreign keys that relate those tables.

Namespace:
Varigence.Languages.Biml.Metadata
Assembly:
Biml.dll
C#
    public class AstMetadataModelEntityRelationshipNode : AstScopeBoundaryNode, IBindableItem, IGetJsonProvider, INamedNode, IScopeBoundary, IReferenceableItem, INamedItem, IMetadataModelPropertyProvider, IFrameworkItem, IValidationInfo
    
  
Inheritance
System.Object
AstNode
AstNamedNode
AstScopeBoundaryNode
AstMetadataModelEntityRelationshipNode
Implements

Varigence.Utility.Collections.IVulcanCollectionParent, Varigence.Utility.ComponentModel.IVulcanNotifyPropertyChanged, Varigence.Utility.ComponentModel.IPropertyChangeNotificationTarget, Varigence.Utility.Collections.IScopedNameIndexable, IMetadataModelPropertyProvider, System.ComponentModel.INotifyPropertyChanged, Varigence.Utility.Xml.IXObjectMappingProvider, System.ComponentModel.IDataErrorInfo,

Constructors

AstMetadataModelEntityRelationshipNode(IFrameworkItem)

Initializes a new instance of the AstMetadataModelEntityRelationshipNode class with the specified parent node.

Fields

ScopedNamePrefixBackingStore
IsScopeImported

Properties

Cardinality

Specifies the type of relationship that exists between the parent entity and the foreign entity.

CardinalityDefaultValue

Gets the default value for the Cardinality property

DynamicObjectClassName

Specifies the name to use for the wrapper class that is created as part of the dynamic object for this metadata model entity relationship.

DynamicObjectClassNameDefaultValue

Gets the default value for the DynamicObjectClassName property

EffectiveDynamicObjectClassName

Gets the name that will be used for the metadata model entity relationship wrapper object.

Entity

Specifies a reference to the foreign entity with which the parent entity has a relationship.

FriendlyTypeNameStatic

Gets the friendly name of the type of this node

IsDocumentationVisible

Specifies whether or not the autogenerated documentation for the parent metadata model will include this relationship.

IsDocumentationVisibleDefaultValue

Gets the default value for the IsDocumentationVisible property

Lookups

This is the optional collection of filtered lookups that will be used by the editor UI to provide completion lists. Each child object will provide configuration information for a completion list. These completion lists can reference each other. For example, a column relationship may provide fields for connection, object, and column. In this case, the object lookup completion list would only contain objects in the selected connection. Similarly, the column lookup completion list would only provide columns in the selected table.

Properties

This is the collection of properties that add configuration values to the metadata model entity relationship.

Validators

This is a collection of the validator logic objects that will be used to ensure that the metadata model entity relationship is internally consistent and satisfies the constraints imposed by the metadata model.

ScopedName

Gets the scoped name which can be used to uniquely identify this object among other objects of its type

SymbolTable

Gets a reference to the symbol table that stores a reference to this and all other named objects in the project

SsisSafeScopedName

Returns a version of the ScopedName that has been cleaned of invalid characters for SSIS.

SsisSafeName

Returns a version of the Name that has been cleaned of invalid characters for SSIS.

Name

Specifies the name of the object. This name can be used to reference this object from anywhere else in the program.

References

Gets collection of FrameworkItemReference objects, which track rich information about the properties that hold references to this node.

NameDefaultValue

Gets the default value for the Name property

Guid
Annotations

This is a collection of annotation items that can be used to specify documentation, tags, or other information. Annotations are particularly useful for storing information about nodes that can be used by BimlScript code.

ObjectTag

This property provides a general purpose storage mechanism for .NET objects to be associated with AstNode objects. It supplements the annotation system, which is intended for use with string-based metadata.

BimlFile

This value specifies the BimlFile in which the Biml code that defines AstNode resides.

ItemLabel

Gets a label that can be used to identify this node

ParentItem

This value specifies the parent of the current node. All nodes must have a valid parent in the Biml framework, except for the root node.

Methods

BindingScopeBoundaries()

Retrieves the permitted scope boundaries to bind references from this node.

DefinedAstNodes()

Retrieves a collection of nodes that have been defined as direct children of the current node.

Duplicate()

Creates a duplicate of the current node

Duplicate(IFrameworkItem)

Creates a duplicate of the current node with the specified parent item

GetAllItemsReferencedByDefinedSuccessors()

Builds a list of all items referenced by this node and its successors. Each tuple in the returned list represents a FrameworkItemReference. The first item is the ReferencingItem, the second item is the property name, and the third item is the ReferencedItem.

GetDefaultValue(String)

Retrieves the default value for the property with the name propertyName

GetDefaultValue<T>(String)

Retrieves the default value for the property with the name propertyName

GetSchemaLocalName()

Retrieves the local XML element name that corresponds to this node in Biml code.

StructureEquals(Object)

Compares this node to the provided object to determine if all defined children and references are equal.

ToString()

Returns a string that represents the current object. In this case, it is the Name of the node.

OnScopedNameChanged(String, String)
OnItemLabelChanged(String, String)
OnNameChanging(String, String)
OnNameChanged(String, String)
AddScopedNameChangedEventListener(IReferenceableItem, EventHandler<VulcanPropertyChangedEventArgs>)

Adds the scoped name changed event handler to the specified referenceable item.

RemoveScopedNameChangedEventListener(IReferenceableItem, EventHandler<VulcanPropertyChangedEventArgs>)

Removes the scoped name changed event handler from the specified referenceable item.

FirstChildOfType<TChild>()

Gets the first defined descendant node of the specified type

RemoveFromParent()

Removes this node definition from its parent

GetJson()

Generates a JavaScript Object Notation (JSON) representation of the current node

GetExternalJson()

Generates a JavaScript Object Notation (JSON) representation of the current node

GetJson(Boolean, Boolean, Boolean, Boolean, Boolean)

Generates a JavaScript Object Notation (JSON) representation of the current node

GetXObjectName()

Gets the fully qualified XML element name for this node in the code document.

FirstParent<TAstNode>()

Retrieves the first parent or ancestor node of the specified type

FirstParent<TAstNode>(Type)

Retrieves the first parent or ancestor node of the specified type with the specified custom attribute type

FirstThisOrParent<TAstNode>()

Retrieves the first parent or ancestor node of the specified type, including this node

IsDirectAncestor(IFrameworkItem)

Retrieves a value indicating whether the specified node is a direct ancestor of this node.

AncestorDistance(IFrameworkItem)

Retrieves the number of steps between this node and the nearest shared ancestor with the specified relative node.

FirstThisOrParent<TAstNode>(Type)

Retrieves the first parent or ancestor node (including this node) of the specified type with the specified custom attribute type

AllDefinedSuccessors()

Retrieves the collection of all nodes defined as a child of this or any successor node or the current node

AllDefinedSuccessors(Boolean)

Retrieves the collection of all nodes defined as a child of this or any successor node or optionally the current node

OnNotificationTargetPropertyChanged(String)
OnScopeBoundaryChanged(IScopeBoundary, IScopeBoundary)
AddParseableChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
RemoveParseableChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
AddScopeBoundaryChangedEventListener(IFrameworkItem, EventHandler<VulcanPropertyChangedEventArgs>)
RemoveScopeBoundaryChangedEventListener(IFrameworkItem, EventHandler<VulcanPropertyChangedEventArgs>)
AddParsePendingChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
RemoveParsePendingChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
AddFromTemplateChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
RemoveFromTemplateChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
ParseSelf(XElement, ParserContext)
ParseNameValueMapping(XElement)

© Varigence