Table of Contents

Class Structure

Namespace
The.Import.Schema
Assembly
Instagile.dll
public class Structure
Inheritance
Structure
Inherited Members

Constructors

Structure(string, IEqualityComparer<string>, IEnumerable<StructureTable>)

describe a datasource as a set of tables and columns

public Structure(string modelNamespace, IEqualityComparer<string> nameComparer, IEnumerable<StructureTable> tables)

Parameters

modelNamespace string
nameComparer IEqualityComparer<string>
tables IEnumerable<StructureTable>

Structure(Correspondence)

describe a datasource to be populated by tables later using an existing model's set of IDs

public Structure(Correspondence existingIDs)

Parameters

existingIDs Correspondence

Fields

EntitySections

public readonly Dictionary<StructureSection, Guid> EntitySections

Field Value

Dictionary<StructureSection, Guid>

MaxAttributesPerSection

public int? MaxAttributesPerSection

Field Value

int?

UseIllegalCharacterReplacement

public bool UseIllegalCharacterReplacement

Field Value

bool

UseIsLegacy

public bool UseIsLegacy

Field Value

bool

UseLegacyColumnQualification

public bool UseLegacyColumnQualification

Field Value

bool

UsePluralisation

public bool UsePluralisation

Field Value

bool

UseReferenceSections

public bool UseReferenceSections

Field Value

bool

UseUnsanitisedEnumNames

public bool UseUnsanitisedEnumNames

Field Value

bool

Properties

Entities

public IReadOnlyList<StructureEntity> Entities { get; }

Property Value

IReadOnlyList<StructureEntity>

Enums

public IReadOnlyDictionary<StructureKey, StructureEntity> Enums { get; }

Property Value

IReadOnlyDictionary<StructureKey, StructureEntity>

Relationships

public IReadOnlyList<StructureRelationship> Relationships { get; }

Property Value

IReadOnlyList<StructureRelationship>

Methods

AddEnum(string, string, string)

add an enum extraction to the datastore structure

public void AddEnum(string sourceTable, string sourceColumn, string targetTable)

Parameters

sourceTable string
sourceColumn string
targetTable string

Remarks

this feature and its associated tag will be removed when we have modelling of attr->attr data copies

AddForeignKey(string, string, string, string)

add a relation to the datastore structure

public void AddForeignKey(string sourceTable, string sourceColumn, string targetTable, string targetColumn)

Parameters

sourceTable string
sourceColumn string
targetTable string
targetColumn string

AddForeignKey(StructureKey, StructureKey)

add a relation to the datastore structure

public void AddForeignKey(StructureKey source, StructureKey target)

Parameters

source StructureKey
target StructureKey

AddTable(StructureTable)

add a table source to the datastore structure

public void AddTable(StructureTable t)

Parameters

t StructureTable

OmitEntityAttribute(string, string)

don't import the specified column into an attribute

public void OmitEntityAttribute(string tableName, string columnName)

Parameters

tableName string
columnName string

SetEntityAttributeSection(string, string, string)

public void SetEntityAttributeSection(string tableName, string columnName, string sectionName)

Parameters

tableName string
columnName string
sectionName string