/// <summary> /// Converts to string. /// </summary> /// <returns> /// A <see cref="System.String" /> that represents this instance. /// </returns> public override string ToString() { List <string> cols = new List <string>(); for (int i = 0; i < Table1JoinColumns.Count; i++) { var compare = Compares.ElementAt(i); var col1 = Table1JoinColumns.ElementAt(i); var col2 = Table2JoinColumns.ElementAt(i); if (col1 != null && col2 != null) { cols.Add($"{col1.MultiPartIdentifier.GetName()} {compare.ComparisonType} {col2.MultiPartIdentifier.GetName()}"); } } return($"{Table1.GetName()} {Table1.Alias?.Value} JOIN {Table2.GetName()} {Table2.Alias?.Value} ON {string.Join(" + ", cols)}"); }