Interface IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>
Represents a base query relation builder to configure the query.
Inherited Members
Namespace: Venflow.Commands
Assembly: Venflow.dll
Syntax
public interface 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 SourceFullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)
Allows to configure materialized full joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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.
FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)
Allows to configure materialized full joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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.
FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)
Allows to configure materialized full joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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.
JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>, JoinBehaviour)
Allows to configure materialized joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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. |
JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>, JoinBehaviour)
Allows to configure materialized joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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. |
JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>, JoinBehaviour)
Allows to configure materialized joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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. |
LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)
Allows to configure materialized left joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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.
LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)
Allows to configure materialized left joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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.
LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)
Allows to configure materialized left joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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.
RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)
Allows to configure materialized right joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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.
RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)
Allows to configure materialized right joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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.
RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)
Allows to configure materialized right joins for the current query.
Declaration
IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)
where TToEntity : class, new()
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TRootEntity, 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.