Table of Contents

Class RelationalGroupByResultExpression

Namespace
Microsoft.EntityFrameworkCore.Query
Assembly
Microsoft.EntityFrameworkCore.Relational.dll

An expression that represents creation of a grouping for relational provider in Microsoft.EntityFrameworkCore.Query.ShapedQueryExpression.ShaperExpression.

This type is typically used by database providers (and other extensions). It is generally not used in application code.

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

Constructors

RelationalGroupByResultExpression(Expression, IReadOnlyList<ValueComparer>, Expression, Expression)

Creates a new instance of the RelationalGroupByResultExpression class.

public RelationalGroupByResultExpression(Expression keyIdentifier, IReadOnlyList<ValueComparer> keyIdentifierValueComparers, Expression keyShaper, Expression elementShaper)

Parameters

keyIdentifier Expression

An identifier for the parent element.

keyIdentifierValueComparers IReadOnlyList<ValueComparer>

A list of value comparers to compare parent identifier.

keyShaper Expression

An expression used to create individual elements of the collection.

elementShaper Expression

An expression used to create individual elements of the collection.

Properties

ElementShaper

The expression to create elements in the group.

public virtual Expression ElementShaper { get; }

Property Value

Expression

KeyIdentifier

The identifier for the grouping key.

public virtual Expression KeyIdentifier { get; }

Property Value

Expression

KeyIdentifierValueComparers

The list of value comparers to compare key identifier.

public virtual IReadOnlyList<ValueComparer> KeyIdentifierValueComparers { get; }

Property Value

IReadOnlyList<ValueComparer>

KeyShaper

The expression to create the grouping key.

public virtual Expression KeyShaper { get; }

Property Value

Expression

NodeType

public override sealed ExpressionType NodeType { get; }

Property Value

ExpressionType

Type

public override Type Type { get; }

Property Value

Type

Methods

Update(Expression, Expression, Expression)

Creates a new expression that is like this one, but using the supplied children. If all of the children are the same, it will return this expression.

public virtual RelationalGroupByResultExpression Update(Expression keyIdentifier, Expression keyShaper, Expression elementShaper)

Parameters

keyIdentifier Expression

The KeyIdentifier property of the result.

keyShaper Expression

The KeyShaper property of the result.

elementShaper Expression

The ElementShaper property of the result.

Returns

RelationalGroupByResultExpression

This expression if no children changed, or an expression with the updated children.

VisitChildren(ExpressionVisitor)

protected override Expression VisitChildren(ExpressionVisitor visitor)

Parameters

visitor ExpressionVisitor

Returns

Expression