This commit is contained in:
2881099
2024-08-19 16:42:02 +08:00
parent 0c7d438f06
commit 3335a84158
3 changed files with 27 additions and 22 deletions

View File

@ -93,11 +93,6 @@ public static class FreeSqlJsonMapCoreExtensions
case DataType.OdbcOracle:
case DataType.CustomOracle:
case DataType.Dameng:
case DataType.PostgreSQL:
case DataType.OdbcPostgreSQL:
case DataType.CustomPostgreSQL:
case DataType.KingbaseES:
case DataType.ShenTong:
fsql.Aop.ParseExpression += (_, e) =>
{
//if (e.Expression is MethodCallExpression callExp)
@ -170,13 +165,7 @@ public static class FreeSqlJsonMapCoreExtensions
StyleJsonValue();
return;
}
while (parentMemExps.Any())
{
memExp = parentMemExps.Pop();
var opt = parentMemExps.Any() ? "->" : $"->>{(memExp.Type.IsArrayOrList() ? "/*json array*/" : "")}";
result = $"{result}{opt}'{memExp.Member.Name}'";
}
e.Result = result;
StylePgJson();
return;
void StyleJsonExtract()
@ -197,6 +186,16 @@ public static class FreeSqlJsonMapCoreExtensions
}
e.Result = $"json_value({result},'${jsonPath}')";
}
void StylePgJson()
{
while (parentMemExps.Any())
{
memExp = parentMemExps.Pop();
var opt = parentMemExps.Any() ? "->" : $"->>{(memExp.Type.IsArrayOrList() ? "/*json array*/" : "")}";
result = $"{result}{opt}'{memExp.Member.Name}'";
}
e.Result = result;
}
}
}
}