Browse Source

Synchronous version

pull/18/head
sunkaixuan 3 years ago
parent
commit
31743774d7
  1. 11
      Src/Asp.Net/SqlSugar/Infrastructure/ContextMethods.cs

11
Src/Asp.Net/SqlSugar/Infrastructure/ContextMethods.cs

@ -294,7 +294,8 @@ namespace SqlSugar
}
else if (IsJsonList(readerValues, item))
{
result.Add(name, DeserializeObject<List<Dictionary<string, object>>>(readerValues[item.Name.ToLower()].ToString()));
var json = readerValues.First(y => y.Key.EqualCase(item.Name)).Value.ToString();
result.Add(name, DeserializeObject<List<Dictionary<string, object>>>(json));
}
else if (IsBytes(readerValues, item))
{
@ -374,10 +375,10 @@ namespace SqlSugar
private static bool IsJsonList(Dictionary<string, object> readerValues, PropertyInfo item)
{
return item.PropertyType.FullName.IsCollectionsList() &&
readerValues.ContainsKey(item.Name.ToLower()) &&
readerValues[item.Name.ToLower()] != null &&
readerValues[item.Name.ToLower()].GetType() == UtilConstants.StringType &&
Regex.IsMatch(readerValues[item.Name.ToLower()].ToString(), @"^\[{.+\}]$");
readerValues.Any(y=>y.Key.EqualCase(item.Name)) &&
readerValues.First(y => y.Key.EqualCase(item.Name)).Value != null &&
readerValues.First(y => y.Key.EqualCase(item.Name)).Value.GetType() == UtilConstants.StringType &&
Regex.IsMatch(readerValues.First(y => y.Key.EqualCase(item.Name)).Value.ToString(), @"^\[{.+\}]$");
}
private Dictionary<string, object> DataReaderToDynamicList_Part<T>(Dictionary<string, object> readerValues, PropertyInfo item, List<T> reval, Dictionary<string, string> mappingKeys=null)

Loading…
Cancel
Save