/// <summary> /// /// </summary> /// <param name="dataField"></param> /// <param name="action"></param> public void IfExists(string dataField, Action <SqlClauseBuilderItemIUW> action) { if (action != null) { SqlClauseBuilderItemIUW builderItem = (SqlClauseBuilderItemIUW)this.Find(item => ((SqlClauseBuilderItemIUW)item).DataField == dataField); if (builderItem != null) { action(builderItem); } } }
/// <summary> /// 添加一个构造项 /// </summary> /// <typeparam name="T">数据的类型</typeparam> /// <returns>返回这个Builder自己,便于编写连续AppendItem语句,例如b.AppendItem(...).AppendItem(...)</returns> /// <param name="dataField">Sql语句中的字段名</param> /// <param name="data">操作的数据</param> /// <param name="op">操作运算符</param> /// <param name="isExpression">操作的数据是否是表达式</param> public virtual TBuilder AppendItem <T>(string dataField, T data, string op, bool isExpression) { SqlClauseBuilderItemIUW item = (SqlClauseBuilderItemIUW)CreateBuilderItem(); item.DataField = dataField; item.IsExpression = isExpression; item.Operation = op; item.Data = data; List.Add(item); return((TBuilder)this); }