public IFilter Add(SqlFilterItem filter) { if (_Filters == null) { _Filters = new List <SqlFilterItem>(); } if (this.Context.CurrentConnectionConfig.IsShardSameThread) { if (!_Filters.Select(it => it.FilterValue(this.Context).Sql).Contains(filter.FilterValue(this.Context).Sql)) { _Filters.Add(filter); } } else { _Filters.Add(filter); } return(this); }
protected SqlSelectBuilderBase Offset(SqlFilterItem offset) => Offset(Operand.From(offset));
protected SqlSelectBuilderBase LimitBy(SqlFilterItem limitBy) => LimitBy(Operand.From(limitBy));
public SqlFilterOperand(SqlFilterItem sqlFilterItem) { PropertyName = From($"@{sqlFilterItem?.PropertyName ?? throw new ArgumentException(nameof(sqlFilterItem))}"); }
public new TBuilder Offset(SqlFilterItem offset) => (TBuilder)base.Offset(offset);
public new TBuilder LimitBy(SqlFilterItem limitBy) => (TBuilder)base.LimitBy(limitBy);
public OffsetBlock(SqlFilterItem offset) { Offset = Operand.From(offset ?? throw new ArgumentException(nameof(offset))); }