Table of Contents

Class Expressions

Namespace
LinqToDB.Linq
Assembly
linq2db.dll
public static class Expressions
Inheritance
object
Expressions

Methods

ConvertBinary(MappingSchema, BinaryExpression)

Searches for registered BinaryExpression mapping and returns LambdaExpression which has to replace this expression.

public static LambdaExpression? ConvertBinary(MappingSchema mappingSchema, BinaryExpression binaryExpression)

Parameters

mappingSchema MappingSchema

Current mapping schema.

binaryExpression BinaryExpression

Expression which has to be replaced.

Returns

LambdaExpression

Returns registered LambdaExpression or null.

ConvertMember(MappingSchema, Type?, MemberInfo)

public static LambdaExpression? ConvertMember(MappingSchema mappingSchema, Type? objectType, MemberInfo mi)

Parameters

mappingSchema MappingSchema
objectType Type
mi MemberInfo

Returns

LambdaExpression

L<TR>(Expression<Func<TR>>)

public static LambdaExpression L<TR>(Expression<Func<TR>> func)

Parameters

func Expression<Func<TR>>

Returns

LambdaExpression

Type Parameters

TR

L<T1, TR>(Expression<Func<T1, TR>>)

public static LambdaExpression L<T1, TR>(Expression<Func<T1, TR>> func)

Parameters

func Expression<Func<T1, TR>>

Returns

LambdaExpression

Type Parameters

T1
TR

L<T1, T2, TR>(Expression<Func<T1, T2, TR>>)

public static LambdaExpression L<T1, T2, TR>(Expression<Func<T1, T2, TR>> func)

Parameters

func Expression<Func<T1, T2, TR>>

Returns

LambdaExpression

Type Parameters

T1
T2
TR

L<T1, T2, T3, TR>(Expression<Func<T1, T2, T3, TR>>)

public static LambdaExpression L<T1, T2, T3, TR>(Expression<Func<T1, T2, T3, TR>> func)

Parameters

func Expression<Func<T1, T2, T3, TR>>

Returns

LambdaExpression

Type Parameters

T1
T2
T3
TR

L<T1, T2, T3, T4, TR>(Expression<Func<T1, T2, T3, T4, TR>>)

public static LambdaExpression L<T1, T2, T3, T4, TR>(Expression<Func<T1, T2, T3, T4, TR>> func)

Parameters

func Expression<Func<T1, T2, T3, T4, TR>>

Returns

LambdaExpression

Type Parameters

T1
T2
T3
T4
TR

L<T1, T2, T3, T4, T5, TR>(Expression<Func<T1, T2, T3, T4, T5, TR>>)

public static LambdaExpression L<T1, T2, T3, T4, T5, TR>(Expression<Func<T1, T2, T3, T4, T5, TR>> func)

Parameters

func Expression<Func<T1, T2, T3, T4, T5, TR>>

Returns

LambdaExpression

Type Parameters

T1
T2
T3
T4
T5
TR

L<T1, T2, T3, T4, T5, T6, TR>(Expression<Func<T1, T2, T3, T4, T5, T6, TR>>)

public static LambdaExpression L<T1, T2, T3, T4, T5, T6, TR>(Expression<Func<T1, T2, T3, T4, T5, T6, TR>> func)

Parameters

func Expression<Func<T1, T2, T3, T4, T5, T6, TR>>

Returns

LambdaExpression

Type Parameters

T1
T2
T3
T4
T5
T6
TR

M<T>(Expression<Func<T, object?>>)

public static MemberHelper.MemberInfoWithType M<T>(Expression<Func<T, object?>> func)

Parameters

func Expression<Func<T, object>>

Returns

MemberHelper.MemberInfoWithType

Type Parameters

T

M<T>(Expression<Func<T>>)

public static MemberHelper.MemberInfoWithType M<T>(Expression<Func<T>> func)

Parameters

func Expression<Func<T>>

Returns

MemberHelper.MemberInfoWithType

Type Parameters

T

MapBinary(ExpressionType, Type, Type, LambdaExpression)

Maps specific BinaryExpression to another LambdaExpression during SQL generation.

public static void MapBinary(ExpressionType nodeType, Type leftType, Type rightType, LambdaExpression expression)

Parameters

nodeType ExpressionType

NodeType of BinaryExpression ExpressionType which needs mapping.

leftType Type

Exact type of Left member.

rightType Type

Exact type of Right member.

expression LambdaExpression

Lambda expression which has to replace BinaryExpression.

Remarks

Registration is thread-safe; for predictable results configure mappings during application initialization, before queries are executed.

MapBinary(string, ExpressionType, Type, Type, LambdaExpression)

Maps specific BinaryExpression to another Lambda expression during SQL generation.

public static void MapBinary(string providerName, ExpressionType nodeType, Type leftType, Type rightType, LambdaExpression expression)

Parameters

providerName string

Name of database provider to use with this connection. ProviderName class for list of providers.

nodeType ExpressionType

NodeType of BinaryExpression ExpressionType which needs mapping.

leftType Type

Exact type of Left member.

rightType Type

Exact type of Right member.

expression LambdaExpression

Lambda expression which has to replace BinaryExpression

Remarks

Registration is thread-safe; for predictable results configure mappings during application initialization, before queries are executed.

MapBinary<TLeft, TRight, TR>(Expression<Func<TLeft, TRight, TR>>, Expression<Func<TLeft, TRight, TR>>)

Maps specific BinaryExpression to another LambdaExpression during SQL generation.

public static void MapBinary<TLeft, TRight, TR>(Expression<Func<TLeft, TRight, TR>> binaryExpression, Expression<Func<TLeft, TRight, TR>> expression)

Parameters

binaryExpression Expression<Func<TLeft, TRight, TR>>

Expression which has to be replaced.

expression Expression<Func<TLeft, TRight, TR>>

Lambda expression which has to replace binaryExpression.

Type Parameters

TLeft

Exact type of Left member.

TRight

Exact type of Right member.

TR

Result type of binaryExpression.

Remarks

Registration is thread-safe; for predictable results configure mappings during application initialization, before queries are executed.

MapBinary<TLeft, TRight, TR>(string, Expression<Func<TLeft, TRight, TR>>, Expression<Func<TLeft, TRight, TR>>)

Maps specific BinaryExpression to another LambdaExpression during SQL generation.

public static void MapBinary<TLeft, TRight, TR>(string providerName, Expression<Func<TLeft, TRight, TR>> binaryExpression, Expression<Func<TLeft, TRight, TR>> expression)

Parameters

providerName string

Name of database provider to use with this connection. ProviderName class for list of providers.

binaryExpression Expression<Func<TLeft, TRight, TR>>

Expression which has to be replaced.

expression Expression<Func<TLeft, TRight, TR>>

Lambda expression which has to replace binaryExpression.

Type Parameters

TLeft

Exact type of Left member.

TRight

Exact type of Right member.

TR

Result type of binaryExpression.

Remarks

Registration is thread-safe; for predictable results configure mappings during application initialization, before queries are executed.

MapMember(Expression<Func<object>>, LambdaExpression)

public static void MapMember(Expression<Func<object>> memberInfo, LambdaExpression expression)

Parameters

memberInfo Expression<Func<object>>
expression LambdaExpression

MapMember(MemberInfo, IExpressionInfo)

public static void MapMember(MemberInfo memberInfo, IExpressionInfo expressionInfo)

Parameters

memberInfo MemberInfo
expressionInfo IExpressionInfo

MapMember(MemberInfo, LambdaExpression)

public static void MapMember(MemberInfo memberInfo, LambdaExpression expression)

Parameters

memberInfo MemberInfo
expression LambdaExpression

MapMember(string, MemberInfoWithType, LambdaExpression)

public static void MapMember(string providerName, MemberHelper.MemberInfoWithType memberInfoWithType, LambdaExpression expression)

Parameters

providerName string
memberInfoWithType MemberHelper.MemberInfoWithType
expression LambdaExpression

MapMember(string, Expression<Func<object>>, LambdaExpression)

public static void MapMember(string providerName, Expression<Func<object>> memberInfo, LambdaExpression expression)

Parameters

providerName string
memberInfo Expression<Func<object>>
expression LambdaExpression

MapMember(string, MemberInfo, IExpressionInfo)

public static void MapMember(string providerName, MemberInfo memberInfo, IExpressionInfo expressionInfo)

Parameters

providerName string
memberInfo MemberInfo
expressionInfo IExpressionInfo

MapMember(string, MemberInfo, LambdaExpression)

public static void MapMember(string providerName, MemberInfo memberInfo, LambdaExpression expression)

Parameters

providerName string
memberInfo MemberInfo
expression LambdaExpression

MapMember(string, Type, MemberInfo, IExpressionInfo)

public static void MapMember(string providerName, Type objectType, MemberInfo memberInfo, IExpressionInfo expressionInfo)

Parameters

providerName string
objectType Type
memberInfo MemberInfo
expressionInfo IExpressionInfo

MapMember(string, Type, MemberInfo, LambdaExpression)

public static void MapMember(string providerName, Type objectType, MemberInfo memberInfo, LambdaExpression expression)

Parameters

providerName string
objectType Type
memberInfo MemberInfo
expression LambdaExpression

MapMember(Type, MemberInfo, LambdaExpression)

public static void MapMember(Type objectType, MemberInfo memberInfo, LambdaExpression expression)

Parameters

objectType Type
memberInfo MemberInfo
expression LambdaExpression

MapMember<T>(Expression<Func<T, object?>>, LambdaExpression)

public static void MapMember<T>(Expression<Func<T, object?>> memberInfo, LambdaExpression expression)

Parameters

memberInfo Expression<Func<T, object>>
expression LambdaExpression

Type Parameters

T

MapMember<TR>(Expression<Func<TR>>, Expression<Func<TR>>)

public static void MapMember<TR>(Expression<Func<TR>> memberInfo, Expression<Func<TR>> expression)

Parameters

memberInfo Expression<Func<TR>>
expression Expression<Func<TR>>

Type Parameters

TR

MapMember<T>(string, Expression<Func<T, object?>>, LambdaExpression)

public static void MapMember<T>(string providerName, Expression<Func<T, object?>> memberInfo, LambdaExpression expression)

Parameters

providerName string
memberInfo Expression<Func<T, object>>
expression LambdaExpression

Type Parameters

T

MapMember<TR>(string, Expression<Func<TR>>, Expression<Func<TR>>)

public static void MapMember<TR>(string providerName, Expression<Func<TR>> memberInfo, Expression<Func<TR>> expression)

Parameters

providerName string
memberInfo Expression<Func<TR>>
expression Expression<Func<TR>>

Type Parameters

TR

MapMember<TR>(string, Type, Expression<Func<TR>>, Expression<Func<TR>>)

public static void MapMember<TR>(string providerName, Type objectType, Expression<Func<TR>> memberInfo, Expression<Func<TR>> expression)

Parameters

providerName string
objectType Type
memberInfo Expression<Func<TR>>
expression Expression<Func<TR>>

Type Parameters

TR

MapMember<TR>(Type, Expression<Func<TR>>, Expression<Func<TR>>)

public static void MapMember<TR>(Type objectType, Expression<Func<TR>> memberInfo, Expression<Func<TR>> expression)

Parameters

objectType Type
memberInfo Expression<Func<TR>>
expression Expression<Func<TR>>

Type Parameters

TR

MapMember<T1, TR>(Expression<Func<T1, TR>>, Expression<Func<T1, TR>>)

public static void MapMember<T1, TR>(Expression<Func<T1, TR>> memberInfo, Expression<Func<T1, TR>> expression)

Parameters

memberInfo Expression<Func<T1, TR>>
expression Expression<Func<T1, TR>>

Type Parameters

T1
TR

MapMember<T1, TR>(string, Expression<Func<T1, TR>>, Expression<Func<T1, TR>>)

public static void MapMember<T1, TR>(string providerName, Expression<Func<T1, TR>> memberInfo, Expression<Func<T1, TR>> expression)

Parameters

providerName string
memberInfo Expression<Func<T1, TR>>
expression Expression<Func<T1, TR>>

Type Parameters

T1
TR

MapMember<T1, TR>(string, Type, Expression<Func<T1, TR>>, Expression<Func<T1, TR>>)

public static void MapMember<T1, TR>(string providerName, Type objectType, Expression<Func<T1, TR>> memberInfo, Expression<Func<T1, TR>> expression)

Parameters

providerName string
objectType Type
memberInfo Expression<Func<T1, TR>>
expression Expression<Func<T1, TR>>

Type Parameters

T1
TR

MapMember<T1, TR>(Type, Expression<Func<T1, TR>>, Expression<Func<T1, TR>>)

public static void MapMember<T1, TR>(Type objectType, Expression<Func<T1, TR>> memberInfo, Expression<Func<T1, TR>> expression)

Parameters

objectType Type
memberInfo Expression<Func<T1, TR>>
expression Expression<Func<T1, TR>>

Type Parameters

T1
TR

MapMember<T1, T2, TR>(Expression<Func<T1, T2, TR>>, Expression<Func<T1, T2, TR>>)

public static void MapMember<T1, T2, TR>(Expression<Func<T1, T2, TR>> memberInfo, Expression<Func<T1, T2, TR>> expression)

Parameters

memberInfo Expression<Func<T1, T2, TR>>
expression Expression<Func<T1, T2, TR>>

Type Parameters

T1
T2
TR

MapMember<T1, T2, TR>(string, Expression<Func<T1, T2, TR>>, Expression<Func<T1, T2, TR>>)

public static void MapMember<T1, T2, TR>(string providerName, Expression<Func<T1, T2, TR>> memberInfo, Expression<Func<T1, T2, TR>> expression)

Parameters

providerName string
memberInfo Expression<Func<T1, T2, TR>>
expression Expression<Func<T1, T2, TR>>

Type Parameters

T1
T2
TR

MapMember<T1, T2, TR>(string, Type, Expression<Func<T1, T2, TR>>, Expression<Func<T1, T2, TR>>)

public static void MapMember<T1, T2, TR>(string providerName, Type objectType, Expression<Func<T1, T2, TR>> memberInfo, Expression<Func<T1, T2, TR>> expression)

Parameters

providerName string
objectType Type
memberInfo Expression<Func<T1, T2, TR>>
expression Expression<Func<T1, T2, TR>>

Type Parameters

T1
T2
TR

MapMember<T1, T2, TR>(Type, Expression<Func<T1, T2, TR>>, Expression<Func<T1, T2, TR>>)

public static void MapMember<T1, T2, TR>(Type objectType, Expression<Func<T1, T2, TR>> memberInfo, Expression<Func<T1, T2, TR>> expression)

Parameters

objectType Type
memberInfo Expression<Func<T1, T2, TR>>
expression Expression<Func<T1, T2, TR>>

Type Parameters

T1
T2
TR

MapMember<T1, T2, T3, TR>(Expression<Func<T1, T2, T3, TR>>, Expression<Func<T1, T2, T3, TR>>)

public static void MapMember<T1, T2, T3, TR>(Expression<Func<T1, T2, T3, TR>> memberInfo, Expression<Func<T1, T2, T3, TR>> expression)

Parameters

memberInfo Expression<Func<T1, T2, T3, TR>>
expression Expression<Func<T1, T2, T3, TR>>

Type Parameters

T1
T2
T3
TR

MapMember<T1, T2, T3, TR>(string, Expression<Func<T1, T2, T3, TR>>, Expression<Func<T1, T2, T3, TR>>)

public static void MapMember<T1, T2, T3, TR>(string providerName, Expression<Func<T1, T2, T3, TR>> memberInfo, Expression<Func<T1, T2, T3, TR>> expression)

Parameters

providerName string
memberInfo Expression<Func<T1, T2, T3, TR>>
expression Expression<Func<T1, T2, T3, TR>>

Type Parameters

T1
T2
T3
TR

MapMember<T1, T2, T3, TR>(string, Type, Expression<Func<T1, T2, T3, TR>>, Expression<Func<T1, T2, T3, TR>>)

public static void MapMember<T1, T2, T3, TR>(string providerName, Type objectType, Expression<Func<T1, T2, T3, TR>> memberInfo, Expression<Func<T1, T2, T3, TR>> expression)

Parameters

providerName string
objectType Type
memberInfo Expression<Func<T1, T2, T3, TR>>
expression Expression<Func<T1, T2, T3, TR>>

Type Parameters

T1
T2
T3
TR

MapMember<T1, T2, T3, TR>(Type, Expression<Func<T1, T2, T3, TR>>, Expression<Func<T1, T2, T3, TR>>)

public static void MapMember<T1, T2, T3, TR>(Type objectType, Expression<Func<T1, T2, T3, TR>> memberInfo, Expression<Func<T1, T2, T3, TR>> expression)

Parameters

objectType Type
memberInfo Expression<Func<T1, T2, T3, TR>>
expression Expression<Func<T1, T2, T3, TR>>

Type Parameters

T1
T2
T3
TR

MapMember<T1, T2, T3, T4, TR>(Expression<Func<T1, T2, T3, T4, TR>>, Expression<Func<T1, T2, T3, T4, TR>>)

public static void MapMember<T1, T2, T3, T4, TR>(Expression<Func<T1, T2, T3, T4, TR>> memberInfo, Expression<Func<T1, T2, T3, T4, TR>> expression)

Parameters

memberInfo Expression<Func<T1, T2, T3, T4, TR>>
expression Expression<Func<T1, T2, T3, T4, TR>>

Type Parameters

T1
T2
T3
T4
TR

MapMember<T1, T2, T3, T4, TR>(string, Expression<Func<T1, T2, T3, T4, TR>>, Expression<Func<T1, T2, T3, T4, TR>>)

public static void MapMember<T1, T2, T3, T4, TR>(string providerName, Expression<Func<T1, T2, T3, T4, TR>> memberInfo, Expression<Func<T1, T2, T3, T4, TR>> expression)

Parameters

providerName string
memberInfo Expression<Func<T1, T2, T3, T4, TR>>
expression Expression<Func<T1, T2, T3, T4, TR>>

Type Parameters

T1
T2
T3
T4
TR

MapMember<T1, T2, T3, T4, TR>(string, Type, Expression<Func<T1, T2, T3, T4, TR>>, Expression<Func<T1, T2, T3, T4, TR>>)

public static void MapMember<T1, T2, T3, T4, TR>(string providerName, Type objectType, Expression<Func<T1, T2, T3, T4, TR>> memberInfo, Expression<Func<T1, T2, T3, T4, TR>> expression)

Parameters

providerName string
objectType Type
memberInfo Expression<Func<T1, T2, T3, T4, TR>>
expression Expression<Func<T1, T2, T3, T4, TR>>

Type Parameters

T1
T2
T3
T4
TR

MapMember<T1, T2, T3, T4, TR>(Type, Expression<Func<T1, T2, T3, T4, TR>>, Expression<Func<T1, T2, T3, T4, TR>>)

public static void MapMember<T1, T2, T3, T4, TR>(Type objectType, Expression<Func<T1, T2, T3, T4, TR>> memberInfo, Expression<Func<T1, T2, T3, T4, TR>> expression)

Parameters

objectType Type
memberInfo Expression<Func<T1, T2, T3, T4, TR>>
expression Expression<Func<T1, T2, T3, T4, TR>>

Type Parameters

T1
T2
T3
T4
TR

MapMember<T1, T2, T3, T4, T5, TR>(Expression<Func<T1, T2, T3, T4, T5, TR>>, Expression<Func<T1, T2, T3, T4, T5, TR>>)

public static void MapMember<T1, T2, T3, T4, T5, TR>(Expression<Func<T1, T2, T3, T4, T5, TR>> memberInfo, Expression<Func<T1, T2, T3, T4, T5, TR>> expression)

Parameters

memberInfo Expression<Func<T1, T2, T3, T4, T5, TR>>
expression Expression<Func<T1, T2, T3, T4, T5, TR>>

Type Parameters

T1
T2
T3
T4
T5
TR

MapMember<T1, T2, T3, T4, T5, TR>(string, Expression<Func<T1, T2, T3, T4, T5, TR>>, Expression<Func<T1, T2, T3, T4, T5, TR>>)

public static void MapMember<T1, T2, T3, T4, T5, TR>(string providerName, Expression<Func<T1, T2, T3, T4, T5, TR>> memberInfo, Expression<Func<T1, T2, T3, T4, T5, TR>> expression)

Parameters

providerName string
memberInfo Expression<Func<T1, T2, T3, T4, T5, TR>>
expression Expression<Func<T1, T2, T3, T4, T5, TR>>

Type Parameters

T1
T2
T3
T4
T5
TR

MapMember<T1, T2, T3, T4, T5, TR>(string, Type, Expression<Func<T1, T2, T3, T4, T5, TR>>, Expression<Func<T1, T2, T3, T4, T5, TR>>)

public static void MapMember<T1, T2, T3, T4, T5, TR>(string providerName, Type objectType, Expression<Func<T1, T2, T3, T4, T5, TR>> memberInfo, Expression<Func<T1, T2, T3, T4, T5, TR>> expression)

Parameters

providerName string
objectType Type
memberInfo Expression<Func<T1, T2, T3, T4, T5, TR>>
expression Expression<Func<T1, T2, T3, T4, T5, TR>>

Type Parameters

T1
T2
T3
T4
T5
TR

MapMember<T1, T2, T3, T4, T5, TR>(Type, Expression<Func<T1, T2, T3, T4, T5, TR>>, Expression<Func<T1, T2, T3, T4, T5, TR>>)

public static void MapMember<T1, T2, T3, T4, T5, TR>(Type objectType, Expression<Func<T1, T2, T3, T4, T5, TR>> memberInfo, Expression<Func<T1, T2, T3, T4, T5, TR>> expression)

Parameters

objectType Type
memberInfo Expression<Func<T1, T2, T3, T4, T5, TR>>
expression Expression<Func<T1, T2, T3, T4, T5, TR>>

Type Parameters

T1
T2
T3
T4
T5
TR

N(Func<LambdaExpression>)

public static Expressions.LazyExpressionInfo N(Func<LambdaExpression> func)

Parameters

func Func<LambdaExpression>

Returns

Expressions.LazyExpressionInfo

SetGenericInfoProvider(Type)

public static void SetGenericInfoProvider(Type type)

Parameters

type Type