obase社区Obase开发者QQ群:962698871
obase

欢迎查阅
OBASE帮助文档

之前我们已经在快速入门讲过就地修改方法,这里仍然使用快速入门一节的模型复习一下。就地修改方法是值ObjectSet的Delete,SetAttribute,IncreaseAttribute三个方法,这三个方法无需调用SaveChanges方法即可保存至持久层。但同时,这三个方法也只能修改当前对象集合,不会更改他们的关联对象。


//直接删除对象集合中所有符合IntNumber == 1的对象

var affectCount = context.JavaBeans.Delete(p => p.IntNumber == 1);

直接删除方法接收一个参数,用于筛选所有符合条件的对象并加以删除,并会返回受到影响的行数。


//直接修改对象集合中所有符合IntNumber == 1的对象 将DateTime修改至当前时间

var affectCount = context.JavaBeans.SetAttributes(new[] {new KeyValuePair<string, object>("DateTime", DateTime.Now)},

p => p.IntNumber == 1);

直接修改方法(设置新值)接收两个参数,一个是新值键值对集合,这个集合要与持久化中的对应字段相匹配,否则会报错;另一个是筛选条件,这与之前的直接删除方法一致。此方法会返回受到影响的行数,并将指定的字段覆盖为新的值。


//直接修改对象集合中所有符合IntNumber == 1的对象 将DateTime修改至当前时间

var affectCount = context.JavaBeans.IncreaseAttributes(new[] {new KeyValuePair<string, object>("DecimalNumber", 1)},

p => p.IntNumber == 1);

直接修改方法(递增新值)接收两个参数,一个是新值键值对集合,这个集合要与持久化中的对应字段相匹配,否则会报错;另一个是筛选条件,这与之前的直接删除方法一致。此方法会返回受到影响的行数,并将指定的字段以累加的方式设置为新的值,即上方的例子中如果DecimalNumber是2,则调用IncreaseAttributes后会被设置成3。

没有找到您需要的文档?

您还可以通过人工服务在线咨询,服务时间为每天上午9点至下午6点。

If you can't find required answer, get in touch with us online. We provide service from 9:00 to 18:00.

让编程成为一件快乐的事
现在开始