Interface IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>
Represents a query relation builder to configure the query.
Inherited Members
Namespace: Venflow.Commands
Assembly: Venflow.dll
Syntax
public interface IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> : IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>, IPreCommandBuilder<TRootEntity, TReturn>, IQueryCommandBuilder<TRootEntity, TReturn>, ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>> where TRelationEntity : class, new()
where TRootEntity : class, new()
where TReturn : class, new()
Type Parameters
Name | Description |
---|---|
TRelationEntity | The type of the entity which will be joined with. |
TRootEntity | The root type of the entity. |
TReturn | The return type of the query. |
Methods
| Improve this Doc View SourceThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)
Allows to configure materialized full joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, TToEntity>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
Remarks
You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.
ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)
Allows to configure materialized full joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, IList<TToEntity>>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
Remarks
You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.
ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)
Allows to configure materialized full joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, List<TToEntity>>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
Remarks
You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.
ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)
Allows to configure materialized left joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, TToEntity>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
Remarks
You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.
ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)
Allows to configure materialized left joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, IList<TToEntity>>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
Remarks
You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.
ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)
Allows to configure materialized left joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, List<TToEntity>>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
Remarks
You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.
ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)
Allows to configure materialized right joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, TToEntity>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
Remarks
You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.
ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)
Allows to configure materialized right joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, IList<TToEntity>>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
Remarks
You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.
ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)
Allows to configure materialized right joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, List<TToEntity>>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
Remarks
You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.
ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>, JoinBehaviour)
Allows to configure materialized joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, TToEntity>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
JoinBehaviour | joinBehaviour | Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>, JoinBehaviour)
Allows to configure materialized joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, IList<TToEntity>>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
JoinBehaviour | joinBehaviour | Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |
ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>, JoinBehaviour)
Allows to configure materialized joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRelationEntity, List<TToEntity>>> | propertySelector | A lambda expression representing the navigation property which should get joined on doing materialization. |
JoinBehaviour | joinBehaviour | Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. |
Returns
Type | Description |
---|---|
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> | An object that can be used to further configure the operation. |
Type Parameters
Name | Description |
---|---|
TToEntity | The type of the joined entity. |