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

 

posted on 2010-01-23 23:46  steven hu  阅读(5402)  评论(25编辑  收藏  举报