/// <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)); }
/// <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())); }