上節講完添加操作,這節將講述更新操作,Update<T>的使用。
先來例子:
//獲取Products表第一行
Products p = DbSession.Default.From<Products>().ToFirst();
//開啟修改 (修改操作之前 必須執行此方法)
p.Attach();
p.ProductName = "apple";
//獲取修改記錄
//List<ModifyField> list= p.GetModifyFields();
//清除修改記錄 (清除後更新操作無效)
//p.ClearModifyFields();
//更新
//返回0表示更新失敗 組件有事務會自動回滾
//返回1表示更新成功
//更新成功返回值就是受影響的條數
int returnvalue = DbSession.Default.Update<Products>(p);
這樣就完成了更新操作,將ProductName修改為 ”apple”.
與此等效語句也可寫為:
DbSession.Default.Update<Products>(Products._.ProductName, "apple", Products._.ProductID == 1);
一般只修改單個值的時候推薦這種做法。
還有一種值得推薦的做法是:
Dictionary<Field, object> dic = new Dictionary<Field, object>();
dic.Add(Products._.ProductName, "apple");
dic.Add(Products._.ReorderLevel, 20);
int returnvalue = DbSession.Default.Update<Products>(dic, Products._.ProductID == 1);
把需要修改的字段和值放到字典中,然後根據條件去更新。
修改操作是不是也很簡單了啊。
下一節將講述Delete<T>方法的使用。