Class LogicalRelation
Represents a logical relation between two dimensions.
Inheritance
Implements
Inherited Members
Namespace: TimeCockpit.Data.DataModel
Assembly: TimeCockpit.Data.dll
Syntax
public class LogicalRelation : RelationBase, IDynamicMetaObjectProvider, INotifyPropertyChanged, IDataErrorInfo, INullable
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.
Declaration
public LogicalRelation()
Properties
Condition
Gets or sets the condition constraining the relation.
Declaration
public string Condition { get; set; }
Property Value
Type | Description |
---|---|
System.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.
Declaration
public Relation CorrespondingRelation { get; set; }
Property Value
Type | Description |
---|---|
Relation |
IsNullable
Gets or sets a value indicating if the logical relation is nullable.
Declaration
public override bool IsNullable { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Overrides
Remarks
Always returns true, setter does nothing.
Target
Gets or sets the target of the relation.
Declaration
public override ModelEntityBase Target { get; set; }
Property Value
Type | Description |
---|---|
ModelEntityBase |
Overrides
Methods
Accept(ModelElementVisitor)
Accepts a visitor dispatching the corresponding operation to the concrete type.
Declaration
public override void Accept(ModelElementVisitor visitor)
Parameters
Type | Name | Description |
---|---|---|
ModelElementVisitor | visitor | the visitor to accept. |
Overrides
SetPersistBehavior(PersistBehavior)
Sets the persist behavior of the LogicalRelation. Prevents setting PersistBehavior.Full for logical relations.
Declaration
protected override void SetPersistBehavior(PersistBehavior persistBehavior)
Parameters
Type | Name | Description |
---|---|---|
PersistBehavior | persistBehavior | The persist behavior (PersistBehavior.MetadataOnly or PersistBehavior.None). |
Overrides
ShallowCopy()
Performs a shallow copy of the current RelationBase/the derived class.
Declaration
public override RelationBase ShallowCopy()
Returns
Type | Description |
---|---|
RelationBase | A shallow copy of the current RelationBase. |
Overrides
ShallowCopy(String, PersistBehavior, Ownership, Boolean, Boolean)
Performs a shallow copy of the current RelationBase/the derived class.
Declaration
public override RelationBase ShallowCopy(string name, PersistBehavior persistBehavior, Ownership ownership, bool ignorePermissions = false, bool ignoreDefaultValues = false)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | Overridden model element name. |
PersistBehavior | persistBehavior | Overridden persist behavior. |
Ownership | ownership | Overridden ownership. |
System.Boolean | ignorePermissions | if set to |
System.Boolean | ignoreDefaultValues | if set to |
Returns
Type | Description |
---|---|
RelationBase | A shallow copy of the current RelationBase. |