/// <summary> /// 建立一个Where嵌套查询 /// </summary> public IDataTableSelector Where(Action <IDataTableSelector> nested, SelectorLinker linker = SelectorLinker.And) { DataTableSelector selector = NewSelector(); nested(selector); return(NestedWhereSelector(selector, linker)); }
/// <summary> /// 增加一个嵌套查询 /// </summary> /// <param name="selector">查询器</param> /// <param name="linker">链接符</param> /// <returns>查询器</returns> protected IDataTableSelector NestedWhereSelector(DataTableSelector selector, SelectorLinker linker) { wheres.Add(new DataTableSelectorData { SelectType = "Nested", Selector = selector, Linker = linker }); return(this); }
/// <summary> /// 是否为为 null 的查询 /// </summary> /// <param name="field">嵌套查询</param> /// <param name="linker">链接符</param> /// <param name="negate">是否取反</param> protected IDataTableSelector WhereNull(string field, SelectorLinker linker = SelectorLinker.And, bool negate = false) { wheres.Add(new DataTableSelectorData { SelectType = negate ? "NotNull" : "Null", Field = field, Linker = linker }); return(this); }
/// <summary> /// 建立一个Where查询 /// </summary> public IDataTableSelector Where(string field, string operators, string val, SelectorLinker linker = SelectorLinker.And) { GuardInvalidOperatorAndValue(operators, val); if (string.IsNullOrEmpty(val)) { return(WhereNull(field, linker, operators != "=")); } wheres.Add(new DataTableSelectorData() { SelectType = "Basic", Field = field, Operator = operators, Value = val, Linker = linker }); return(this); }
/// <summary> /// 建立一个Where嵌套查询 /// </summary> public IDataTableSelector Where(Action<IDataTableSelector> nested, SelectorLinker linker = SelectorLinker.And){ this.selector = new DataTableSelector(this); return this.selector.Where(nested , linker); }
/// <summary> /// 建立一个Where查询 /// </summary> public IDataTableSelector Where(string field, string operators, string val, SelectorLinker linker = SelectorLinker.And){ this.selector = new DataTableSelector(this); return this.selector.Where(field , operators , val , linker); }