SqlSugar常用增刪改操作


一.添加數據

特別說明:

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);

更多參考:

SqlSugar常用查詢實例-拉姆達表達式

SqlSugar框架T4模板的使用

.Net開源SqlServer ORM框架SqlSugar整理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM