Class JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>
Join builder over a six-table projection.
public class JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> : EntityBuilder<Projection<T1, T2, T3, T4, T5, T6>>, ICloneable
Type Parameters
T1T2T3T4T5T6
- Inheritance
-
EntityBuilder<Projection<T1, T2, T3, T4, T5, T6>>JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>
- Implements
- Inherited Members
- Extension Methods
Constructors
JoinedEntityBuilder(IDataContext)
Initializes a builder over the accumulated projection of the previously joined entities.
public JoinedEntityBuilder(IDataContext dataProvider)
Parameters
dataProviderIDataContextThe data context used to resolve tables and generate SQL.
Methods
Clone()
Creates an independent copy of this builder over the same projection.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> Clone()
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>
CloneImp()
Creates the copy returned by Clone() and the explicit ICloneable.Clone call.
Overridden by derived builders to clone their extra state.
protected override object CloneImp()
Returns
- object
A new builder with the same state.
CrossApply(string, Action<JoinOptions>?)
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias> CrossApply(string table, Action<JoinOptions>? options = null)
Parameters
tablestringoptionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias>
Remarks
A null, empty, or whitespace-only table is rejected at the call site with ArgumentNullException / ArgumentException (ParamName == "table"), matching the explicit ctx.From(table) form.
CrossApply<T7>(Cte<T7>)
Adds a cross apply over the typed CTE cte.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossApply<T7>(Cte<T7> cte)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
CrossApply<T7>(Cte<T7>, Action<JoinOptions>?)
Adds a cross apply over the typed CTE cte with per-join options.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossApply<T7>(Cte<T7> cte, Action<JoinOptions>? options)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
optionsAction<JoinOptions>Per-join configuration.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
CrossApply<T7>(EntityBuilder<T7>, Action<JoinOptions>?)
Adds a CROSS APPLY over T7, evaluating the joined table once per left-hand row; rows with no match are dropped.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossApply<T7>(EntityBuilder<T7> _, Action<JoinOptions>? options = null)
Parameters
_EntityBuilder<T7>The builder identifying the table to join; only its table metadata is used, not its query state.
optionsAction<JoinOptions>Optional per-join configuration; a cross join rejects every modifier at render time, while an APPLY folds a join hint into the statement-level hint comment on inline-hint dialects.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
CrossApply<T7>(Action<JoinOptions>?)
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossApply<T7>(Action<JoinOptions>? options = null)
Parameters
optionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
Type Parameters
T7
CrossApply<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, EntityBuilder<T7>>>, Action<JoinOptions>?)
Applies a correlated CROSS APPLY source per left-hand row of this 6-source join, adding it as one more flat slot.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossApply<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, EntityBuilder<T7>>> source, Action<JoinOptions>? options = null)
Parameters
sourceExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, EntityBuilder<T7>>>Builds the applied source from the flattened left-hand row; it may reference every preceding slot.
optionsAction<JoinOptions>Optional per-apply configuration (strictness, global, join/table hints, source lock).
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the flat 7-slot projection; no nested projection is produced.
Type Parameters
T7The element type yielded by the applied source.
CrossApply<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, QueryCommand<T7>>>, Action<JoinOptions>?)
Applies a correlated CROSS APPLY derived query per left-hand row of this 6-source join, adding it as one more flat slot.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossApply<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, QueryCommand<T7>>> source, Action<JoinOptions>? options = null)
Parameters
sourceExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, QueryCommand<T7>>>Builds the applied source from the flattened left-hand row; it may reference every preceding slot.
optionsAction<JoinOptions>Optional per-apply configuration (strictness, global, join/table hints, source lock).
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the flat 7-slot projection; no nested projection is produced.
Type Parameters
T7The element type yielded by the applied source.
CrossJoin(string, Action<JoinOptions>?)
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias> CrossJoin(string table, Action<JoinOptions>? options = null)
Parameters
tablestringoptionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias>
Remarks
A null, empty, or whitespace-only table is rejected at the call site with ArgumentNullException / ArgumentException (ParamName == "table"), matching the explicit ctx.From(table) form.
CrossJoin<T7>(Cte<T7>)
Adds a cross join over the typed CTE cte.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossJoin<T7>(Cte<T7> cte)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
CrossJoin<T7>(Cte<T7>, Action<JoinOptions>?)
Adds a cross join over the typed CTE cte with per-join options.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossJoin<T7>(Cte<T7> cte, Action<JoinOptions>? options)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
optionsAction<JoinOptions>Per-join configuration.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
CrossJoin<T7>(EntityBuilder<T7>, Action<JoinOptions>?)
Adds a CROSS JOIN over T7, producing the Cartesian product without a join condition.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossJoin<T7>(EntityBuilder<T7> _, Action<JoinOptions>? options = null)
Parameters
_EntityBuilder<T7>The builder identifying the table to join; only its table metadata is used, not its query state.
optionsAction<JoinOptions>Optional per-join configuration; a cross join rejects every modifier at render time, while an APPLY folds a join hint into the statement-level hint comment on inline-hint dialects.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
CrossJoin<T7>(Action<JoinOptions>?)
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossJoin<T7>(Action<JoinOptions>? options = null)
Parameters
optionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
Type Parameters
T7
FullJoin(string, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>>, Action<JoinOptions>?)
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias> FullJoin(string table, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
tablestringjoinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>>optionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias>
Remarks
A null, empty, or whitespace-only table is rejected at the call site with ArgumentNullException / ArgumentException (ParamName == "table"), matching the explicit ctx.From(table) form.
FullJoin<T7>(Cte<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>)
Adds a full outer join over the typed CTE cte.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> FullJoin<T7>(Cte<T7> cte, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
FullJoin<T7>(Cte<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds a full outer join over the typed CTE cte with per-join options.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> FullJoin<T7>(Cte<T7> cte, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Per-join configuration.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
FullJoin<T7>(EntityBuilder<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds a FULL JOIN over T7; rows from both sides are kept, with null on the missing side.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> FullJoin<T7>(EntityBuilder<T7> _, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
_EntityBuilder<T7>The builder identifying the table to join; only its table metadata is used, not its query state.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Optional per-join configuration, for example
j => j.Global()orj => j.WithStrictness(JoinStrictness.Any).
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
FullJoin<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds a FULL JOIN over T7 without an explicit source; T7 is resolved through this builder's context (From<T7>()) and forwarded to the source-explicit overload.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> FullJoin<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Optional per-join configuration; forwarded unchanged to the source-explicit overload.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
Exceptions
- ArgumentNullException
joinConditionis null.
Join(string, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>>, Action<JoinOptions>?)
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias> Join(string table, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
tablestringjoinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>>optionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias>
Remarks
A null, empty, or whitespace-only table is rejected at the call site with ArgumentNullException / ArgumentException (ParamName == "table"), matching the explicit ctx.From(table) form.
Join<T7>(Cte<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>)
Adds a inner join over the typed CTE cte.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> Join<T7>(Cte<T7> cte, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
Join<T7>(Cte<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds a inner join over the typed CTE cte with per-join options.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> Join<T7>(Cte<T7> cte, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Per-join configuration.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
Join<T7>(EntityBuilder<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds an INNER JOIN over T7; rows with no match on the right are excluded.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> Join<T7>(EntityBuilder<T7> _, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
_EntityBuilder<T7>The builder identifying the table to join; only its table metadata is used, not its query state.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Optional per-join configuration, for example
j => j.Global()orj => j.WithStrictness(JoinStrictness.Any).
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
Join<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds an INNER JOIN over T7 without an explicit source; T7 is resolved through this builder's context (From<T7>()) and forwarded to the source-explicit overload.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> Join<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Optional per-join configuration; forwarded unchanged to the source-explicit overload.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
Exceptions
- ArgumentNullException
joinConditionis null.
LeftJoin(string, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>>, Action<JoinOptions>?)
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias> LeftJoin(string table, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
tablestringjoinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>>optionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias>
Remarks
A null, empty, or whitespace-only table is rejected at the call site with ArgumentNullException / ArgumentException (ParamName == "table"), matching the explicit ctx.From(table) form.
LeftJoin<T7>(Cte<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>)
Adds a left outer join over the typed CTE cte.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> LeftJoin<T7>(Cte<T7> cte, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
LeftJoin<T7>(Cte<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds a left outer join over the typed CTE cte with per-join options.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> LeftJoin<T7>(Cte<T7> cte, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Per-join configuration.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
LeftJoin<T7>(EntityBuilder<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds a LEFT JOIN over T7; unmatched left-hand rows are kept with null values on the right.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> LeftJoin<T7>(EntityBuilder<T7> _, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
_EntityBuilder<T7>The builder identifying the table to join; only its table metadata is used, not its query state.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Optional per-join configuration, for example
j => j.Global()orj => j.WithStrictness(JoinStrictness.Any).
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
LeftJoin<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds a LEFT JOIN over T7 without an explicit source; T7 is resolved through this builder's context (From<T7>()) and forwarded to the source-explicit overload.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> LeftJoin<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Optional per-join configuration; forwarded unchanged to the source-explicit overload.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
Exceptions
- ArgumentNullException
joinConditionis null.
OuterApply(string, Action<JoinOptions>?)
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias> OuterApply(string table, Action<JoinOptions>? options = null)
Parameters
tablestringoptionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias>
Remarks
A null, empty, or whitespace-only table is rejected at the call site with ArgumentNullException / ArgumentException (ParamName == "table"), matching the explicit ctx.From(table) form.
OuterApply<T7>(Cte<T7>)
Adds a outer apply over the typed CTE cte.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> OuterApply<T7>(Cte<T7> cte)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
OuterApply<T7>(Cte<T7>, Action<JoinOptions>?)
Adds a outer apply over the typed CTE cte with per-join options.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> OuterApply<T7>(Cte<T7> cte, Action<JoinOptions>? options)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
optionsAction<JoinOptions>Per-join configuration.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
OuterApply<T7>(EntityBuilder<T7>, Action<JoinOptions>?)
Adds an OUTER APPLY over T7, evaluating the joined table once per left-hand row; unmatched left rows are kept.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> OuterApply<T7>(EntityBuilder<T7> _, Action<JoinOptions>? options = null)
Parameters
_EntityBuilder<T7>The builder identifying the table to join; only its table metadata is used, not its query state.
optionsAction<JoinOptions>Optional per-join configuration; a cross join rejects every modifier at render time, while an APPLY folds a join hint into the statement-level hint comment on inline-hint dialects.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
OuterApply<T7>(Action<JoinOptions>?)
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> OuterApply<T7>(Action<JoinOptions>? options = null)
Parameters
optionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
Type Parameters
T7
OuterApply<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, EntityBuilder<T7>>>, Action<JoinOptions>?)
Applies a correlated OUTER APPLY source per left-hand row, keeping unmatched left rows of this 6-source join, adding it as one more flat slot.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> OuterApply<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, EntityBuilder<T7>>> source, Action<JoinOptions>? options = null)
Parameters
sourceExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, EntityBuilder<T7>>>Builds the applied source from the flattened left-hand row; it may reference every preceding slot.
optionsAction<JoinOptions>Optional per-apply configuration (strictness, global, join/table hints, source lock).
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the flat 7-slot projection; no nested projection is produced.
Type Parameters
T7The element type yielded by the applied source.
OuterApply<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, QueryCommand<T7>>>, Action<JoinOptions>?)
Applies a correlated OUTER APPLY derived query per left-hand row of this 6-source join, adding it as one more flat slot.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> OuterApply<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, QueryCommand<T7>>> source, Action<JoinOptions>? options = null)
Parameters
sourceExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, QueryCommand<T7>>>Builds the applied source from the flattened left-hand row; it may reference every preceding slot.
optionsAction<JoinOptions>Optional per-apply configuration (strictness, global, join/table hints, source lock).
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the flat 7-slot projection; no nested projection is produced.
Type Parameters
T7The element type yielded by the applied source.
RightJoin(string, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>>, Action<JoinOptions>?)
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias> RightJoin(string table, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
tablestringjoinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, TableAlias, bool>>optionsAction<JoinOptions>
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, TableAlias>
Remarks
A null, empty, or whitespace-only table is rejected at the call site with ArgumentNullException / ArgumentException (ParamName == "table"), matching the explicit ctx.From(table) form.
RightJoin<T7>(Cte<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>)
Adds a right outer join over the typed CTE cte.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> RightJoin<T7>(Cte<T7> cte, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
RightJoin<T7>(Cte<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds a right outer join over the typed CTE cte with per-join options.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> RightJoin<T7>(Cte<T7> cte, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options)
Parameters
cteCte<T7>The CTE descriptor, converted with this builder's context.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Per-join configuration.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with the CTE's type.
Type Parameters
T7The CTE's projection type.
Exceptions
- ArgumentNullException
A required reference argument is null.
RightJoin<T7>(EntityBuilder<T7>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds a RIGHT JOIN over T7; unmatched right-hand rows are kept with null values on the left.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> RightJoin<T7>(EntityBuilder<T7> _, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
_EntityBuilder<T7>The builder identifying the table to join; only its table metadata is used, not its query state.
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Optional per-join configuration, for example
j => j.Global()orj => j.WithStrictness(JoinStrictness.Any).
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
RightJoin<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>?)
Adds a RIGHT JOIN over T7 without an explicit source; T7 is resolved through this builder's context (From<T7>()) and forwarded to the source-explicit overload.
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> RightJoin<T7>(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions>? options = null)
Parameters
joinConditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>A predicate relating the current projection to the joined entity.
optionsAction<JoinOptions>Optional per-join configuration; forwarded unchanged to the source-explicit overload.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>
A builder over the projection extended with
T7.
Type Parameters
T7The entity type of the joined table.
Exceptions
- ArgumentNullException
joinConditionis null.
Where(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, bool>>)
Adds a WHERE condition while keeping the joined builder type, so the chain can end in a multi-table Delete().
public JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> Where(Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, bool>> condition)
Parameters
conditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6>, bool>>The predicate each row must satisfy.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>
This builder, for chaining.