Update ContextMethods

This commit is contained in:
skx
2020-10-12 19:41:38 +08:00
parent 9ce8d75d92
commit e9cbad51d5

View File

@@ -7,6 +7,7 @@ using System.Dynamic;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace SqlSugar namespace SqlSugar
{ {
@@ -276,9 +277,21 @@ namespace SqlSugar
var name = item.Name; var name = item.Name;
var typeName = tType.Name; var typeName = tType.Name;
if (item.PropertyType.IsClass()) if (item.PropertyType.IsClass())
{
if (readerValues != null &&
readerValues.Count == 1 &&
readerValues.First().Key == name &&
readerValues.First().Value!=null&&
readerValues.First().Value.GetType()==UtilConstants.StringType&&
Regex.IsMatch(readerValues.First().Value.ObjToString(), @"^\{.+\}$"))
{
result.Add(name, DeserializeObject<Dictionary<string,object>>(readerValues.First().Value.ObjToString()));
}
else
{ {
result.Add(name, DataReaderToDynamicList_Part(readerValues, item, reval)); result.Add(name, DataReaderToDynamicList_Part(readerValues, item, reval));
} }
}
else else
{ {
if (readerValues.Any(it => it.Key.Equals(name, StringComparison.CurrentCultureIgnoreCase))) if (readerValues.Any(it => it.Key.Equals(name, StringComparison.CurrentCultureIgnoreCase)))