Class JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8>
Terminal join builder for the maximum supported join arity, eight tables (T1..Item8).
It declares no further Join/LeftJoin/RightJoin/FullJoin/CrossJoin
methods and its projection
(Projection<T1, T2, T3, T4, T5, T6, T7, T8>) is not IExtendableProjection,
so the flat typed arity chain stops at eight. That is a scope bound, not a compile-time rejection:
the inherited generic-base EntityBuilder<Projection<T1..T8>> members still compile, so a
further source-less (and a further source-explicit) join is reachable, wrapping the accumulated
eight-table projection as Item1.
public class JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> : EntityBuilder<Projection<T1, T2, T3, T4, T5, T6, T7, T8>>, ICloneable
Type Parameters
T1T2T3T4T5T6T7T8
- Inheritance
-
EntityBuilder<Projection<T1, T2, T3, T4, T5, T6, T7, T8>>JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8>
- 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, T7, T8> Clone()
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8>
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.
Where(Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7, T8>, 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, T7, T8> Where(Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7, T8>, bool>> condition)
Parameters
conditionExpression<Func<Projection<T1, T2, T3, T4, T5, T6, T7, T8>, bool>>The predicate each row must satisfy.
Returns
- JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8>
This builder, for chaining.