diff --git a/OrmTest/Demo/Update.cs b/OrmTest/Demo/Update.cs index 342713215..8130f06c8 100644 --- a/OrmTest/Demo/Update.cs +++ b/OrmTest/Demo/Update.cs @@ -1,4 +1,6 @@ -using System; +using OrmTest.Models; +using SqlSugar; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,7 +8,53 @@ using System.Threading.Tasks; namespace OrmTest.Demo { - class Update + public class Update { + public static void Init() { + var db = GetInstance(); + var updateObj = new Student() { Id = 1, Name = "jack", SchoolId = 0, CreateTime = Convert.ToDateTime("2017-05-21 09:56:12.610") }; + var updateObjs = new List() { updateObj, new Student() { Id = 2, Name = "sun", SchoolId = 0 } }.ToArray(); + db.IgnoreColumns.Add("TestId", "Student"); + //db.MappingColumns.Add("id","dbid", "Student"); + + + //update reutrn Update Count + var t1= db.Updateable(updateObj).ExecuteCommand(); + + //Only update Name + var t3 = db.Updateable(updateObj).UpdateColumns(it => new { it.Name }).ExecuteCommand(); + + + //Ignore Name and TestId + var t4 = db.Updateable(updateObj).IgnoreColumns(it => new { it.Name, it.TestId }).ExecuteCommand(); + + //Ignore Name and TestId + var t5 = db.Updateable(updateObj).IgnoreColumns(it => it == "Name" || it == "TestId").With(SqlWith.UpdLock).ExecuteCommand(); + + + //Use Lock + var t6 = db.Updateable(updateObj).With(SqlWith.UpdLock).ExecuteCommand(); + + //update List + var t7 = db.Updateable(updateObjs).ExecuteCommand(); + + //Re Set Value + var t8 = db.Updateable(updateObj) + .ReSetValue(it => it.Name == (it.Name + 1)).ExecuteCommand(); + + //Where By Expression + var t9 = db.Updateable(updateObj).Where(it => it.Id == 1).ExecuteCommand(); + } + public static SqlSugarClient GetInstance() + { + SqlSugarClient db = new SqlSugarClient(new SystemTablesConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true }); + db.Ado.IsEnableLogEvent = true; + db.Ado.LogEventStarting = (sql, pars) => + { + Console.WriteLine(sql + "\r\n" + db.RewritableMethods.SerializeObject(pars)); + Console.WriteLine(); + }; + return db; + } } } diff --git a/OrmTest/Program.cs b/OrmTest/Program.cs index 155775fa1..6488e73be 100644 --- a/OrmTest/Program.cs +++ b/OrmTest/Program.cs @@ -37,6 +37,7 @@ namespace OrmTest OrmTest.Demo.Query.Init(); OrmTest.Demo.Insert.Init(); OrmTest.Demo.Delete.Init(); + OrmTest.Demo.Update.Init(); } } } diff --git a/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs b/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs index fb326980c..9349e4c5a 100644 --- a/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs +++ b/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs @@ -25,7 +25,7 @@ namespace SqlSugar public int ExecuteCommand() { PreToSql(); - return this.Ado.ExecuteCommand(UpdateBuilder.ToSqlString(), UpdateBuilder.Parameters.ToArray()); + return this.Ado.ExecuteCommand(UpdateBuilder.ToSqlString(), UpdateBuilder.Parameters==null?null:UpdateBuilder.Parameters.ToArray()); } public IUpdateable IgnoreColumns(Func ignoreColumMethod)