Relationship
Class Relationship
Section titled “ Class Relationship”Namespace: DataWarehouseAutomation.DwaModel
Assembly: DataWarehouseAutomation.dll
A relationship from one data object to another. This can apply at conceptual, logical, and physical level. The intent of this class is to support lineage relationships (e.g. parent/child) as well as foreign keys and sub- and supertypes.
public class Relationship
Inheritance
Section titled “Inheritance”Inherited Members
Section titled “Inherited Members”object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
Properties
Section titled “Properties”Cardinality
Section titled “ Cardinality”Cardinality of the relationship, e.g. 0 or 1 to many, 1 (and only one) to 1, or zero or many.
[JsonPropertyName("cardinality")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public Cardinality? Cardinality { get; set; }
Property Value
Section titled “Property Value”Classifications
Section titled “ Classifications”Free-form and optional classification for the relationship.
[JsonPropertyName("classifications")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public List<DataClassification>? Classifications { get; set; }
Property Value
Section titled “Property Value”DataItemMappings
Section titled “ DataItemMappings”The collection of individual attribute (column or query) mappings, containing the data items that apply to the relationship.
[JsonPropertyName("dataItemMappings")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public List<DataItemMapping>? DataItemMappings { get; set; }
Property Value
Section titled “Property Value”Extensions
Section titled “ Extensions”The collection of extension Key/Value pairs.
[JsonPropertyName("extensions")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public List<Extension>? Extensions { get; set; }
Property Value
Section titled “Property Value”An optional identifier for the relationship.
[JsonPropertyName("id")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public string? Id { get; set; }
Property Value
Section titled “Property Value”The mandatory name of the relationship.
[JsonPropertyName("name")]public string? Name { get; set; }
Property Value
Section titled “Property Value”Free-format notes.
[JsonPropertyName("notes")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public string? Notes { get; set; }
Property Value
Section titled “Property Value”RelatedDataObject
Section titled “ RelatedDataObject”The related data object,
[JsonPropertyName("relatedDataObject")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public IDataObject? RelatedDataObject { get; set; }
Property Value
Section titled “Property Value”The type of relationship. This is a free-format field that acts as a label. For example, parent, child, grandfather, or lookups.
[JsonPropertyName("type")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public string? Type { get; set; }
Property Value
Section titled “Property Value”Methods
Section titled “Methods”Equals(object?)
Section titled “ Equals(object?)”Used to assert whether two Entities are the same, based on their Ids.
public override bool Equals(object? obj)
Parameters
Section titled “Parameters”obj
object?
Comparison Entity
Returns
Section titled “Returns”true if the Entities have the same Id
GetHashCode()
Section titled “ GetHashCode()”Generates a Hash Code derived from the Entity’s Id.
public override int GetHashCode()
Returns
Section titled “Returns”Hash Code
ToString()
Section titled “ ToString()”String representation override for the Entity
public override string ToString()
Returns
Section titled “Returns”The Name Attribute