From e9971e14255521fd66545bd6050848dd7fc995b0 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 22 Oct 2023 12:55:25 +0800 Subject: [PATCH] Update SqlServer MySql JsonIndex --- .../Realization/MySql/SqlBuilder/MySqlExpressionContext.cs | 6 ++++++ .../SqlServer/SqlBuilder/SqlServerExpressionContext.cs | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlExpressionContext.cs index 16d7a1efa..579124c4c 100644 --- a/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlExpressionContext.cs @@ -17,6 +17,12 @@ namespace SqlSugar } public class MySqlMethod : DefaultDbMethod, IDbMethods { + public override string JsonIndex(MethodCallExpressionModel model) + { + var parameter = model.Args[0]; + var parameter1 = model.Args[1]; + return $"JSON_UNQUOTE(JSON_EXTRACT({parameter.MemberName}, '$[{parameter1.MemberValue}]'))"; + } public override string WeekOfYear(MethodCallExpressionModel mode) { var parameterNameA = mode.Args[0].MemberName; diff --git a/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerExpressionContext.cs index 1ebf004df..2f9ac5892 100644 --- a/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerExpressionContext.cs @@ -20,6 +20,12 @@ namespace SqlSugar } public partial class SqlServerMethod : DefaultDbMethod, IDbMethods { + public override string JsonIndex(MethodCallExpressionModel model) + { + var parameter = model.Args[0]; + var parameter1 = model.Args[1]; + return $"JSON_VALUE({parameter.MemberName}, '$[{parameter1.MemberValue}]')"; + } public override string CharIndexNew(MethodCallExpressionModel model) { return string.Format("CHARINDEX ({1},{0})", model.Args[0].MemberName, model.Args[1].MemberName);