DbExpressionBuilder.SelectMany Method (DbExpression, Func<DbExpression, DbExpression>)

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Creates a new DbApplyExpression that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A DbProjectExpression is then created that selects the apply column from each row, producing the overall collection of apply results.

Namespace:   System.Data.Common.CommandTrees.ExpressionBuilder
Assembly:  System.Data.Entity (in System.Data.Entity.dll)

public static DbProjectExpression SelectMany(
	this DbExpression source,
	Func<DbExpression, DbExpression> apply


Type: System.Data.Common.CommandTrees.DbExpression

A DbExpression that specifies the input set.

Type: System.Func<DbExpression, DbExpression>

A method that represents the logic to evaluate once for each member of the input set.

Return Value

Type: System.Data.Common.CommandTrees.DbProjectExpression

An new DbProjectExpression that selects the apply column from a new DbApplyExpression with the specified input and apply bindings and an DbExpressionKind of CrossApply.

Exception Condition

source or apply is null.


The expression produced by apply is null.


source does not have a collection result type.


The expression produced by apply does not have a collection type.

.NET Framework
Available since 4.5
Return to top