Table of Contents

Class JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8>

Namespace
NextORM.Core
Assembly
nextorm.core.dll

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

T1
T2
T3
T4
T5
T6
T7
T8
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

dataProvider IDataContext

The 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

condition Expression<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.