From 614b9971a30503234cf54ae19acd0ed8501f93a6 Mon Sep 17 00:00:00 2001 From: skx <610262374@qq.com> Date: Fri, 18 Dec 2020 21:13:38 +0800 Subject: [PATCH] Update bluecopy --- .../SqlServerTest/UnitTest/Updateable.cs | 33 ++++++++++++------- .../SqlServer/SqlBuilder/SqlServerBlueCopy.cs | 4 +++ 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Updateable.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Updateable.cs index dd4faecbd..43994aa61 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/Updateable.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/Updateable.cs @@ -13,12 +13,12 @@ namespace OrmTest { Db.CodeFirst.InitTables(typeof(UnitUser)); Db.DbMaintenance.TruncateTable(); - Db.Insertable(new UnitUser() { USER_ID=1,USER_ACCOUNT = "a", USER_PWD = "b", USER_NAME = "c", PWD_LASTCHTIME = DateTime.Now, PWD_ERRORCOUNT = 1, PWD_LASTERRTIME = DateTime.Now }).ExecuteCommand(); - Db.Updateable(new UnitUser() { USER_ID=1, PWD_LASTERRTIME = null }).WhereColumns(it=> new{ it.PWD_ERRORCOUNT, it.PWD_LASTERRTIME }).ExecuteCommand(); + Db.Insertable(new UnitUser() { USER_ID = 1, USER_ACCOUNT = "a", USER_PWD = "b", USER_NAME = "c", PWD_LASTCHTIME = DateTime.Now, PWD_ERRORCOUNT = 1, PWD_LASTERRTIME = DateTime.Now }).ExecuteCommand(); + Db.Updateable(new UnitUser() { USER_ID = 1, PWD_LASTERRTIME = null }).WhereColumns(it => new { it.PWD_ERRORCOUNT, it.PWD_LASTERRTIME }).ExecuteCommand(); Db.CodeFirst.InitTables(typeof(UnitBoolTest)); var x = new UnitBoolTest(); - Db.Updateable().SetColumns(it => new UnitBoolTest() { BoolValue = !it.BoolValue }).Where(it=>it.Id==1).ExecuteCommand(); - Db.Updateable().SetColumns(it => it.BoolValue == !it.BoolValue ).Where(it=>it.Id==1).ExecuteCommand(); + Db.Updateable().SetColumns(it => new UnitBoolTest() { BoolValue = !it.BoolValue }).Where(it => it.Id == 1).ExecuteCommand(); + Db.Updateable().SetColumns(it => it.BoolValue == !it.BoolValue).Where(it => it.Id == 1).ExecuteCommand(); Db.Updateable().SetColumns(it => new UnitBoolTest() { BoolValue = x.BoolValue }).Where(it => it.Id == 1).ExecuteCommand(); Db.Updateable().SetColumns(it => it.BoolValue == x.BoolValue).Where(it => it.Id == 1).ExecuteCommand(); Db.Updateable().SetColumns(it => new UnitBoolTest() { BoolValue = !x.BoolValue }).Where(it => it.Id == 1).ExecuteCommand(); @@ -26,7 +26,7 @@ namespace OrmTest Db.Updateable(x).ReSetValue(it => it.BoolValue == it.BoolValue).ExecuteCommand(); Db.Updateable(x).ReSetValue(it => it.BoolValue == true).ExecuteCommand(); Db.Updateable(x).ReSetValue(it => it.BoolValue == !it.BoolValue).ExecuteCommand(); - Db.Updateable(x).UpdateColumns(it =>new { it.BoolValue }) .ExecuteCommand(); + Db.Updateable(x).UpdateColumns(it => new { it.BoolValue }).ExecuteCommand(); @@ -49,7 +49,7 @@ namespace OrmTest sql = Db.Updateable().SetColumns(it => new UnitDiary() { - TypeID = saveDiary.TypeID, + TypeID = saveDiary.TypeID, }).Where(it => it.ID == saveDiary.ID).ToSql(); UValidate.Check(sql.Key, @"UPDATE [Diary] SET [TypeID] = @Const0 WHERE ( [ID] = @ID1 )", "Updateable"); @@ -62,7 +62,7 @@ namespace OrmTest UValidate.Check(sql.Key, @"UPDATE [Diary] SET [TypeID] = @Const0 WHERE ( [ID] = @ID1 )", "Updateable"); - sql=Db.Updateable().SetColumns(it => new NullTest() + sql = Db.Updateable().SetColumns(it => new NullTest() { p = true @@ -81,20 +81,31 @@ namespace OrmTest Db.Updateable() .SetColumns(it => it.Name == "a") .SetColumns(it => it.CreateTime == DateTime.Now) - .SetColumns(it=>it.Price==1).Where(it=>it.Id==1).ExecuteCommand(); + .SetColumns(it => it.Price == 1).Where(it => it.Id == 1).ExecuteCommand(); Db.Updateable() - .SetColumns(it =>new Order{ Name="a",CreateTime=DateTime.Now }) - .SetColumns(it => it.Price==1).Where(it => it.Id == 1).ExecuteCommand(); + .SetColumns(it => new Order { Name = "a", CreateTime = DateTime.Now }) + .SetColumns(it => it.Price == 1).Where(it => it.Id == 1).ExecuteCommand(); Db.Updateable() .SetColumns(it => new Order { Name = "a", CreateTime = DateTime.Now }) - .SetColumns(it => new Order() { Price=1 }).Where(it => it.Id == 1).ExecuteCommand(); + .SetColumns(it => new Order() { Price = 1 }).Where(it => it.Id == 1).ExecuteCommand(); + + Db.CodeFirst.InitTables(); + Db.Insertable(new Unitbluecopy()).UseSqlServer().ExecuteBlueCopy(); } } + + public class Unitbluecopy + { + public int Id { get; set; } + [SugarColumn(IsNullable =true)] + public decimal? x { get; set; } + } + public class NullTest { public int id { get; set; } diff --git a/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerBlueCopy.cs b/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerBlueCopy.cs index ba847fb2c..b3fdbaf8f 100644 --- a/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerBlueCopy.cs +++ b/Src/Asp.Net/SqlSugar/Realization/SqlServer/SqlBuilder/SqlServerBlueCopy.cs @@ -81,6 +81,10 @@ namespace SqlSugar value.Value = Convert.ToDateTime("1753/01/01"); } } + if (value.Value == null) + { + value.Value = DBNull.Value; + } dr[item.ColumnName] = value.Value; } }