/// <summary> /// 构造函数 /// </summary> /// <param name="where"></param> public WhereClipBuilder(WhereClip where) { expressionStringBuilder.Append(where.ToString()); parameters.AddRange(where.Parameters); }
/// <summary> /// AND /// </summary> /// <param name="where"></param> public void And(WhereClip where) { if (WhereClip.IsNullOrEmpty(where)) return; if (expressionStringBuilder.Length > 0) { expressionStringBuilder.Append(" AND "); expressionStringBuilder.Append(where.ToString()); expressionStringBuilder.Append(")"); expressionStringBuilder.Insert(0, "("); } else { expressionStringBuilder.Append(where.ToString()); } parameters.AddRange(where.Parameters); }
/// <summary> /// AND /// </summary> /// <param name="where"></param> public void And(WhereClip where) { if (WhereClip.IsNullOrEmpty(where)) { return; } if (expressionStringBuilder.Length > 0) { expressionStringBuilder.Append(" AND "); expressionStringBuilder.Append(where.ToString()); expressionStringBuilder.Append(")"); expressionStringBuilder.Insert(0, "("); } else { expressionStringBuilder.Append(where.ToString()); } parameters.AddRange(where.Parameters); }
/// <summary> /// 判断条件是否一样 /// </summary> /// <param name="leftWhere"></param> /// <param name="rightWhere"></param> /// <returns></returns> public static bool Equals(WhereClip leftWhere, WhereClip rightWhere) { string leftWhereString = leftWhere.ToString(); string rightWhereString = rightWhere.ToString(); foreach (Parameter p in leftWhere.parameters) { leftWhereString.Replace(p.ParameterName, (p.ParameterValue == null) ? string.Empty : p.ParameterValue.ToString()); } foreach (Parameter p in rightWhere.parameters) { rightWhereString.Replace(p.ParameterName, (p.ParameterValue == null) ? string.Empty : p.ParameterValue.ToString()); } return(string.Compare(leftWhereString, rightWhereString, true) == 0); }
/// <summary> /// 判断条件是否一样 /// </summary> /// <param name="leftWhere"></param> /// <param name="rightWhere"></param> /// <returns></returns> public static bool Equals(WhereClip leftWhere, WhereClip rightWhere) { string leftWhereString = leftWhere.ToString(); string rightWhereString = rightWhere.ToString(); foreach (Parameter p in leftWhere.parameters) { leftWhereString.Replace(p.ParameterName, (p.ParameterValue == null) ? string.Empty : p.ParameterValue.ToString()); } foreach (Parameter p in rightWhere.parameters) { rightWhereString.Replace(p.ParameterName, (p.ParameterValue == null) ? string.Empty : p.ParameterValue.ToString()); } return (string.Compare(leftWhereString, rightWhereString, true) == 0); }