Table of Contents

Class KEFCoreQueryExpression

Namespace
MASES.EntityFrameworkCore.KNet.Query.Internal
Assembly
MASES.EntityFrameworkCore.KNet.dll

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public class KEFCoreQueryExpression : Expression, IPrintableExpression
Inheritance
KEFCoreQueryExpression
Implements
Inherited Members

Constructors

KEFCoreQueryExpression(IEntityType)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public KEFCoreQueryExpression(IEntityType entityType)

Parameters

entityType IEntityType

Properties

CurrentParameter

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual ParameterExpression CurrentParameter { get; }

Property Value

ParameterExpression

NodeType

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public override sealed ExpressionType NodeType { get; }

Property Value

ExpressionType

ServerQueryExpression

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual Expression ServerQueryExpression { get; }

Property Value

Expression

Type

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public override Type Type { get; }

Property Value

Type

Methods

AddInnerJoin(KEFCoreQueryExpression, LambdaExpression, LambdaExpression, Expression, Expression)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual Expression AddInnerJoin(KEFCoreQueryExpression innerQueryExpression, LambdaExpression outerKeySelector, LambdaExpression innerKeySelector, Expression outerShaperExpression, Expression innerShaperExpression)

Parameters

innerQueryExpression KEFCoreQueryExpression
outerKeySelector LambdaExpression
innerKeySelector LambdaExpression
outerShaperExpression Expression
innerShaperExpression Expression

Returns

Expression

AddLeftJoin(KEFCoreQueryExpression, LambdaExpression, LambdaExpression, Expression, Expression)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual Expression AddLeftJoin(KEFCoreQueryExpression innerQueryExpression, LambdaExpression outerKeySelector, LambdaExpression innerKeySelector, Expression outerShaperExpression, Expression innerShaperExpression)

Parameters

innerQueryExpression KEFCoreQueryExpression
outerKeySelector LambdaExpression
innerKeySelector LambdaExpression
outerShaperExpression Expression
innerShaperExpression Expression

Returns

Expression

AddNavigationToWeakEntityType(EntityProjectionExpression, INavigation, KEFCoreQueryExpression, LambdaExpression, LambdaExpression)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual StructuralTypeShaperExpression AddNavigationToWeakEntityType(EntityProjectionExpression entityProjectionExpression, INavigation navigation, KEFCoreQueryExpression innerQueryExpression, LambdaExpression outerKeySelector, LambdaExpression innerKeySelector)

Parameters

entityProjectionExpression EntityProjectionExpression
navigation INavigation
innerQueryExpression KEFCoreQueryExpression
outerKeySelector LambdaExpression
innerKeySelector LambdaExpression

Returns

StructuralTypeShaperExpression

AddSelectMany(KEFCoreQueryExpression, Expression, Expression, bool)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual Expression AddSelectMany(KEFCoreQueryExpression innerQueryExpression, Expression outerShaperExpression, Expression innerShaperExpression, bool innerNullable)

Parameters

innerQueryExpression KEFCoreQueryExpression
outerShaperExpression Expression
innerShaperExpression Expression
innerNullable bool

Returns

Expression

ApplyDefaultIfEmpty()

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual void ApplyDefaultIfEmpty()

ApplyDistinct()

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual void ApplyDistinct()

ApplyGrouping(Expression, Expression, bool)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual GroupByShaperExpression ApplyGrouping(Expression groupingKey, Expression shaperExpression, bool defaultElementSelector)

Parameters

groupingKey Expression
shaperExpression Expression
defaultElementSelector bool

Returns

GroupByShaperExpression

ApplyProjection()

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual void ApplyProjection()

ApplySetOperation(MethodInfo, KEFCoreQueryExpression)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual void ApplySetOperation(MethodInfo setOperationMethodInfo, KEFCoreQueryExpression source2)

Parameters

setOperationMethodInfo MethodInfo
source2 KEFCoreQueryExpression

Clone(Expression)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual ShapedQueryExpression Clone(Expression shaperExpression)

Parameters

shaperExpression Expression

Returns

ShapedQueryExpression

ConvertToSingleResult(MethodInfo)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual void ConvertToSingleResult(MethodInfo methodInfo)

Parameters

methodInfo MethodInfo

GetProjectedProperties()

Collects the set of IProperty that this query's projection actually reads, so that it can be pushed down to the storage layer to skip deserialization of properties that aren't needed (see the projection push-down design). Must be called before ApplyProjection(): that method destructively rewrites MASES.EntityFrameworkCore.KNet.Query.Internal.KEFCoreQueryExpression._projectionMapping/MASES.EntityFrameworkCore.KNet.Query.Internal.KEFCoreQueryExpression._clientProjections into plain ValueBuffer indices, erasing the IProperty information this method relies on.

public virtual IReadOnlyList<IProperty>? GetProjectedProperties()

Returns

IReadOnlyList<IProperty>

The properties actually read by the projection, or null when no safe narrowing can be determined — e.g. when a projection element is bound to a whole EntityProjectionExpression (the query returns entire entities: .Select(x => x), context.Set<T>(), or an owned/complex sub-object still expressed as a full entity projection — all properties are genuinely needed), when a property can't be inferred from a projected expression (e.g. a computed expression, a bound complex-type projection, or any shape other than a direct property read), or when the query has no property-level shape to narrow at all (e.g. Count()/Any()). null means "use the full entity, no filtering" — the safe default whenever the projection shape isn't unambiguously recognized.

GetProjection(ProjectionBindingExpression)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual Expression GetProjection(ProjectionBindingExpression projectionBindingExpression)

Parameters

projectionBindingExpression ProjectionBindingExpression

Returns

Expression

GetSingleScalarProjection()

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual Expression GetSingleScalarProjection()

Returns

Expression

ReplaceProjection(IReadOnlyDictionary<ProjectionMember, Expression>)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual void ReplaceProjection(IReadOnlyDictionary<ProjectionMember, Expression> projectionMapping)

Parameters

projectionMapping IReadOnlyDictionary<ProjectionMember, Expression>

ReplaceProjection(IReadOnlyList<Expression>)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual void ReplaceProjection(IReadOnlyList<Expression> clientProjections)

Parameters

clientProjections IReadOnlyList<Expression>

UpdateServerQueryExpression(Expression)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual void UpdateServerQueryExpression(Expression serverQueryExpression)

Parameters

serverQueryExpression Expression