Example #1
0
        /// <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());
        }
Example #2
0
        /// <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);
                }
            }
        }