Class ClickHouseEntityBuilderExtensions
- Namespace
- NextORM.ClickHouse
- Assembly
- nextorm.clickhouse.dll
ClickHouse-only fluent members of EntityBuilder<TEntity>, removed from the common
nextorm package and re-exposed here as extension methods. Add
using NextORM.ClickHouse; to keep the fluent chain unchanged on a ClickHouse provider.
The render-time dialect gating (and the thrown exceptions) is unchanged.
public static class ClickHouseEntityBuilderExtensions
- Inheritance
-
ClickHouseEntityBuilderExtensions
- Inherited Members
Methods
AntiJoin(EntityBuilder, EntityBuilder, Expression<Func<TableAlias, TableAlias, bool>>, Action<JoinOptions>?)
ClickHouse LEFT ANTI JOIN in named-table (TableAlias) mode.
public static EntityBuilder AntiJoin(this EntityBuilder builder, EntityBuilder from, Expression<Func<TableAlias, TableAlias, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilderfromEntityBuilderjoinConditionExpression<Func<TableAlias, TableAlias, bool>>optionsAction<JoinOptions>
Returns
AntiJoin<TJoinEntity>(EntityBuilder, EntityBuilder<TJoinEntity>, Expression<Func<TableAlias, TJoinEntity, bool>>, Action<JoinOptions>?)
ClickHouse LEFT ANTI JOIN in named-table (TableAlias) mode.
public static EntityBuilder AntiJoin<TJoinEntity>(this EntityBuilder builder, EntityBuilder<TJoinEntity> join, Expression<Func<TableAlias, TJoinEntity, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilderjoinEntityBuilder<TJoinEntity>joinConditionExpression<Func<TableAlias, TJoinEntity, bool>>optionsAction<JoinOptions>
Returns
Type Parameters
TJoinEntity
AntiJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, EntityBuilder<TJoinEntity>, Expression<Func<TEntity, TJoinEntity, bool>>, Action<JoinOptions>?)
ClickHouse LEFT ANTI JOIN.
public static EntityBuilder<TEntity> AntiJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, EntityBuilder<TJoinEntity> join, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilder<TEntity>joinEntityBuilder<TJoinEntity>joinConditionExpression<Func<TEntity, TJoinEntity, bool>>optionsAction<JoinOptions>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntityTJoinEntity
AntiJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, QueryCommand<TJoinEntity>, Expression<Func<TEntity, TJoinEntity, bool>>, Action<JoinOptions>?)
ClickHouse LEFT ANTI JOIN over a subquery.
public static EntityBuilder<TEntity> AntiJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, QueryCommand<TJoinEntity> query, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilder<TEntity>queryQueryCommand<TJoinEntity>joinConditionExpression<Func<TEntity, TJoinEntity, bool>>optionsAction<JoinOptions>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntityTJoinEntity
ArrayJoinElement<TEntity, TElement>(EntityBuilder<TEntity>, Expression<Func<TEntity, IEnumerable<TElement>>>)
ClickHouse ARRAY JOIN exposing the expanded element as p.Element.
public static EntityBuilder<ArrayJoinProjection<TEntity, TElement>> ArrayJoinElement<TEntity, TElement>(this EntityBuilder<TEntity> builder, Expression<Func<TEntity, IEnumerable<TElement>>> array)
Parameters
builderEntityBuilder<TEntity>arrayExpression<Func<TEntity, IEnumerable<TElement>>>
Returns
- EntityBuilder<ArrayJoinProjection<TEntity, TElement>>
Type Parameters
TEntityTElement
ArrayJoin<TEntity, TArray>(EntityBuilder<TEntity>, Expression<Func<TEntity, TArray>>)
ClickHouse ARRAY JOIN over an array expression.
public static EntityBuilder<TEntity> ArrayJoin<TEntity, TArray>(this EntityBuilder<TEntity> builder, Expression<Func<TEntity, TArray>> array)
Parameters
builderEntityBuilder<TEntity>arrayExpression<Func<TEntity, TArray>>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntityTArray
Final<TEntity>(EntityBuilder<TEntity>)
ClickHouse FINAL modifier on the primary table.
public static EntityBuilder<TEntity> Final<TEntity>(this EntityBuilder<TEntity> builder)
Parameters
builderEntityBuilder<TEntity>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntity
Global(JoinOptions)
ClickHouse GLOBAL join modifier.
public static JoinOptions Global(this JoinOptions options)
Parameters
optionsJoinOptions
Returns
LeftArrayJoinElement<TEntity, TElement>(EntityBuilder<TEntity>, Expression<Func<TEntity, IEnumerable<TElement>>>)
ClickHouse LEFT ARRAY JOIN exposing the expanded element as p.Element.
public static EntityBuilder<ArrayJoinProjection<TEntity, TElement>> LeftArrayJoinElement<TEntity, TElement>(this EntityBuilder<TEntity> builder, Expression<Func<TEntity, IEnumerable<TElement>>> array)
Parameters
builderEntityBuilder<TEntity>arrayExpression<Func<TEntity, IEnumerable<TElement>>>
Returns
- EntityBuilder<ArrayJoinProjection<TEntity, TElement>>
Type Parameters
TEntityTElement
LeftArrayJoin<TEntity, TArray>(EntityBuilder<TEntity>, Expression<Func<TEntity, TArray>>)
ClickHouse LEFT ARRAY JOIN over an array expression.
public static EntityBuilder<TEntity> LeftArrayJoin<TEntity, TArray>(this EntityBuilder<TEntity> builder, Expression<Func<TEntity, TArray>> array)
Parameters
builderEntityBuilder<TEntity>arrayExpression<Func<TEntity, TArray>>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntityTArray
LimitBy<TEntity, TResult>(EntityBuilder<TEntity>, int, int, Expression<Func<TEntity, TResult>>)
ClickHouse LIMIT offset, n BY expr clause.
public static EntityBuilder<TEntity> LimitBy<TEntity, TResult>(this EntityBuilder<TEntity> builder, int limit, int offset, Expression<Func<TEntity, TResult>> exp)
Parameters
builderEntityBuilder<TEntity>limitintoffsetintexpExpression<Func<TEntity, TResult>>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntityTResult
LimitBy<TEntity, TResult>(EntityBuilder<TEntity>, int, Expression<Func<TEntity, TResult>>)
ClickHouse LIMIT n BY expr clause.
public static EntityBuilder<TEntity> LimitBy<TEntity, TResult>(this EntityBuilder<TEntity> builder, int limit, Expression<Func<TEntity, TResult>> exp)
Parameters
builderEntityBuilder<TEntity>limitintexpExpression<Func<TEntity, TResult>>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntityTResult
PasteJoin(EntityBuilder, EntityBuilder, Action<JoinOptions>?)
ClickHouse PASTE JOIN in named-table (TableAlias) mode.
public static JoinedEntityBuilder<TableAlias, TableAlias> PasteJoin(this EntityBuilder builder, EntityBuilder from, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilderfromEntityBuilderoptionsAction<JoinOptions>
Returns
PasteJoin<TJoinEntity>(EntityBuilder, EntityBuilder<TJoinEntity>, Action<JoinOptions>?)
ClickHouse PASTE JOIN in named-table (TableAlias) mode.
public static JoinedEntityBuilder<TableAlias, TJoinEntity> PasteJoin<TJoinEntity>(this EntityBuilder builder, EntityBuilder<TJoinEntity> join, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilderjoinEntityBuilder<TJoinEntity>optionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<TableAlias, TJoinEntity>
Type Parameters
TJoinEntity
PasteJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, EntityBuilder<TJoinEntity>, Action<JoinOptions>?)
ClickHouse PASTE JOIN.
public static JoinedEntityBuilder<TEntity, TJoinEntity> PasteJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, EntityBuilder<TJoinEntity> join, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilder<TEntity>joinEntityBuilder<TJoinEntity>optionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<TEntity, TJoinEntity>
Type Parameters
TEntityTJoinEntity
PasteJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, QueryCommand<TJoinEntity>, Action<JoinOptions>?)
ClickHouse PASTE JOIN over a subquery.
public static JoinedEntityBuilder<TEntity, TJoinEntity> PasteJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, QueryCommand<TJoinEntity> query, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilder<TEntity>queryQueryCommand<TJoinEntity>optionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<TEntity, TJoinEntity>
Type Parameters
TEntityTJoinEntity
PreWhere<TEntity>(EntityBuilder<TEntity>, Expression<Func<TEntity, bool>>)
ClickHouse PREWHERE predicate.
public static EntityBuilder<TEntity> PreWhere<TEntity>(this EntityBuilder<TEntity> builder, Expression<Func<TEntity, bool>> condition)
Parameters
builderEntityBuilder<TEntity>conditionExpression<Func<TEntity, bool>>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntity
Sample(FromOptions, double)
ClickHouse SAMPLE ratio modifier.
public static FromOptions Sample(this FromOptions options, double ratio)
Parameters
optionsFromOptionsratiodouble
Returns
Sample(FromOptions, double, double)
ClickHouse SAMPLE ratio OFFSET offset modifier.
public static FromOptions Sample(this FromOptions options, double ratio, double offset)
Parameters
optionsFromOptionsratiodoubleoffsetdouble
Returns
SemiJoin(EntityBuilder, EntityBuilder, Expression<Func<TableAlias, TableAlias, bool>>, Action<JoinOptions>?)
ClickHouse LEFT SEMI JOIN in named-table (TableAlias) mode.
public static EntityBuilder SemiJoin(this EntityBuilder builder, EntityBuilder from, Expression<Func<TableAlias, TableAlias, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilderfromEntityBuilderjoinConditionExpression<Func<TableAlias, TableAlias, bool>>optionsAction<JoinOptions>
Returns
SemiJoin<TJoinEntity>(EntityBuilder, EntityBuilder<TJoinEntity>, Expression<Func<TableAlias, TJoinEntity, bool>>, Action<JoinOptions>?)
ClickHouse LEFT SEMI JOIN in named-table (TableAlias) mode.
public static EntityBuilder SemiJoin<TJoinEntity>(this EntityBuilder builder, EntityBuilder<TJoinEntity> join, Expression<Func<TableAlias, TJoinEntity, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilderjoinEntityBuilder<TJoinEntity>joinConditionExpression<Func<TableAlias, TJoinEntity, bool>>optionsAction<JoinOptions>
Returns
Type Parameters
TJoinEntity
SemiJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, EntityBuilder<TJoinEntity>, Expression<Func<TEntity, TJoinEntity, bool>>, Action<JoinOptions>?)
ClickHouse LEFT SEMI JOIN.
public static EntityBuilder<TEntity> SemiJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, EntityBuilder<TJoinEntity> join, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilder<TEntity>joinEntityBuilder<TJoinEntity>joinConditionExpression<Func<TEntity, TJoinEntity, bool>>optionsAction<JoinOptions>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntityTJoinEntity
SemiJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, QueryCommand<TJoinEntity>, Expression<Func<TEntity, TJoinEntity, bool>>, Action<JoinOptions>?)
ClickHouse LEFT SEMI JOIN over a subquery.
public static EntityBuilder<TEntity> SemiJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, QueryCommand<TJoinEntity> query, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
builderEntityBuilder<TEntity>queryQueryCommand<TJoinEntity>joinConditionExpression<Func<TEntity, TJoinEntity, bool>>optionsAction<JoinOptions>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntityTJoinEntity
Settings<TEntity>(EntityBuilder<TEntity>, params (string Key, string Value)[])
Trailing ClickHouse SETTINGS key = value clause.
public static EntityBuilder<TEntity> Settings<TEntity>(this EntityBuilder<TEntity> builder, params (string Key, string Value)[] settings)
Parameters
builderEntityBuilder<TEntity>settings(string Key, string Value)[]
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntity
WithStrictness(JoinOptions, JoinStrictness)
ClickHouse join modifier (ANY/ALL/ASOF).
public static JoinOptions WithStrictness(this JoinOptions options, JoinStrictness strictness)
Parameters
optionsJoinOptionsstrictnessJoinStrictness
Returns
WithTotals<TEntity>(EntityBuilder<TEntity>)
ClickHouse WITH TOTALS grouping modifier.
public static EntityBuilder<TEntity> WithTotals<TEntity>(this EntityBuilder<TEntity> builder)
Parameters
builderEntityBuilder<TEntity>
Returns
- EntityBuilder<TEntity>
Type Parameters
TEntity