/// <summary> /// Gets a flatted list of all conditions associated with this query /// </summary> /// <returns></returns> internal virtual List <Condition> GetConditions() { var listConditions = new List <Condition>(); if (WhereCondition != null) { listConditions.AddRange(WhereCondition.GetAllConditions()); } /// All Conditions from Join listConditions.AddRange(ListJoin.Select(r => r.Condition.GetAllConditions()).SelectMany(r => r)); /// All Conditions from joined Queries listConditions.AddRange(ListJoin.Select(r => r.Query.GetConditions()).SelectMany(r => r)); /// All Conditions from FromQuery if (FromQuery != null) { listConditions.AddRange(FromQuery.Item1.GetConditions()); } return(listConditions); }