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