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
-
ObjectLogicalRelation
- Implements
-
IDynamicMetaObjectProviderINotifyPropertyChangedIDataErrorInfo
- 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
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
Methods
Accept(ModelElementVisitor)
Accepts a visitor dispatching the corresponding operation to the concrete type.
public override void Accept(ModelElementVisitor visitor)
Parameters
visitorModelElementVisitorthe 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
persistBehaviorPersistBehaviorThe 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
nameStringOverridden model element name.
persistBehaviorPersistBehaviorOverridden persist behavior.
ownershipOwnershipOverridden ownership.
ignorePermissionsBooleanif set to
true[ignore permissions].ignoreDefaultValuesBooleanif set to
true[ignore default values].
Returns
- RelationBase
A shallow copy of the current RelationBase.