/// <summary>
        /// 串联多个参数化查询对象
        /// </summary>
        /// <param name="firstQuery">第一个参数化查询对象</param>
        /// <param name="otherQueries">要串联的其他参数化查询对象</param>
        /// <returns>串联后的参数化查询对象</returns>
        public static ParameterizedQuery ConcatQueries(this ParameterizedQuery firstQuery, params ParameterizedQuery[] otherQueries)
        {
            var builder    = Db.ParameterizedQueryService.CreateQueryBuild();
            var configures = firstQuery.Configures;

            builder.AppendValue(firstQuery);
            foreach (var query in otherQueries)
            {
                if (query == null || string.IsNullOrEmpty(query.TextTemplate))
                {
                    continue;
                }

                configures = DbQueryConfigures.Merge(configures, query.Configures);
                builder.AppendValue(query);
            }

            return(builder.BuildQuery(configures));
        }
Exemple #2
0
        /// <summary>
        /// 将 IParameterizedQueryPartial 对象转换为 ParameterizedQuery 对象
        /// </summary>
        /// <param name="partial">要转换的 IParameterizedQueryPartial 对象</param>
        /// <param name="configures">要使用的查询配置对象</param>
        /// <returns></returns>
        public static ParameterizedQuery AsQuery(this IParameterizedQueryPartial partial, DbQueryConfigures configures = null)
        {
            var builder = ParameterizedQueryService.CreateQueryBuild();

            builder.AppendPartial(partial);
            return(builder.BuildQuery(configures ?? new DbQueryConfigures()));
        }