diff --git a/EFCore/src/Query/Internal/MySQLStringMethodTranslator.cs b/EFCore/src/Query/Internal/MySQLStringMethodTranslator.cs index c3697e56c..8bf3c643e 100644 --- a/EFCore/src/Query/Internal/MySQLStringMethodTranslator.cs +++ b/EFCore/src/Query/Internal/MySQLStringMethodTranslator.cs @@ -179,14 +179,16 @@ public MySQLStringMethodTranslator(ISqlExpressionFactory sqlExpressionFactory) if (_startsWithMethodInfo.Equals(method)) { + var stringTypeMapping = ExpressionExtensions.InferTypeMapping(instance!, arguments[0]); return new MySQLStringComparisonMethodTranslator(_sqlExpressionFactory) - .MakeStartsWithExpression(instance!, arguments[0], _sqlExpressionFactory.Constant(StringComparison.CurrentCulture)); + .MakeStartsWithExpression(instance!, _sqlExpressionFactory.ApplyTypeMapping(arguments[0], stringTypeMapping), _sqlExpressionFactory.Constant(StringComparison.CurrentCulture)); } if (_endsWithMethodInfo.Equals(method)) { + var stringTypeMapping = ExpressionExtensions.InferTypeMapping(instance!, arguments[0]); return new MySQLStringComparisonMethodTranslator(_sqlExpressionFactory) - .MakeEndsWithExpression(instance!, arguments[0], _sqlExpressionFactory.Constant(StringComparison.CurrentCulture)); + .MakeEndsWithExpression(instance!, _sqlExpressionFactory.ApplyTypeMapping(arguments[0], stringTypeMapping), _sqlExpressionFactory.Constant(StringComparison.CurrentCulture)); } if (_padLeftWithOneArg.Equals(method))