上节讲完添加操作,这节将讲述更新操作,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>方法的使用。