public void BuildJoin() { if (!LeftKeys.Any() || !RightKeys.Any()) { return; } var unionKeys = LeftKeys.Zip(RightKeys, (l, r) => new { Left = l, Right = r }).ToList(); var join = new StringBuilder(); unionKeys.ForEach(item => { if (join.Length > 0) { join.Append($" AND {item.Left} = {item.Right}"); } else { join.Append($"{item.Left} = {item.Right}"); } }); Query = Query.Replace($"{joinTable} ON", $"{joinTable} ON {join.ToString()}"); ClearJoiVariable(); }
public void RightKey(string[] keys) { keys.ToList().ForEach(k => RightKeys.Add(k)); }
private void ClearJoiVariable() { LeftKeys.Clear(); RightKeys.Clear(); joinTable = string.Empty; }