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;
}