diff --git a/Src/Asp.Net/SqlSugar/Abstract/DbBindProvider/IDataRecordExtensions.cs b/Src/Asp.Net/SqlSugar/Abstract/DbBindProvider/IDataRecordExtensions.cs index 003c4dff1..1dfe2536e 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/DbBindProvider/IDataRecordExtensions.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/DbBindProvider/IDataRecordExtensions.cs @@ -153,6 +153,18 @@ namespace SqlSugar { return UtilMethods.To(dr.GetConvertDouble(i)); } + if (dr.GetFieldType(i) == UtilConstants.GuidType) + { + var data = dr.GetString(i); + if (data.ToString() == "") + { + return UtilMethods.To(null); + } + else + { + return UtilMethods.To(Guid.Parse(data.ToString())); + } + } throw new Exception(ex.Message); } } diff --git a/Src/Asp.Net/SqliteTest/UnitTest/UJson.cs b/Src/Asp.Net/SqliteTest/UnitTest/UJson.cs index 354187108..04542f25b 100644 --- a/Src/Asp.Net/SqliteTest/UnitTest/UJson.cs +++ b/Src/Asp.Net/SqliteTest/UnitTest/UJson.cs @@ -13,10 +13,10 @@ namespace OrmTest { Db.CodeFirst.InitTables(); Db.DbMaintenance.TruncateTable(); - Db.Insertable(new UnitJsonTest() { Order = new Order { Id = 1, Name = "order1" } }).ExecuteCommand(); + var id=Db.Insertable(new UnitJsonTest() { Order = new Order { Id = 1, Name = "order1" } }).ExecuteReturnIdentity(); var list = Db.Queryable().ToList(); UValidate.Check("order1", list.First().Order.Name, "Json"); - Db.Updateable(new UnitJsonTest() { Id = 1, Order = new Order { Id = 2, Name = "order2" } }).ExecuteCommand(); + Db.Updateable(new UnitJsonTest() { Id = id, Order = new Order { Id = 1, Name = "order2" } }).ExecuteCommand(); list= Db.Queryable().ToList(); UValidate.Check("order2", list.First().Order.Name, "Json"); var list2 = Db.Queryable().ToList(); diff --git a/Src/Asp.Net/SqliteTest/UnitTest/UQueryable.cs b/Src/Asp.Net/SqliteTest/UnitTest/UQueryable.cs index bac46dc74..ff6775053 100644 --- a/Src/Asp.Net/SqliteTest/UnitTest/UQueryable.cs +++ b/Src/Asp.Net/SqliteTest/UnitTest/UQueryable.cs @@ -78,8 +78,20 @@ namespace OrmTest CheckMan = saleOrderInfo.CheckMan, CheckTime = DateTime.Now }, o => o.OrderSn == saleOrderInfo.OrderSn && o.OrderStatus != 1); + + Db.CodeFirst.InitTables(); + Db.Insertable(new UnitAbc121() { name="a" }).ExecuteCommand(); + Db.Insertable(new UnitAbc121() { name = "a", uid=Guid.NewGuid() }).ExecuteCommand(); + var list10= Db.Queryable().ToList(); } + + public class UnitAbc121 + { + [SugarColumn(IsNullable =true)] + public Guid? uid { get; set; } + public string name { get; set; } + } public static class IEnumerbleContains { public static IEnumerable Data()