Table of Contents

Class TvfJoinSourceExtensions

Namespace
NextORM.Core
Assembly
nextorm.core.dll

#320 (T320) lambda-source join overloads: the runtime table-valued-function descriptor is supplied as an expression (builder.Join(() => Db.MyTvf(42), (left, right) => ...)), so the factory call keeps its argument expressions and the source is lowered by the shared NextORM.Core.SourceExpressionLowerer instead of being resolved from entity metadata.

These are extension methods on purpose: an instance overload taking Expression<TDelegate> next to the existing Cte<T> overload would make an untyped Join(null, null) probe ambiguous (the existing call must keep binding to the CTE overload), while an extension is only considered when no instance overload applies. Calls that passed an entity/CTE/derived-query builder keep binding to the instance methods unchanged.

The factory must return TvfEntityBuilder<T> for the same row type, and its metadata must not depend on the argument values. A captured descriptor or any other shape without the original call expression is rejected with NotSupportedException (lost provenance).

public static class TvfJoinSourceExtensions
Inheritance
TvfJoinSourceExtensions
Inherited Members

Methods

CrossApply<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>)

Adds a CROSS APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> CrossApply<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossApply<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>)

Adds a CROSS APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<TEntity, TJoinEntity> CrossApply<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossApply<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>)

Adds a CROSS APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3> CrossApply<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossApply<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>)

Adds a CROSS APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4> CrossApply<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossApply<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>)

Adds a CROSS APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> CrossApply<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossApply<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>)

Adds a CROSS APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> CrossApply<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossApply<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>)

Adds a CROSS APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossApply<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossApply<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>)

Adds a CROSS APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> CrossApply<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossJoin<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>)

Adds a CROSS JOIN over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> CrossJoin<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>)

Adds a CROSS JOIN over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<TEntity, TJoinEntity> CrossJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossJoin<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>)

Adds a CROSS JOIN over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3> CrossJoin<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossJoin<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>)

Adds a CROSS JOIN over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4> CrossJoin<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossJoin<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>)

Adds a CROSS JOIN over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> CrossJoin<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossJoin<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>)

Adds a CROSS JOIN over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> CrossJoin<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossJoin<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>)

Adds a CROSS JOIN over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> CrossJoin<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

CrossJoin<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>)

Adds a CROSS JOIN over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> CrossJoin<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TableAlias, TJoinEntity, bool>>)

Adds a FULL JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> FullJoin<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TableAlias, TJoinEntity, bool>> joinCondition)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TableAlias, TJoinEntity, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TableAlias, TJoinEntity, bool>>, Action<JoinOptions>)

Adds a FULL JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> FullJoin<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TableAlias, TJoinEntity, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TableAlias, TJoinEntity, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TEntity, TJoinEntity, bool>>)

Adds a FULL JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<TEntity, TJoinEntity> FullJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TEntity, TJoinEntity, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TEntity, TJoinEntity, bool>>, Action<JoinOptions>)

Adds a FULL JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<TEntity, TJoinEntity> FullJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TEntity, TJoinEntity, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>, Expression<Func<Projection<T1, T2>, T3, bool>>)

Adds a FULL JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3> FullJoin<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source, Expression<Func<Projection<T1, T2>, T3, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2>, T3, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>, Expression<Func<Projection<T1, T2>, T3, bool>>, Action<JoinOptions>)

Adds a FULL JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3> FullJoin<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source, Expression<Func<Projection<T1, T2>, T3, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2>, T3, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>, Expression<Func<Projection<T1, T2, T3>, T4, bool>>)

Adds a FULL JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4> FullJoin<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source, Expression<Func<Projection<T1, T2, T3>, T4, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3>, T4, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>, Expression<Func<Projection<T1, T2, T3>, T4, bool>>, Action<JoinOptions>)

Adds a FULL JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4> FullJoin<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source, Expression<Func<Projection<T1, T2, T3>, T4, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3>, T4, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>)

Adds a FULL JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> FullJoin<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>, Action<JoinOptions>)

Adds a FULL JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> FullJoin<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>)

Adds a FULL JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> FullJoin<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>, Action<JoinOptions>)

Adds a FULL JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> FullJoin<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>)

Adds a FULL JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> FullJoin<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>

The join predicate over the two sources.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>)

Adds a FULL JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> FullJoin<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>)

Adds a FULL JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> FullJoin<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>

The join predicate over the two sources.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

FullJoin<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>, Action<JoinOptions>)

Adds a FULL JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> FullJoin<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TableAlias, TJoinEntity, bool>>)

Adds a INNER JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> Join<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TableAlias, TJoinEntity, bool>> joinCondition)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TableAlias, TJoinEntity, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TableAlias, TJoinEntity, bool>>, Action<JoinOptions>)

Adds a INNER JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> Join<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TableAlias, TJoinEntity, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TableAlias, TJoinEntity, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TEntity, TJoinEntity, bool>>)

Adds a INNER JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<TEntity, TJoinEntity> Join<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TEntity, TJoinEntity, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TEntity, TJoinEntity, bool>>, Action<JoinOptions>)

Adds a INNER JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<TEntity, TJoinEntity> Join<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TEntity, TJoinEntity, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>, Expression<Func<Projection<T1, T2>, T3, bool>>)

Adds a INNER JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3> Join<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source, Expression<Func<Projection<T1, T2>, T3, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2>, T3, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>, Expression<Func<Projection<T1, T2>, T3, bool>>, Action<JoinOptions>)

Adds a INNER JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3> Join<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source, Expression<Func<Projection<T1, T2>, T3, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2>, T3, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>, Expression<Func<Projection<T1, T2, T3>, T4, bool>>)

Adds a INNER JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4> Join<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source, Expression<Func<Projection<T1, T2, T3>, T4, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3>, T4, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>, Expression<Func<Projection<T1, T2, T3>, T4, bool>>, Action<JoinOptions>)

Adds a INNER JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4> Join<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source, Expression<Func<Projection<T1, T2, T3>, T4, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3>, T4, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>)

Adds a INNER JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> Join<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>, Action<JoinOptions>)

Adds a INNER JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> Join<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>)

Adds a INNER JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> Join<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>, Action<JoinOptions>)

Adds a INNER JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> Join<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>)

Adds a INNER JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> Join<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>

The join predicate over the two sources.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>)

Adds a INNER JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> Join<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>)

Adds a INNER JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> Join<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>

The join predicate over the two sources.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

Join<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>, Action<JoinOptions>)

Adds a INNER JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> Join<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TableAlias, TJoinEntity, bool>>)

Adds a LEFT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> LeftJoin<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TableAlias, TJoinEntity, bool>> joinCondition)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TableAlias, TJoinEntity, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TableAlias, TJoinEntity, bool>>, Action<JoinOptions>)

Adds a LEFT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> LeftJoin<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TableAlias, TJoinEntity, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TableAlias, TJoinEntity, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TEntity, TJoinEntity, bool>>)

Adds a LEFT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<TEntity, TJoinEntity> LeftJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TEntity, TJoinEntity, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TEntity, TJoinEntity, bool>>, Action<JoinOptions>)

Adds a LEFT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<TEntity, TJoinEntity> LeftJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TEntity, TJoinEntity, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>, Expression<Func<Projection<T1, T2>, T3, bool>>)

Adds a LEFT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3> LeftJoin<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source, Expression<Func<Projection<T1, T2>, T3, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2>, T3, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>, Expression<Func<Projection<T1, T2>, T3, bool>>, Action<JoinOptions>)

Adds a LEFT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3> LeftJoin<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source, Expression<Func<Projection<T1, T2>, T3, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2>, T3, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>, Expression<Func<Projection<T1, T2, T3>, T4, bool>>)

Adds a LEFT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4> LeftJoin<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source, Expression<Func<Projection<T1, T2, T3>, T4, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3>, T4, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>, Expression<Func<Projection<T1, T2, T3>, T4, bool>>, Action<JoinOptions>)

Adds a LEFT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4> LeftJoin<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source, Expression<Func<Projection<T1, T2, T3>, T4, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3>, T4, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>)

Adds a LEFT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> LeftJoin<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>, Action<JoinOptions>)

Adds a LEFT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> LeftJoin<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>)

Adds a LEFT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> LeftJoin<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>, Action<JoinOptions>)

Adds a LEFT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> LeftJoin<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>)

Adds a LEFT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> LeftJoin<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>

The join predicate over the two sources.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>)

Adds a LEFT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> LeftJoin<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>)

Adds a LEFT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> LeftJoin<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>

The join predicate over the two sources.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

LeftJoin<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>, Action<JoinOptions>)

Adds a LEFT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> LeftJoin<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

OuterApply<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>)

Adds a OUTER APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> OuterApply<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

OuterApply<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>)

Adds a OUTER APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<TEntity, TJoinEntity> OuterApply<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

OuterApply<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>)

Adds a OUTER APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3> OuterApply<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

OuterApply<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>)

Adds a OUTER APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4> OuterApply<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

OuterApply<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>)

Adds a OUTER APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> OuterApply<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

OuterApply<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>)

Adds a OUTER APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> OuterApply<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

OuterApply<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>)

Adds a OUTER APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> OuterApply<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

OuterApply<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>)

Adds a OUTER APPLY over a runtime table-valued-function source supplied as an expression; there is no ON condition.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> OuterApply<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder or source is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TableAlias, TJoinEntity, bool>>)

Adds a RIGHT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> RightJoin<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TableAlias, TJoinEntity, bool>> joinCondition)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TableAlias, TJoinEntity, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<TJoinEntity>(EntityBuilder, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TableAlias, TJoinEntity, bool>>, Action<JoinOptions>)

Adds a RIGHT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<TableAlias, TJoinEntity> RightJoin<TJoinEntity>(this EntityBuilder builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TableAlias, TJoinEntity, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder EntityBuilder

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TableAlias, TJoinEntity, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<TableAlias, TJoinEntity>

A builder over the joined projection.

Type Parameters

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TEntity, TJoinEntity, bool>>)

Adds a RIGHT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<TEntity, TJoinEntity> RightJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TEntity, TJoinEntity, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<TEntity, TJoinEntity>(EntityBuilder<TEntity>, Expression<Func<EntityBuilder<TJoinEntity>>>, Expression<Func<TEntity, TJoinEntity, bool>>, Action<JoinOptions>)

Adds a RIGHT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<TEntity, TJoinEntity> RightJoin<TEntity, TJoinEntity>(this EntityBuilder<TEntity> builder, Expression<Func<EntityBuilder<TJoinEntity>>> source, Expression<Func<TEntity, TJoinEntity, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder EntityBuilder<TEntity>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<TJoinEntity>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<TEntity, TJoinEntity, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<TEntity, TJoinEntity>

A builder over the joined projection.

Type Parameters

TEntity

The projection type of the receiver.

TJoinEntity

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>, Expression<Func<Projection<T1, T2>, T3, bool>>)

Adds a RIGHT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3> RightJoin<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source, Expression<Func<Projection<T1, T2>, T3, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2>, T3, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3>(JoinedEntityBuilder<T1, T2>, Expression<Func<EntityBuilder<T3>>>, Expression<Func<Projection<T1, T2>, T3, bool>>, Action<JoinOptions>)

Adds a RIGHT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3> RightJoin<T1, T2, T3>(this JoinedEntityBuilder<T1, T2> builder, Expression<Func<EntityBuilder<T3>>> source, Expression<Func<Projection<T1, T2>, T3, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T3>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2>, T3, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>, Expression<Func<Projection<T1, T2, T3>, T4, bool>>)

Adds a RIGHT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4> RightJoin<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source, Expression<Func<Projection<T1, T2, T3>, T4, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3>, T4, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3, T4>(JoinedEntityBuilder<T1, T2, T3>, Expression<Func<EntityBuilder<T4>>>, Expression<Func<Projection<T1, T2, T3>, T4, bool>>, Action<JoinOptions>)

Adds a RIGHT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4> RightJoin<T1, T2, T3, T4>(this JoinedEntityBuilder<T1, T2, T3> builder, Expression<Func<EntityBuilder<T4>>> source, Expression<Func<Projection<T1, T2, T3>, T4, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T4>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3>, T4, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>)

Adds a RIGHT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> RightJoin<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3, T4, T5>(JoinedEntityBuilder<T1, T2, T3, T4>, Expression<Func<EntityBuilder<T5>>>, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>, Action<JoinOptions>)

Adds a RIGHT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5> RightJoin<T1, T2, T3, T4, T5>(this JoinedEntityBuilder<T1, T2, T3, T4> builder, Expression<Func<EntityBuilder<T5>>> source, Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T5>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4>, T5, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>)

Adds a RIGHT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> RightJoin<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>

The join predicate over the two sources.

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3, T4, T5, T6>(JoinedEntityBuilder<T1, T2, T3, T4, T5>, Expression<Func<EntityBuilder<T6>>>, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>, Action<JoinOptions>)

Adds a RIGHT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> RightJoin<T1, T2, T3, T4, T5, T6>(this JoinedEntityBuilder<T1, T2, T3, T4, T5> builder, Expression<Func<EntityBuilder<T6>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T6>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5>, T6, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>)

Adds a RIGHT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> RightJoin<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>

The join predicate over the two sources.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3, T4, T5, T6, T7>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>, Expression<Func<EntityBuilder<T7>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>, Action<JoinOptions>)

Adds a RIGHT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> RightJoin<T1, T2, T3, T4, T5, T6, T7>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6> builder, Expression<Func<EntityBuilder<T7>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T7>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6>, T7, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>)

Adds a RIGHT JOIN over a runtime table-valued-function source supplied as an expression.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> RightJoin<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>> joinCondition)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>

The join predicate over the two sources.

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

builder, source or joinCondition is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.

RightJoin<T1, T2, T3, T4, T5, T6, T7, T8>(JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>, Expression<Func<EntityBuilder<T8>>>, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>, Action<JoinOptions>)

Adds a RIGHT JOIN over a runtime table-valued-function source with per-join configuration.

public static JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7, T8> RightJoin<T1, T2, T3, T4, T5, T6, T7, T8>(this JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7> builder, Expression<Func<EntityBuilder<T8>>> source, Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>> joinCondition, Action<JoinOptions> configure)

Parameters

builder JoinedEntityBuilder<T1, T2, T3, T4, T5, T6, T7>

The builder whose join chain is extended.

source Expression<Func<EntityBuilder<T8>>>

The expression that calls the runtime factory.

joinCondition Expression<Func<Projection<T1, T2, T3, T4, T5, T6, T7>, T8, bool>>

The join predicate over the two sources.

configure Action<JoinOptions>

Per-join configuration, for example j => j.WithJoinHint("loop").

Returns

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

A builder over the joined projection.

Type Parameters

T1

A projection element type of the receiver.

T2

A projection element type of the receiver.

T3

A projection element type of the receiver.

T4

A projection element type of the receiver.

T5

A projection element type of the receiver.

T6

A projection element type of the receiver.

T7

A projection element type of the receiver.

T8

The mapped row type the function returns.

Exceptions

ArgumentNullException

A required argument is null.

NotSupportedException

The expression is not a direct runtime-factory call or lost its argument provenance.