diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UFastest.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UFastest.cs index 4527b3cc2..ae3496b28 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/UFastest.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UFastest.cs @@ -18,7 +18,7 @@ namespace OrmTest }); db.CodeFirst.InitTables(); - + db.DbMaintenance.TruncateTable(); //用例代码 db.Insertable(new Test2() { p = "1" }).ExecuteCommand();//用例代码 diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UJson.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UJson.cs index 0441ec58e..1f89b6293 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/UJson.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UJson.cs @@ -26,6 +26,14 @@ namespace OrmTest .SetColumns(it => it.Name=="a") .Where(it=>it.Id==1) .ExecuteCommand(); + var list3=Db.Queryable().Select(it => new + { + x = it + }).ToList(); + if (list3[0].x == null) + { + throw new Exception("unit error"); + } } } diff --git a/Src/Asp.Net/SqlSugar/Infrastructure/ContextMethods.cs b/Src/Asp.Net/SqlSugar/Infrastructure/ContextMethods.cs index 98be67fdd..219cbe93b 100644 --- a/Src/Asp.Net/SqlSugar/Infrastructure/ContextMethods.cs +++ b/Src/Asp.Net/SqlSugar/Infrastructure/ContextMethods.cs @@ -402,9 +402,24 @@ namespace SqlSugar if (suagrColumn != null && suagrColumn.IsJson) { var key = (typeName + "." + name).ToLower(); - if (readerValues.ContainsKey(key)&& readerValues[key]!=null) + if (readerValues.Any(it=>it.Key.EqualCase(key))) + { + var jsonString = readerValues.First(it => it.Key.EqualCase(key)).Value; + if (jsonString != null) + { + if (jsonString.ToString().First() == '{'&& jsonString.ToString().Last() == '}') + { + result.Add(name, this.DeserializeObject>(jsonString + "")); + } + else + { + result.Add(name, this.DeserializeObject>>(jsonString + "")); + + } + } + } + else { - result.Add(name,this.DeserializeObject>>(readerValues[key]+"")); } } else