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
dependenciesSqlExpressionFactoryDependenciesParameter object containing dependencies for this class.
Methods
Add(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Add(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
leftSqlExpressionrightSqlExpressiontypeMappingRelationalTypeMapping
Returns
And(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression And(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
leftSqlExpressionrightSqlExpressiontypeMappingRelationalTypeMapping
Returns
AndAlso(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression AndAlso(SqlExpression left, SqlExpression right)
Parameters
leftSqlExpressionrightSqlExpression
Returns
ApplyDefaultTypeMapping(SqlExpression)
public virtual SqlExpression ApplyDefaultTypeMapping(SqlExpression sqlExpression)
Parameters
sqlExpressionSqlExpression
Returns
ApplyTypeMapping(SqlExpression, RelationalTypeMapping)
public virtual SqlExpression ApplyTypeMapping(SqlExpression sqlExpression, RelationalTypeMapping typeMapping)
Parameters
sqlExpressionSqlExpressiontypeMappingRelationalTypeMapping
Returns
Case(SqlExpression, params CaseWhenClause[])
[Obsolete("Use overload which takes IReadOnlyList instead of params")]
public virtual CaseExpression Case(SqlExpression operand, params CaseWhenClause[] whenClauses)
Parameters
operandSqlExpressionwhenClausesCaseWhenClause[]
Returns
Case(SqlExpression, IReadOnlyList<CaseWhenClause>, SqlExpression)
public virtual CaseExpression Case(SqlExpression operand, IReadOnlyList<CaseWhenClause> whenClauses, SqlExpression elseResult)
Parameters
operandSqlExpressionwhenClausesIReadOnlyList<CaseWhenClause>elseResultSqlExpression
Returns
Case(IReadOnlyList<CaseWhenClause>, SqlExpression)
public virtual CaseExpression Case(IReadOnlyList<CaseWhenClause> whenClauses, SqlExpression elseResult)
Parameters
whenClausesIReadOnlyList<CaseWhenClause>elseResultSqlExpression
Returns
Coalesce(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlFunctionExpression Coalesce(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
leftSqlExpressionrightSqlExpressiontypeMappingRelationalTypeMapping
Returns
Constant(object, RelationalTypeMapping)
public virtual SqlConstantExpression Constant(object value, RelationalTypeMapping typeMapping = null)
Parameters
valueobjecttypeMappingRelationalTypeMapping
Returns
Convert(SqlExpression, Type, RelationalTypeMapping)
public virtual SqlUnaryExpression Convert(SqlExpression operand, Type type, RelationalTypeMapping typeMapping = null)
Parameters
operandSqlExpressiontypeTypetypeMappingRelationalTypeMapping
Returns
Divide(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Divide(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
leftSqlExpressionrightSqlExpressiontypeMappingRelationalTypeMapping
Returns
Equal(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression Equal(SqlExpression left, SqlExpression right)
Parameters
leftSqlExpressionrightSqlExpression
Returns
Exists(SelectExpression, bool)
public virtual ExistsExpression Exists(SelectExpression subquery, bool negated)
Parameters
subquerySelectExpressionnegatedbool
Returns
FindMapping(Type)
[Obsolete("Use IRelationalTypeMappingSource directly.")]
public virtual RelationalTypeMapping FindMapping(Type type)
Parameters
typeType
Returns
Fragment(string)
public virtual SqlFragmentExpression Fragment(string sql)
Parameters
sqlstring
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
instanceSqlExpressionnamestringargumentsIEnumerable<SqlExpression>nullableboolinstancePropagatesNullabilityboolargumentsPropagateNullabilityIEnumerable<bool>returnTypeTypetypeMappingRelationalTypeMapping
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
instanceSqlExpressionnamestringargumentsIEnumerable<SqlExpression>returnTypeTypetypeMappingRelationalTypeMapping
Returns
Function(SqlExpression, string, Type, RelationalTypeMapping)
[Obsolete("Use NiladicFunction method.")]
public virtual SqlFunctionExpression Function(SqlExpression instance, string name, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
instanceSqlExpressionnamestringreturnTypeTypetypeMappingRelationalTypeMapping
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
namestringargumentsIEnumerable<SqlExpression>nullableboolargumentsPropagateNullabilityIEnumerable<bool>returnTypeTypetypeMappingRelationalTypeMapping
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
namestringargumentsIEnumerable<SqlExpression>returnTypeTypetypeMappingRelationalTypeMapping
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
schemastringnamestringargumentsIEnumerable<SqlExpression>nullableboolargumentsPropagateNullabilityIEnumerable<bool>returnTypeTypetypeMappingRelationalTypeMapping
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
schemastringnamestringargumentsIEnumerable<SqlExpression>returnTypeTypetypeMappingRelationalTypeMapping
Returns
Function(string, string, Type, RelationalTypeMapping)
[Obsolete("Use NiladicFunction method.")]
public virtual SqlFunctionExpression Function(string schema, string name, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
schemastringnamestringreturnTypeTypetypeMappingRelationalTypeMapping
Returns
Function(string, Type, RelationalTypeMapping)
[Obsolete("Use NiladicFunction method.")]
public virtual SqlFunctionExpression Function(string name, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
namestringreturnTypeTypetypeMappingRelationalTypeMapping
Returns
GetTypeMappingForValue(object)
[Obsolete("Use IRelationalTypeMappingSource directly.")]
public virtual RelationalTypeMapping GetTypeMappingForValue(object value)
Parameters
valueobject
Returns
GreaterThan(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression GreaterThan(SqlExpression left, SqlExpression right)
Parameters
leftSqlExpressionrightSqlExpression
Returns
GreaterThanOrEqual(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression GreaterThanOrEqual(SqlExpression left, SqlExpression right)
Parameters
leftSqlExpressionrightSqlExpression
Returns
In(SqlExpression, SelectExpression, bool)
public virtual InExpression In(SqlExpression item, SelectExpression subquery, bool negated)
Parameters
itemSqlExpressionsubquerySelectExpressionnegatedbool
Returns
In(SqlExpression, SqlExpression, bool)
public virtual InExpression In(SqlExpression item, SqlExpression values, bool negated)
Parameters
itemSqlExpressionvaluesSqlExpressionnegatedbool
Returns
IsNotNull(SqlExpression)
public virtual SqlUnaryExpression IsNotNull(SqlExpression operand)
Parameters
operandSqlExpression
Returns
IsNull(SqlExpression)
public virtual SqlUnaryExpression IsNull(SqlExpression operand)
Parameters
operandSqlExpression
Returns
LessThan(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression LessThan(SqlExpression left, SqlExpression right)
Parameters
leftSqlExpressionrightSqlExpression
Returns
LessThanOrEqual(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression LessThanOrEqual(SqlExpression left, SqlExpression right)
Parameters
leftSqlExpressionrightSqlExpression
Returns
Like(SqlExpression, SqlExpression, SqlExpression)
public virtual LikeExpression Like(SqlExpression match, SqlExpression pattern, SqlExpression escapeChar = null)
Parameters
matchSqlExpressionpatternSqlExpressionescapeCharSqlExpression
Returns
MakeBinary(ExpressionType, SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression MakeBinary(ExpressionType operatorType, SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping)
Parameters
operatorTypeExpressionTypeleftSqlExpressionrightSqlExpressiontypeMappingRelationalTypeMapping
Returns
MakeUnary(ExpressionType, SqlExpression, Type, RelationalTypeMapping)
public virtual SqlUnaryExpression MakeUnary(ExpressionType operatorType, SqlExpression operand, Type type, RelationalTypeMapping typeMapping = null)
Parameters
operatorTypeExpressionTypeoperandSqlExpressiontypeTypetypeMappingRelationalTypeMapping
Returns
Modulo(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Modulo(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
leftSqlExpressionrightSqlExpressiontypeMappingRelationalTypeMapping
Returns
Multiply(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Multiply(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
leftSqlExpressionrightSqlExpressiontypeMappingRelationalTypeMapping
Returns
Negate(SqlExpression)
public virtual SqlUnaryExpression Negate(SqlExpression operand)
Parameters
operandSqlExpression
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
instanceSqlExpressionnamestringnullableboolinstancePropagatesNullabilityboolreturnTypeTypetypeMappingRelationalTypeMapping
Returns
NiladicFunction(string, bool, Type, RelationalTypeMapping)
public virtual SqlFunctionExpression NiladicFunction(string name, bool nullable, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
namestringnullableboolreturnTypeTypetypeMappingRelationalTypeMapping
Returns
NiladicFunction(string, string, bool, Type, RelationalTypeMapping)
public virtual SqlFunctionExpression NiladicFunction(string schema, string name, bool nullable, Type returnType, RelationalTypeMapping typeMapping = null)
Parameters
schemastringnamestringnullableboolreturnTypeTypetypeMappingRelationalTypeMapping
Returns
Not(SqlExpression)
public virtual SqlUnaryExpression Not(SqlExpression operand)
Parameters
operandSqlExpression
Returns
NotEqual(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression NotEqual(SqlExpression left, SqlExpression right)
Parameters
leftSqlExpressionrightSqlExpression
Returns
Or(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Or(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
leftSqlExpressionrightSqlExpressiontypeMappingRelationalTypeMapping
Returns
OrElse(SqlExpression, SqlExpression)
public virtual SqlBinaryExpression OrElse(SqlExpression left, SqlExpression right)
Parameters
leftSqlExpressionrightSqlExpression
Returns
Select(IEntityType)
public virtual SelectExpression Select(IEntityType entityType)
Parameters
entityTypeIEntityType
Returns
Select(IEntityType, TableExpressionBase)
public virtual SelectExpression Select(IEntityType entityType, TableExpressionBase tableExpressionBase)
Parameters
entityTypeIEntityTypetableExpressionBaseTableExpressionBase
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
entityTypeIEntityTypesqlstringsqlArgumentsExpression
Returns
Select(SqlExpression)
public virtual SelectExpression Select(SqlExpression projection)
Parameters
projectionSqlExpression
Returns
Subtract(SqlExpression, SqlExpression, RelationalTypeMapping)
public virtual SqlBinaryExpression Subtract(SqlExpression left, SqlExpression right, RelationalTypeMapping typeMapping = null)
Parameters
leftSqlExpressionrightSqlExpressiontypeMappingRelationalTypeMapping