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
SqlExpressionFactoryDependenciesParameter object containing dependencies for this class.
Methods
Add(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Add(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
left
SqlExpressionright
SqlExpressiontypeMapping
RelationalTypeMapping
Returns
And(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression And(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
left
SqlExpressionright
SqlExpressiontypeMapping
RelationalTypeMapping
Returns
AndAlso(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression AndAlso(SqlExpression left, SqlExpression right)
Parameters
left
SqlExpressionright
SqlExpression
Returns
ApplyDefaultTypeMapping(SqlExpression)
public virtual SqlExpression ApplyDefaultTypeMapping(SqlExpression sqlExpression)
Parameters
sqlExpression
SqlExpression
Returns
ApplyTypeMapping(SqlExpression, RelationalTypeMapping)
public virtual SqlExpression ApplyTypeMapping(SqlExpression sqlExpression, RelationalTypeMapping typeMapping)
Parameters
sqlExpression
SqlExpressiontypeMapping
RelationalTypeMapping
Returns
Case(SqlExpression, params CaseWhenClause[])
[Obsolete("Use overload which takes IReadOnlyList instead of params")]
public virtual CaseExpression Case(SqlExpression operand, params CaseWhenClause[] whenClauses)
Parameters
operand
SqlExpressionwhenClauses
CaseWhenClause[]
Returns
Case(SqlExpression, IReadOnlyList<CaseWhenClause>, SqlExpression)
public virtual CaseExpression Case(SqlExpression operand, IReadOnlyList<CaseWhenClause> whenClauses, SqlExpression elseResult)
Parameters
operand
SqlExpressionwhenClauses
IReadOnlyList<CaseWhenClause>elseResult
SqlExpression
Returns
Case(IReadOnlyList<CaseWhenClause>, SqlExpression)
public virtual CaseExpression Case(IReadOnlyList<CaseWhenClause> whenClauses, SqlExpression elseResult)
Parameters
whenClauses
IReadOnlyList<CaseWhenClause>elseResult
SqlExpression
Returns
Coalesce(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlFunctionExpression Coalesce(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
left
SqlExpressionright
SqlExpressiontypeMapping
RelationalTypeMapping
Returns
Constant(object, RelationalTypeMapping)
public virtual SqlConstantExpression Constant(object value, RelationalTypeMapping typeMapping = null)
Parameters
value
objecttypeMapping
RelationalTypeMapping
Returns
Convert(SqlExpression, Type, RelationalTypeMapping)
public virtual SqlUnaryExpression Convert(SqlExpression operand, Type type, RelationalTypeMapping typeMapping = null)
Parameters
operand
SqlExpressiontype
TypetypeMapping
RelationalTypeMapping
Returns
Divide(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Divide(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
left
SqlExpressionright
SqlExpressiontypeMapping
RelationalTypeMapping
Returns
Equal(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression Equal(SqlExpression left, SqlExpression right)
Parameters
left
SqlExpressionright
SqlExpression
Returns
Exists(SelectExpression, bool)
public virtual ExistsExpression Exists(SelectExpression subquery, bool negated)
Parameters
subquery
SelectExpressionnegated
bool
Returns
FindMapping(Type)
[Obsolete("Use IRelationalTypeMappingSource directly.")]
public virtual RelationalTypeMapping FindMapping(Type type)
Parameters
type
Type
Returns
Fragment(string)
public virtual SqlFragmentExpression Fragment(string sql)
Parameters
sql
string
Returns
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
SqlExpressionname
stringarguments
IEnumerable<SqlExpression>nullable
boolinstancePropagatesNullability
boolargumentsPropagateNullability
IEnumerable<bool>returnType
TypetypeMapping
RelationalTypeMapping
Returns
Function(SqlExpression, string, IEnumerable<SqlExpression>, Type, RelationalTypeMapping)
[Obsolete("Use overload that explicitly specifies values for 'instancePropagatesNullability' and 'argumentsPropagateNullability' arguments.")]
public virtual SqlFunctionExpression Function(SqlExpression instance, string name, IEnumerable<SqlExpression> arguments, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
instance
SqlExpressionname
stringarguments
IEnumerable<SqlExpression>returnType
TypetypeMapping
RelationalTypeMapping
Returns
Function(SqlExpression, string, Type, RelationalTypeMapping)
[Obsolete("Use NiladicFunction method.")]
public virtual SqlFunctionExpression Function(SqlExpression instance, string name, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
instance
SqlExpressionname
stringreturnType
TypetypeMapping
RelationalTypeMapping
Returns
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
stringarguments
IEnumerable<SqlExpression>nullable
boolargumentsPropagateNullability
IEnumerable<bool>returnType
TypetypeMapping
RelationalTypeMapping
Returns
Function(string, IEnumerable<SqlExpression>, Type, RelationalTypeMapping)
[Obsolete("Use overload that explicitly specifies value for 'argumentsPropagateNullability' argument.")]
public virtual SqlFunctionExpression Function(string name, IEnumerable<SqlExpression> arguments, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
name
stringarguments
IEnumerable<SqlExpression>returnType
TypetypeMapping
RelationalTypeMapping
Returns
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
stringname
stringarguments
IEnumerable<SqlExpression>nullable
boolargumentsPropagateNullability
IEnumerable<bool>returnType
TypetypeMapping
RelationalTypeMapping
Returns
Function(string, string, IEnumerable<SqlExpression>, Type, RelationalTypeMapping)
[Obsolete("Use overload that explicitly specifies value for 'argumentsPropagateNullability' argument.")]
public virtual SqlFunctionExpression Function(string schema, string name, IEnumerable<SqlExpression> arguments, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
schema
stringname
stringarguments
IEnumerable<SqlExpression>returnType
TypetypeMapping
RelationalTypeMapping
Returns
Function(string, string, Type, RelationalTypeMapping)
[Obsolete("Use NiladicFunction method.")]
public virtual SqlFunctionExpression Function(string schema, string name, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
schema
stringname
stringreturnType
TypetypeMapping
RelationalTypeMapping
Returns
Function(string, Type, RelationalTypeMapping)
[Obsolete("Use NiladicFunction method.")]
public virtual SqlFunctionExpression Function(string name, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
name
stringreturnType
TypetypeMapping
RelationalTypeMapping
Returns
GetTypeMappingForValue(object)
[Obsolete("Use IRelationalTypeMappingSource directly.")]
public virtual RelationalTypeMapping GetTypeMappingForValue(object value)
Parameters
value
object
Returns
GreaterThan(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression GreaterThan(SqlExpression left, SqlExpression right)
Parameters
left
SqlExpressionright
SqlExpression
Returns
GreaterThanOrEqual(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression GreaterThanOrEqual(SqlExpression left, SqlExpression right)
Parameters
left
SqlExpressionright
SqlExpression
Returns
In(SqlExpression, SelectExpression, bool)
public virtual InExpression In(SqlExpression item, SelectExpression subquery, bool negated)
Parameters
item
SqlExpressionsubquery
SelectExpressionnegated
bool
Returns
In(SqlExpression, SqlExpression, bool)
public virtual InExpression In(SqlExpression item, SqlExpression values, bool negated)
Parameters
item
SqlExpressionvalues
SqlExpressionnegated
bool
Returns
IsNotNull(SqlExpression)
public virtual SqlUnaryExpression IsNotNull(SqlExpression operand)
Parameters
operand
SqlExpression
Returns
IsNull(SqlExpression)
public virtual SqlUnaryExpression IsNull(SqlExpression operand)
Parameters
operand
SqlExpression
Returns
LessThan(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression LessThan(SqlExpression left, SqlExpression right)
Parameters
left
SqlExpressionright
SqlExpression
Returns
LessThanOrEqual(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression LessThanOrEqual(SqlExpression left, SqlExpression right)
Parameters
left
SqlExpressionright
SqlExpression
Returns
Like(SqlExpression, SqlExpression, SqlExpression)
public virtual LikeExpression Like(SqlExpression match, SqlExpression pattern, SqlExpression escapeChar = null)
Parameters
match
SqlExpressionpattern
SqlExpressionescapeChar
SqlExpression
Returns
MakeBinary(ExpressionType, SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression MakeBinary(ExpressionType operatorType, SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping)
Parameters
operatorType
ExpressionTypeleft
SqlExpressionright
SqlExpressiontypeMapping
RelationalTypeMapping
Returns
MakeUnary(ExpressionType, SqlExpression, Type, RelationalTypeMapping)
public virtual SqlUnaryExpression MakeUnary(ExpressionType operatorType, SqlExpression operand, Type type, RelationalTypeMapping typeMapping = null)
Parameters
operatorType
ExpressionTypeoperand
SqlExpressiontype
TypetypeMapping
RelationalTypeMapping
Returns
Modulo(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Modulo(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
left
SqlExpressionright
SqlExpressiontypeMapping
RelationalTypeMapping
Returns
Multiply(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Multiply(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
left
SqlExpressionright
SqlExpressiontypeMapping
RelationalTypeMapping
Returns
Negate(SqlExpression)
public virtual SqlUnaryExpression Negate(SqlExpression operand)
Parameters
operand
SqlExpression
Returns
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
SqlExpressionname
stringnullable
boolinstancePropagatesNullability
boolreturnType
TypetypeMapping
RelationalTypeMapping
Returns
NiladicFunction(string, bool, Type, RelationalTypeMapping)
public virtual SqlFunctionExpression NiladicFunction(string name, bool nullable, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
name
stringnullable
boolreturnType
TypetypeMapping
RelationalTypeMapping
Returns
NiladicFunction(string, string, bool, Type, RelationalTypeMapping)
public virtual SqlFunctionExpression NiladicFunction(string schema, string name, bool nullable, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
schema
stringname
stringnullable
boolreturnType
TypetypeMapping
RelationalTypeMapping
Returns
Not(SqlExpression)
public virtual SqlUnaryExpression Not(SqlExpression operand)
Parameters
operand
SqlExpression
Returns
NotEqual(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression NotEqual(SqlExpression left, SqlExpression right)
Parameters
left
SqlExpressionright
SqlExpression
Returns
Or(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Or(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
left
SqlExpressionright
SqlExpressiontypeMapping
RelationalTypeMapping
Returns
OrElse(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression OrElse(SqlExpression left, SqlExpression right)
Parameters
left
SqlExpressionright
SqlExpression
Returns
Select(IEntityType)
public virtual SelectExpression Select(IEntityType entityType)
Parameters
entityType
IEntityType
Returns
Select(IEntityType, TableExpressionBase)
public virtual SelectExpression Select(IEntityType entityType, TableExpressionBase tableExpressionBase)
Parameters
entityType
IEntityTypetableExpressionBase
TableExpressionBase
Returns
Select(IEntityType, string, Expression)
[Obsolete("Use overload which takes TableExpressionBase by passing FromSqlExpression directly.")]
public virtual SelectExpression Select(IEntityType entityType, string sql, Expression sqlArguments)
Parameters
entityType
IEntityTypesql
stringsqlArguments
Expression
Returns
Select(SqlExpression)
public virtual SelectExpression Select(SqlExpression projection)
Parameters
projection
SqlExpression
Returns
Subtract(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Subtract(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
left
SqlExpressionright
SqlExpressiontypeMapping
RelationalTypeMapping