diff --git a/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlExpressionContext.cs index 94db64913..336d7d0ae 100644 --- a/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlExpressionContext.cs @@ -217,5 +217,28 @@ namespace SqlSugar { return $"{memberName1}->\"$.{memberName2}\""; } + + public override string JsonArrayAny(MethodCallExpressionModel model) + { + if (UtilMethods.IsNumber(model.Args[1].MemberValue.GetType().Name)) + { + return $"JSON_CONTAINS({model.Args[0].MemberName}, '{model.Args[1].MemberValue}')"; + } + else + { + return $"JSON_CONTAINS({model.Args[0].MemberName}, '\"{model.Args[1].MemberValue.ObjToStringNoTrim().ToSqlFilter()}\"')"; + } + } + public override string JsonListObjectAny(MethodCallExpressionModel model) + { + if (UtilMethods.IsNumber(model.Args[2].MemberValue.GetType().Name)) + { + return $"JSON_CONTAINS({model.Args[0].MemberName},'{{\"{model.Args[1].MemberValue}\":{model.Args[2].MemberValue}}}')"; + } + else + { + return $"JSON_CONTAINS({model.Args[0].MemberName},'{{\"{model.Args[1].MemberValue}\":\"{model.Args[2].MemberValue.ObjToStringNoTrim().ToSqlFilter()}\"}}')"; + } + } } } diff --git a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs index e08967fd0..cebea6248 100644 --- a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs @@ -448,7 +448,7 @@ namespace SqlSugar { if (UtilMethods.IsNumber(model.Args[1].MemberValue.GetType().Name)) { - return $"{model.Args[0].MemberName}::jsonb @> '[{model.Args[1].MemberValue}]'::jsonb"; + return $"{model.Args[0].MemberName}::jsonb @> '[{model.Args[1].MemberValue.ObjToStringNoTrim().ToSqlFilter()}]'::jsonb"; } else { @@ -463,7 +463,7 @@ namespace SqlSugar } else { - return $"{model.Args[0].MemberName}::jsonb @> '[{{\"{model.Args[1].MemberValue}\":\"{model.Args[2].MemberValue}\"}}]'::jsonb"; + return $"{model.Args[0].MemberName}::jsonb @> '[{{\"{model.Args[1].MemberValue}\":\"{model.Args[2].MemberValue.ObjToStringNoTrim().ToSqlFilter()}\"}}]'::jsonb"; } } }