一.添加數據
特別說明:
1.特別說明:對於自增長列的表插入數據后,當前自增長列的字段,仍舊為0,但可以通過Insert方法的返回值來獲取
SqlSugarClient db = SugarContext.GetInstance(); //插入單條 db.Insert<student>(new student() { sno = "110", sname = "張三豐", ssex = "男", sbirthday = new DateTime(1900, 10, 10), @class = "95031" }); //特別說明:對於自增長列的表插入數據后,當前自增長列的字段,仍舊為0 //但可以通過Insert方法的返回值來獲取 UserInfo user1 = new UserInfo() { Name = "ceshi" }; object idResult = db.Insert<UserInfo>(user1); Console.WriteLine(user1.ToJsonString()); Console.WriteLine(idResult); //插入多條 List<student> stuList = new List<student>() { new student() { sno = "111", sname = "張無忌", ssex = "男", sbirthday = new DateTime(1900, 10, 10), @class = "95031" }, new student() { sno = "112", sname = "花無缺", ssex = "男", sbirthday = new DateTime(1900, 10, 10), @class = "95031" }}; db.InsertRange(stuList); //設置不插入列,注意,這是全局設置,當執行完對應的操作需要清空 db.DisableInsertColumns = new string[] { "ssex", "sbirthday", "class" }; db.Insert(new student() { sno = "113", sname = "小明" }); db.DisableInsertColumns = null; Console.WriteLine(db.Queryable<student>().Count());
二、修改數據
//SqlSugar 支持匿名對象方式更新,支持對象部分數據更新 SqlSugarClient db = SugarContext.GetInstance(); //1.匿名對象更新 bool result1 = db.Update<UserInfo>(new { name = "張三豐" }, q => q.UserID == 4); Console.WriteLine(result1); //2.批量更新 int[] idList = new int[] { 2, 3, 5 }; db.Update<UserInfo>(new { name = "網名" }, q => idList.Contains(q.UserID)); //3.指定對象更新 bool result3 = db.Update<student>(new student() { sno = "112", sname = "王麗華" }); Console.WriteLine(result3); //4.指定對象更新,需要先獲取在修改 student stu1 = db.Queryable<student>() .Where(q => q.sno == "112") .First(); stu1.ssex = "女"; stu1.sbirthday = new DateTime(1919, 10, 10); stu1.@class = "95032"; bool result4 = db.Update(stu1); Console.WriteLine(result4); //5.設置不更新列 //db.DisableUpdateColumns ,指定不更新列,執行完修改后,再清空
三、刪除數據
SqlSugarClient db = SugarContext.GetInstance(); //1.指定主鍵刪除 bool result1 = db.Delete<UserInfo, int>(4); Console.WriteLine(result1); //2.指定條件刪除 bool result2 = db.Delete<UserInfo>(q => q.UserID >= 3); Console.WriteLine(result2); //3.指定主鍵批量刪除 bool result3 = db.Delete<UserInfo, string>(q => q.Name, new string[] { "張三豐", "王小明" }); Console.WriteLine(result3); //4.指定非主鍵批量刪除 bool result4 = db.Delete<UserInfo, int>(q => q.UserID, new int[] { 8, 2 }); Console.WriteLine(result4); //5.指定實體對象刪除(必須要有主鍵) bool result5 = db.Delete(new UserInfo() { UserID = 13 }); Console.WriteLine(result5); //6.指定Sql的where的片段刪除 bool result6 = db.Delete<UserInfo>("UserID=@UserID", new { UserID = 12 }); Console.WriteLine(result6);
更多參考: