DataObjectQuery
Class DataObjectQuery
Section titled “ Class DataObjectQuery”Namespace: DataWarehouseAutomation.DwaModel
Assembly: DataWarehouseAutomation.dll
A data query is a bespoke code element that is scoped for a specific function or purpose, and can act as a ‘source’ in a source-target mapping. This applies to both data object and data item level. When acting the data object object, the data query replaces the source data object in the mapping. This is a data object query, which could be a view, script, or procedure that provides the data in the mapping instead of a table or file.
public class DataObjectQuery : IDataObject
Inheritance
Section titled “Inheritance”Implements
Section titled “Implements”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”BusinessKeyDefinitions
Section titled “ BusinessKeyDefinitions”The definition of the Business Key(s) for the Data Object Query. Being able to record the business key definition This serves multiple purposes, but one of them is to support defining a series of business key definitions against the source data object, and reuse these across different data object mappings.
[JsonPropertyName("businessKeyDefinitions")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public List<BusinessKeyDefinition>? BusinessKeyDefinitions { get; set; }
Property Value
Section titled “Property Value”Classifications
Section titled “ Classifications”Free-form and optional classification for the Data Query for use in generation logic (evaluation).
[JsonPropertyName("classifications")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public List<DataClassification>? Classifications { get; set; }
Property Value
Section titled “Property Value”DataConnection
Section titled “ DataConnection”The connection for the query.
[JsonPropertyName("dataConnection")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public DataConnection? DataConnection { get; set; }
Property Value
Section titled “Property Value”DataItems
Section titled “ DataItems”The collection of Data Items
[JsonPropertyName("dataItems")]public List<IDataItem>? DataItems { 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”Identifier for the Data Query.
[JsonPropertyName("id")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public string? Id { get; set; }
Property Value
Section titled “Property Value”The name for the query.
[JsonPropertyName("name")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]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”QueryCode
Section titled “ QueryCode”The actual code that constitutes the query.
[JsonPropertyName("queryCode")]public string? QueryCode { get; set; }
Property Value
Section titled “Property Value”QueryLanguage
Section titled “ QueryLanguage”The language that the code was written in (e.g. SQL).
[JsonPropertyName("queryLanguage")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public string? QueryLanguage { get; set; }
Property Value
Section titled “Property Value”Relationships
Section titled “ Relationships”Any relationship to other data objects and/or queries.
[JsonPropertyName("relationships")][JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]public List<(int OrdinalPosition, Relationship)>? Relationships { get; set; }
Property Value
Section titled “Property Value”List<(int OrdinalPosition, Relationship)>?
Methods
Section titled “Methods”Equals(object?)
Section titled “ Equals(object?)”Use this method to assert if two DataObjectQueries are the same, based on their Ids.
public override bool Equals(object? obj)
Parameters
Section titled “Parameters”obj
object?
Returns
Section titled “Returns”true if Data Object Queries are the same, based on their Ids
GetHashCode()
Section titled “ GetHashCode()”Override to get a hash value that represents the identifier.
public override int GetHashCode()
Returns
Section titled “Returns”A 32-bit signed integer hash code
ToString()
Section titled “ ToString()”String override so that the object returns its value (‘name’). When an instance of this class is passed to a method that expects a string, the ToString() method will be called implicitly to convert the object to a string, and the value of the “Name” property will be returned.
public override string ToString()
Returns
Section titled “Returns”The Name