Table of Contents

Class LogicalRelation

Namespace
TimeCockpit.Data.DataModel
Assembly
TimeCockpit.Data.dll

Represents a logical relation between two dimensions.

public class LogicalRelation : RelationBase, IDynamicMetaObjectProvider, INotifyPropertyChanged, IDataErrorInfo, INullable
Inheritance
Object
LogicalRelation
Implements
IDynamicMetaObjectProvider
INotifyPropertyChanged
IDataErrorInfo
Inherited Members
Object.ToString()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()

Remarks

Logical relations can either be based on an existing relation and a join condition or by just using a join condition.

Constructors

LogicalRelation()

Initializes a new instance of the LogicalRelation class.

public LogicalRelation()

Properties

Condition

Gets or sets the condition constraining the relation.

public string Condition { get; set; }

Property Value

String

Remarks

The condition can use the alias "Current" for addressing the current, source entity and the alias "Target" for addressing the target entity the logical relation is pointing to. This allows to create arbitrary correlations via non-relation guid properties, text properties or even more complex expressions.

CorrespondingRelation

Gets or sets the physical relation this logical relation corresponds to.

public Relation CorrespondingRelation { get; set; }

Property Value

Relation

IsNullable

Gets or sets a value indicating if the logical relation is nullable.

public override bool IsNullable { get; set; }

Property Value

Boolean

Remarks

Always returns true, setter does nothing.

Target

Gets or sets the target of the relation.

public override ModelEntityBase Target { get; set; }

Property Value

ModelEntityBase

Methods

Accept(ModelElementVisitor)

Accepts a visitor dispatching the corresponding operation to the concrete type.

public override void Accept(ModelElementVisitor visitor)

Parameters

visitor ModelElementVisitor

the visitor to accept.

SetPersistBehavior(PersistBehavior)

Sets the persist behavior of the LogicalRelation. Prevents setting PersistBehavior.Full for logical relations.

protected override void SetPersistBehavior(PersistBehavior persistBehavior)

Parameters

persistBehavior PersistBehavior

The persist behavior (PersistBehavior.MetadataOnly or PersistBehavior.None).

ShallowCopy()

Performs a shallow copy of the current RelationBase/the derived class.

public override RelationBase ShallowCopy()

Returns

RelationBase

A shallow copy of the current RelationBase.

ShallowCopy(String, PersistBehavior, Ownership, Boolean, Boolean)

Performs a shallow copy of the current RelationBase/the derived class.

public override RelationBase ShallowCopy(string name, PersistBehavior persistBehavior, Ownership ownership, bool ignorePermissions = false, bool ignoreDefaultValues = false)

Parameters

name String

Overridden model element name.

persistBehavior PersistBehavior

Overridden persist behavior.

ownership Ownership

Overridden ownership.

ignorePermissions Boolean

if set to true [ignore permissions].

ignoreDefaultValues Boolean

if set to true [ignore default values].

Returns

RelationBase

A shallow copy of the current RelationBase.