Table of Contents

Class SqlExpressionFactory

Namespace
Microsoft.EntityFrameworkCore.Query
Assembly
Microsoft.EntityFrameworkCore.Relational.dll
public class SqlExpressionFactory : ISqlExpressionFactory
Inheritance
SqlExpressionFactory
Implements
Inherited Members

Constructors

SqlExpressionFactory(SqlExpressionFactoryDependencies)

Creates a new instance of the SqlExpressionFactory class.

public SqlExpressionFactory(SqlExpressionFactoryDependencies dependencies)

Parameters

dependencies SqlExpressionFactoryDependencies

Parameter object containing dependencies for this class.

Properties

Dependencies

Dependencies for this service.

protected virtual SqlExpressionFactoryDependencies Dependencies { get; }

Property Value

SqlExpressionFactoryDependencies

Methods

Add(SqlExpression, SqlExpression, RelationalTypeMapping?)

public virtual SqlBinaryExpression Add(SqlExpression left, SqlExpression right, RelationalTypeMapping? typeMapping = null)

Parameters

left SqlExpression
right SqlExpression
typeMapping RelationalTypeMapping

Returns

SqlBinaryExpression

And(SqlExpression, SqlExpression, RelationalTypeMapping?)

public virtual SqlBinaryExpression And(SqlExpression left, SqlExpression right, RelationalTypeMapping? typeMapping = null)

Parameters

left SqlExpression
right SqlExpression
typeMapping RelationalTypeMapping

Returns

SqlBinaryExpression

AndAlso(SqlExpression, SqlExpression)

public virtual SqlBinaryExpression AndAlso(SqlExpression left, SqlExpression right)

Parameters

left SqlExpression
right SqlExpression

Returns

SqlBinaryExpression

ApplyDefaultTypeMapping(SqlExpression?)

public virtual SqlExpression? ApplyDefaultTypeMapping(SqlExpression? sqlExpression)

Parameters

sqlExpression SqlExpression

Returns

SqlExpression

ApplyTypeMapping(SqlExpression?, RelationalTypeMapping?)

public virtual SqlExpression? ApplyTypeMapping(SqlExpression? sqlExpression, RelationalTypeMapping? typeMapping)

Parameters

sqlExpression SqlExpression
typeMapping RelationalTypeMapping

Returns

SqlExpression

Case(SqlExpression?, IReadOnlyList<CaseWhenClause>, SqlExpression?)

public virtual CaseExpression Case(SqlExpression? operand, IReadOnlyList<CaseWhenClause> whenClauses, SqlExpression? elseResult)

Parameters

operand SqlExpression
whenClauses IReadOnlyList<CaseWhenClause>
elseResult SqlExpression

Returns

CaseExpression

Case(IReadOnlyList<CaseWhenClause>, SqlExpression?)

public virtual CaseExpression Case(IReadOnlyList<CaseWhenClause> whenClauses, SqlExpression? elseResult)

Parameters

whenClauses IReadOnlyList<CaseWhenClause>
elseResult SqlExpression

Returns

CaseExpression

Coalesce(SqlExpression, SqlExpression, RelationalTypeMapping?)

public virtual SqlFunctionExpression Coalesce(SqlExpression left, SqlExpression right, RelationalTypeMapping? typeMapping = null)

Parameters

left SqlExpression
right SqlExpression
typeMapping RelationalTypeMapping

Returns

SqlFunctionExpression

Constant(object?, RelationalTypeMapping?)

public virtual SqlConstantExpression Constant(object? value, RelationalTypeMapping? typeMapping = null)

Parameters

value object
typeMapping RelationalTypeMapping

Returns

SqlConstantExpression

Constant(object?, Type, RelationalTypeMapping?)

public virtual SqlConstantExpression Constant(object? value, Type type, RelationalTypeMapping? typeMapping = null)

Parameters

value object
type Type
typeMapping RelationalTypeMapping

Returns

SqlConstantExpression

Convert(SqlExpression, Type, RelationalTypeMapping?)

public virtual SqlUnaryExpression Convert(SqlExpression operand, Type type, RelationalTypeMapping? typeMapping = null)

Parameters

operand SqlExpression
type Type
typeMapping RelationalTypeMapping

Returns

SqlUnaryExpression

Divide(SqlExpression, SqlExpression, RelationalTypeMapping?)

public virtual SqlBinaryExpression Divide(SqlExpression left, SqlExpression right, RelationalTypeMapping? typeMapping = null)

Parameters

left SqlExpression
right SqlExpression
typeMapping RelationalTypeMapping

Returns

SqlBinaryExpression

Equal(SqlExpression, SqlExpression)

public virtual SqlBinaryExpression Equal(SqlExpression left, SqlExpression right)

Parameters

left SqlExpression
right SqlExpression

Returns

SqlBinaryExpression

Exists(SelectExpression, bool)

public virtual ExistsExpression Exists(SelectExpression subquery, bool negated)

Parameters

subquery SelectExpression
negated bool

Returns

ExistsExpression

Fragment(string)

public virtual SqlFragmentExpression Fragment(string sql)

Parameters

sql string

Returns

SqlFragmentExpression

Function(SqlExpression, string, IEnumerable<SqlExpression>, bool, bool, IEnumerable<bool>, Type, RelationalTypeMapping?)

public virtual SqlFunctionExpression Function(SqlExpression instance, string name, IEnumerable<SqlExpression> arguments, bool nullable, bool instancePropagatesNullability, IEnumerable<bool> argumentsPropagateNullability, Type returnType, RelationalTypeMapping? typeMapping = null)

Parameters

instance SqlExpression
name string
arguments IEnumerable<SqlExpression>
nullable bool
instancePropagatesNullability bool
argumentsPropagateNullability IEnumerable<bool>
returnType Type
typeMapping RelationalTypeMapping

Returns

SqlFunctionExpression

Function(string, IEnumerable<SqlExpression>, bool, IEnumerable<bool>, Type, RelationalTypeMapping?)

public virtual SqlFunctionExpression Function(string name, IEnumerable<SqlExpression> arguments, bool nullable, IEnumerable<bool> argumentsPropagateNullability, Type returnType, RelationalTypeMapping? typeMapping = null)

Parameters

name string
arguments IEnumerable<SqlExpression>
nullable bool
argumentsPropagateNullability IEnumerable<bool>
returnType Type
typeMapping RelationalTypeMapping

Returns

SqlFunctionExpression

Function(string?, string, IEnumerable<SqlExpression>, bool, IEnumerable<bool>, Type, RelationalTypeMapping?)

public virtual SqlFunctionExpression Function(string? schema, string name, IEnumerable<SqlExpression> arguments, bool nullable, IEnumerable<bool> argumentsPropagateNullability, Type returnType, RelationalTypeMapping? typeMapping = null)

Parameters

schema string
name string
arguments IEnumerable<SqlExpression>
nullable bool
argumentsPropagateNullability IEnumerable<bool>
returnType Type
typeMapping RelationalTypeMapping

Returns

SqlFunctionExpression

GreaterThan(SqlExpression, SqlExpression)

public virtual SqlBinaryExpression GreaterThan(SqlExpression left, SqlExpression right)

Parameters

left SqlExpression
right SqlExpression

Returns

SqlBinaryExpression

GreaterThanOrEqual(SqlExpression, SqlExpression)

public virtual SqlBinaryExpression GreaterThanOrEqual(SqlExpression left, SqlExpression right)

Parameters

left SqlExpression
right SqlExpression

Returns

SqlBinaryExpression

In(SqlExpression, SelectExpression, bool)

public virtual InExpression In(SqlExpression item, SelectExpression subquery, bool negated)

Parameters

item SqlExpression
subquery SelectExpression
negated bool

Returns

InExpression

In(SqlExpression, SqlExpression, bool)

public virtual InExpression In(SqlExpression item, SqlExpression values, bool negated)

Parameters

item SqlExpression
values SqlExpression
negated bool

Returns

InExpression

IsNotNull(SqlExpression)

public virtual SqlUnaryExpression IsNotNull(SqlExpression operand)

Parameters

operand SqlExpression

Returns

SqlUnaryExpression

IsNull(SqlExpression)

public virtual SqlUnaryExpression IsNull(SqlExpression operand)

Parameters

operand SqlExpression

Returns

SqlUnaryExpression

LessThan(SqlExpression, SqlExpression)

public virtual SqlBinaryExpression LessThan(SqlExpression left, SqlExpression right)

Parameters

left SqlExpression
right SqlExpression

Returns

SqlBinaryExpression

LessThanOrEqual(SqlExpression, SqlExpression)

public virtual SqlBinaryExpression LessThanOrEqual(SqlExpression left, SqlExpression right)

Parameters

left SqlExpression
right SqlExpression

Returns

SqlBinaryExpression

Like(SqlExpression, SqlExpression, SqlExpression?)

public virtual LikeExpression Like(SqlExpression match, SqlExpression pattern, SqlExpression? escapeChar = null)

Parameters

match SqlExpression
pattern SqlExpression
escapeChar SqlExpression

Returns

LikeExpression

MakeBinary(ExpressionType, SqlExpression, SqlExpression, RelationalTypeMapping?)

public virtual SqlBinaryExpression? MakeBinary(ExpressionType operatorType, SqlExpression left, SqlExpression right, RelationalTypeMapping? typeMapping)

Parameters

operatorType ExpressionType
left SqlExpression
right SqlExpression
typeMapping RelationalTypeMapping

Returns

SqlBinaryExpression

MakeUnary(ExpressionType, SqlExpression, Type, RelationalTypeMapping?)

public virtual SqlUnaryExpression? MakeUnary(ExpressionType operatorType, SqlExpression operand, Type type, RelationalTypeMapping? typeMapping = null)

Parameters

operatorType ExpressionType
operand SqlExpression
type Type
typeMapping RelationalTypeMapping

Returns

SqlUnaryExpression

Modulo(SqlExpression, SqlExpression, RelationalTypeMapping?)

public virtual SqlBinaryExpression Modulo(SqlExpression left, SqlExpression right, RelationalTypeMapping? typeMapping = null)

Parameters

left SqlExpression
right SqlExpression
typeMapping RelationalTypeMapping

Returns

SqlBinaryExpression

Multiply(SqlExpression, SqlExpression, RelationalTypeMapping?)

public virtual SqlBinaryExpression Multiply(SqlExpression left, SqlExpression right, RelationalTypeMapping? typeMapping = null)

Parameters

left SqlExpression
right SqlExpression
typeMapping RelationalTypeMapping

Returns

SqlBinaryExpression

Negate(SqlExpression)

public virtual SqlUnaryExpression Negate(SqlExpression operand)

Parameters

operand SqlExpression

Returns

SqlUnaryExpression

NiladicFunction(SqlExpression, string, bool, bool, Type, RelationalTypeMapping?)

public virtual SqlFunctionExpression NiladicFunction(SqlExpression instance, string name, bool nullable, bool instancePropagatesNullability, Type returnType, RelationalTypeMapping? typeMapping = null)

Parameters

instance SqlExpression
name string
nullable bool
instancePropagatesNullability bool
returnType Type
typeMapping RelationalTypeMapping

Returns

SqlFunctionExpression

NiladicFunction(string, bool, Type, RelationalTypeMapping?)

public virtual SqlFunctionExpression NiladicFunction(string name, bool nullable, Type returnType, RelationalTypeMapping? typeMapping = null)

Parameters

name string
nullable bool
returnType Type
typeMapping RelationalTypeMapping

Returns

SqlFunctionExpression

NiladicFunction(string, string, bool, Type, RelationalTypeMapping?)

public virtual SqlFunctionExpression NiladicFunction(string schema, string name, bool nullable, Type returnType, RelationalTypeMapping? typeMapping = null)

Parameters

schema string
name string
nullable bool
returnType Type
typeMapping RelationalTypeMapping

Returns

SqlFunctionExpression

Not(SqlExpression)

public virtual SqlUnaryExpression Not(SqlExpression operand)

Parameters

operand SqlExpression

Returns

SqlUnaryExpression

NotEqual(SqlExpression, SqlExpression)

public virtual SqlBinaryExpression NotEqual(SqlExpression left, SqlExpression right)

Parameters

left SqlExpression
right SqlExpression

Returns

SqlBinaryExpression

Or(SqlExpression, SqlExpression, RelationalTypeMapping?)

public virtual SqlBinaryExpression Or(SqlExpression left, SqlExpression right, RelationalTypeMapping? typeMapping = null)

Parameters

left SqlExpression
right SqlExpression
typeMapping RelationalTypeMapping

Returns

SqlBinaryExpression

OrElse(SqlExpression, SqlExpression)

public virtual SqlBinaryExpression OrElse(SqlExpression left, SqlExpression right)

Parameters

left SqlExpression
right SqlExpression

Returns

SqlBinaryExpression

Select(IEntityType)

public virtual SelectExpression Select(IEntityType entityType)

Parameters

entityType IEntityType

Returns

SelectExpression

Select(IEntityType, TableExpressionBase)

public virtual SelectExpression Select(IEntityType entityType, TableExpressionBase tableExpressionBase)

Parameters

entityType IEntityType
tableExpressionBase TableExpressionBase

Returns

SelectExpression

Select(SqlExpression?)

public virtual SelectExpression Select(SqlExpression? projection)

Parameters

projection SqlExpression

Returns

SelectExpression

Subtract(SqlExpression, SqlExpression, RelationalTypeMapping?)

public virtual SqlBinaryExpression Subtract(SqlExpression left, SqlExpression right, RelationalTypeMapping? typeMapping = null)

Parameters

left SqlExpression
right SqlExpression
typeMapping RelationalTypeMapping

Returns

SqlBinaryExpression