/// <summary> /// Създава условието в SQL формат /// </summary> /// <param name="linqCondition"></param> /// <returns></returns> private string CreateCondition(LinqConditionModel linqCondition) { switch (linqCondition.condition) { case "=": return (((linqCondition.expr1.alias == null) ? "" : linqCondition.expr1.alias + ".") + linqCondition.expr1.name + " = " + ((linqCondition.expr2.alias == null) ? "" : linqCondition.expr2.alias + ".") + linqCondition.expr2.name); default: return(" 1 = 1 "); } }
/// <summary> /// Създава селекта в SQL формат /// </summary> /// <param name="linqQuery"></param> /// <returns></returns> private string CreateSelectCommand(LinqQueryModel linqQuery) { StringBuilder sbSql = new StringBuilder(); // SELECT if (linqQuery.list.Count > 0) { sbSql.Append("SELECT "); LinqTableFieldModel field = linqQuery.list[0]; sbSql.Append ( ((field.alias == null) ? "" : field.alias + ".") + field.name + ((field.text == null) ? "" : " AS " + field.text) ); for (int i = 1; i < linqQuery.list.Count; i++) { field = linqQuery.list[i]; sbSql.Append ( ", " + ((field.alias == null) ? "" : field.alias + ".") + field.name + ((field.text == null) ? "" : " AS " + field.text) ); } } // FROM if (linqQuery.from.Count > 0) { sbSql.Append(" FROM "); LinqTableModel table = linqQuery.from[0]; sbSql.Append ( table.name + ((table.alias == null) ? "" : " " + table.alias) ); for (int i = 1; i < linqQuery.from.Count; i++) { table = linqQuery.from[i]; sbSql.Append ( ", " + table.name + ((table.alias == null) ? "" : " " + table.alias) ); } } // WHERE if (linqQuery.where.Count > 0) { sbSql.Append(" WHERE "); LinqConditionModel condition = linqQuery.where[0]; sbSql.Append(CreateCondition(condition)); for (int i = 1; i < linqQuery.where.Count; i++) { condition = linqQuery.where[i]; sbSql.Append(" AND " + CreateCondition(condition)); } } return(sbSql.ToString()); }