mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-09 02:44:58 +08:00
Update json 2 sql
This commit is contained in:
@@ -55,8 +55,8 @@ namespace SqlSugar
|
||||
if (item.Value == null)
|
||||
return null;
|
||||
var valueString = item.Value.ToString();
|
||||
var vallue = SqlValueHelper.GetValue(valueString);
|
||||
var type = SqlValueHelper.GetType(valueString);
|
||||
var vallue = Json2SqlHelper.GetValue(valueString);
|
||||
var type = Json2SqlHelper.GetType(valueString);
|
||||
return UtilMethods.ConvertDataByTypeName(type,vallue);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ namespace SqlSugar
|
||||
private string GetSqlPartByString(object value, List<SugarParameter> pars)
|
||||
{
|
||||
var valueString = value.ObjToString().Trim();
|
||||
if (SqlValueHelper.IsSqlValue(valueString))
|
||||
if (Json2SqlHelper.IsSqlValue(valueString))
|
||||
{
|
||||
return GetParameterName(pars, valueString);
|
||||
}
|
||||
@@ -105,9 +105,9 @@ namespace SqlSugar
|
||||
}
|
||||
private string GetParameterName(List<SugarParameter> pars, string valueString)
|
||||
{
|
||||
object parvalue = SqlValueHelper.GetValue(valueString);
|
||||
object parvalue = Json2SqlHelper.GetValue(valueString);
|
||||
SugarParameter parameter = new SugarParameter("@p" + pars.Count(), parvalue);
|
||||
var type = SqlValueHelper.GetType(valueString);
|
||||
var type = Json2SqlHelper.GetType(valueString);
|
||||
parvalue = UtilMethods.ConvertDataByTypeName(type, parvalue.ObjToString());
|
||||
var parname = GetParameterName(pars, parvalue);
|
||||
return parname;
|
||||
|
||||
39
Src/Asp.Net/SqlSugar/Json2Sql/Utils/Json2SqlHelper.cs
Normal file
39
Src/Asp.Net/SqlSugar/Json2Sql/Utils/Json2SqlHelper.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Linq;
|
||||
namespace SqlSugar
|
||||
{
|
||||
internal class Json2SqlHelper
|
||||
{
|
||||
public static bool IsSqlValue(string valueString)
|
||||
{
|
||||
return Regex.IsMatch(valueString, @"^\{\w{1,10}\}\:");
|
||||
}
|
||||
public static string GetType(string valueString)
|
||||
{
|
||||
return Regex.Match(valueString, @"^\{(\w+)\}\:").Groups[1].Value;
|
||||
}
|
||||
public static string GetValue(string valueString)
|
||||
{
|
||||
return Regex.Replace(valueString, @"^\{\w{1,10}\}\:", "");
|
||||
}
|
||||
|
||||
public static List<string> GetTableNames(string json)
|
||||
{
|
||||
List<string> result = new List<string>();
|
||||
var mainTable = JObject.Parse(json).AsJEnumerable().Where(it =>
|
||||
it.Path.ToLower().IsIn(
|
||||
JsonProviderConfig.KeyInsertable.Get().ToLower(),
|
||||
JsonProviderConfig.KeyUpdateable.Get().ToLower(),
|
||||
JsonProviderConfig.KeyDeleteable.Get().ToLower(),
|
||||
JsonProviderConfig.KeyQueryable.Get().ToLower()
|
||||
)).FirstOrDefault();
|
||||
if (mainTable != null)
|
||||
result.Add(mainTable.First().ToString());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
internal class SqlValueHelper
|
||||
{
|
||||
public static bool IsSqlValue(string valueString)
|
||||
{
|
||||
return Regex.IsMatch(valueString, @"^\{\w{1,10}\}\:");
|
||||
}
|
||||
public static string GetType(string valueString)
|
||||
{
|
||||
return Regex.Match(valueString, @"^\{(\w+)\}\:").Groups[1].Value;
|
||||
}
|
||||
public static string GetValue(string valueString)
|
||||
{
|
||||
return Regex.Replace(valueString, @"^\{\w{1,10}\}\:", "");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -31,16 +31,7 @@ namespace SqlSugar
|
||||
}
|
||||
public List<string> GetTableNameList(string json)
|
||||
{
|
||||
List<string> result = new List<string>();
|
||||
var mainTable = JObject.Parse(json).AsJEnumerable().Where(it =>
|
||||
it.Path.ToLower().IsIn(
|
||||
JsonProviderConfig.KeyInsertable.Get().ToLower(),
|
||||
JsonProviderConfig.KeyUpdateable.Get().ToLower(),
|
||||
JsonProviderConfig.KeyDeleteable.Get().ToLower(),
|
||||
JsonProviderConfig.KeyQueryable.Get().ToLower()
|
||||
)).FirstOrDefault();
|
||||
if (mainTable != null)
|
||||
result.Add(mainTable.First().ToString());
|
||||
List<string> result = Json2SqlHelper.GetTableNames(json);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user