nHydrate.Generator.Models.Relation.GetAssociativeOtherRelation C# (CSharp) Method

GetAssociativeOtherRelation() public method

public GetAssociativeOtherRelation ( ) : Relation
return Relation
        public Relation GetAssociativeOtherRelation()
        {
            if (!this.IsManyToMany) return null;

            var parentTable = (Table)this.ParentTableRef.Object;
            var childTable = (Table)this.ChildTableRef.Object;

            var otherTable = parentTable;
            if (childTable.AssociativeTable) otherTable = childTable;

            if (otherTable.AssociativeTable)
            {
                var relationList = otherTable.GetRelationsWhereChild();
                if (relationList.Count() == 2)
                {
                    var relation = relationList.Where(x => x != this).FirstOrDefault();
                    if (relation == null) return null;
                    return relation;
                }
            }
            return null;
        }