public bool Equals(SelfRelationTarget obj)
 {
     if (obj == null)
     {
         return(false);
     }
     return(_fieldName == obj._fieldName && _cascadeDelete == obj._cascadeDelete);
 }
 public SelfRelationDefinition(EntityDefinition entity, string[] props,
                               SelfRelationTarget direct, SelfRelationTarget reverse,
                               SourceFragmentDefinition table, EntityDefinition underlyingEntity, bool disabled)
     : base(table, underlyingEntity, direct, reverse, disabled)
 {
     _entity = entity;
     _props  = props;
 }
 protected RelationDefinitionBase(SourceFragmentDefinition table, EntityDefinition underlyingEntity, SelfRelationTarget left, SelfRelationTarget right, bool disabled)
 {
     _table            = table;
     _underlyingEntity = underlyingEntity;
     _disabled         = disabled;
     _left             = left;
     _right            = right;
     _constants        = new List <RelationConstantDescriptor>();
 }
 protected RelationDefinitionBase(SourceFragmentDefinition table, EntityDefinition underlyingEntity, SelfRelationTarget left, SelfRelationTarget right)
     : this(table, underlyingEntity, left, right, false)
 {
 }
 public SelfRelationDefinition(EntityDefinition entity, string[] props,
                               SelfRelationTarget direct, SelfRelationTarget reverse,
                               SourceFragmentDefinition table, EntityDefinition underlyingEntity)
     : this(entity, props, direct, reverse, table, underlyingEntity, false)
 {
 }