/// <summary> /// 在当前位置添加一个部分查询 /// </summary> /// <param name="partial">要添加的部分查询对象</param> public void AppendPartial(IParameterizedQueryPartial partial) { lock ( _sync ) { partial.AppendTo(this); } }
/// <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())); }
/// <summary> /// 在当前位置添加一个部分查询 /// </summary> /// <param name="partial">要添加的部分查询对象</param> protected virtual void AppendPartial(IParameterizedQueryPartial partial) { lock ( SyncRoot ) { if (textBuilder.Length > 0 //&& Db.DbContext.AutoWhitespaceSeparator == true && char.IsWhiteSpace(textBuilder[textBuilder.Length - 1]) == false && (partial as ParameterizedQuery)?.IsStartWithWhiteSpace() == false) { Append(' '); } partial.AppendTo(this); } }
/// <summary> /// 添加一个参数化查询部分组件 /// </summary> /// <param name="builder">参数化查询构建器</param> /// <param name="partial">参数化查询部分组件</param> /// <remarks>此扩展方法与直接调用 AppendValue 效果相同,但是具有强类型约束,建议使用此方法明确添加部分组件</remarks> public static void AppendPartial(this IParameterizedQueryBuilder builder, IParameterizedQueryPartial partial) { builder.AppendValue(partial); }
/// <summary> /// 在当前位置添加一个部分查询 /// </summary> /// <param name="partial">要添加的部分查询对象</param> public void AppendPartial( IParameterizedQueryPartial partial ) { lock ( _sync ) { partial.AppendTo( this ); } }