上节讲完添加操作,这节将讲述更新操作,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>方法的使用。
作者:steven hu
出处:http://www.cnblogs.com/huxj
MSN: cn_huxj@hotmail.com
交流QQ群:60831381
版权声明:欢迎任何网络媒体和网站转载本人博客的内容,只需注明作者和主博客文章地址的链接。另有约定者除外。
此声明随时可能修改,不另行通知。
出处:http://www.cnblogs.com/huxj
MSN: cn_huxj@hotmail.com
交流QQ群:60831381
版权声明:欢迎任何网络媒体和网站转载本人博客的内容,只需注明作者和主博客文章地址的链接。另有约定者除外。
此声明随时可能修改,不另行通知。
评论快速通道: