/// <summary> /// 格式化全文检索字符串。默认按照SQL Server的规则,消除双引号。并且将空格替换成逻辑运算符 /// </summary> /// <param name="logicOp">逻辑运算符,默认是AND</param> /// <param name="searchText"></param> /// <returns></returns> public string FormatFullTextString(LogicOperatorDefine logicOp, string searchText) { StringBuilder result = new StringBuilder(); string[] parts = null; if (searchText.IsNotEmpty()) { searchText = searchText.Replace("\"", ""); parts = searchText.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); } else { parts = new string[0]; } string op = EnumItemDescriptionAttribute.GetAttribute(logicOp).ShortName; foreach (string part in parts) { if (result.Length > 0) { result.AppendFormat(" {0} ", op); } result.AppendFormat("\"{0}\"", part); } return(result.ToString()); }
/// <summary> /// /// </summary> /// <param name="lo"></param> /// <param name="sqlClause"></param> public ConnectiveSqlClauseCollection(LogicOperatorDefine lo, params IConnectiveSqlClause[] sqlClause) : base() { this.logicOperator = lo; if (sqlClause != null) { for (int i = 0; i < sqlClause.Length; i++) { this.Add(sqlClause[i]); } } }
/// <summary> /// 构造方法,可以指定生成条件表达式时的逻辑运算符 /// </summary> /// <param name="lo">逻辑运算符</param> public ConnectiveSqlClauseCollection(LogicOperatorDefine lo) : base() { this.logicOperator = lo; }
/// <summary> /// 构造方法,可以指定生成条件表达式时的逻辑运算符 /// </summary> /// <param name="lod">逻辑运算符</param> public WhereSqlClauseBuilder(LogicOperatorDefine lod) : base() { this.logicOperator = lod; }
/// <summary> /// 格式化全文检索字符串。默认按照SQL Server的规则,消除双引号。并且将空格替换成逻辑运算符 /// </summary> /// <param name="logicOp">逻辑运算符,默认是AND</param> /// <param name="searchText"></param> /// <returns></returns> public string FormatFullTextString(LogicOperatorDefine logicOp, string searchText) { StringBuilder result = new StringBuilder(); string[] parts = null; if (searchText.IsNotEmpty()) { searchText = searchText.Replace("\"", ""); parts = searchText.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); } else parts = new string[0]; string op = EnumItemDescriptionAttribute.GetAttribute(logicOp).ShortName; foreach (string part in parts) { if (result.Length > 0) result.AppendFormat(" {0} ", op); result.AppendFormat("\"{0}\"", part); } return result.ToString(); }