/// <summary> /// 转换查询条件数组为基类Db参数 /// </summary> /// <param name="conditionArray"></param> /// <param name="dbType"></param> /// <returns></returns> private static DbParameter[] ToDbSqlParas(QueryCondition[] conditionArray, DbType dbType) { List <DbParameter> parameterList = new List <DbParameter>(); if (conditionArray != null && conditionArray.Length > 0) { Dictionary <string, int> parameterDictionary = new Dictionary <string, int>(); for (int i = 0; i < conditionArray.Length; i++) { QueryCondition conditon = conditionArray[i]; ConditionToSql.ToSubSqlParas(conditon, parameterList, parameterDictionary, dbType); } parameterDictionary.Clear(); } return(parameterList.ToArray()); }
/// <summary> /// 转换单个查询条件为Sql参数 /// </summary> /// <param name="conditon"></param> /// <param name="parameterList"></param> /// <param name="parameterDictionary"></param> private static void ToSubSqlParas(QueryCondition conditon, List <DbParameter> parameterList, Dictionary <string, int> parameterDictionary, DbType dbType) { if (conditon != null && ConditionToSql.CheckConditionIsValid(conditon)) { if (conditon.SubQuery != null && conditon.SubQuery.Length > 0) { QueryCondition[] subQuery = conditon.SubQuery; for (int i = 0; i < subQuery.Length; i++) { QueryCondition subConditon = subQuery[i]; ConditionToSql.ToSubSqlParas(subConditon, parameterList, parameterDictionary, dbType); } } if (!string.IsNullOrEmpty(conditon.Property.ToString())) { ConditionToSql.GetParameterObject(conditon, parameterList, parameterDictionary, dbType); } } }