关于STSDB更新对象的几点发现

一,如果表中存储的直接是简单对象,如<key,int>、<key,string>时

使用table[key] = 值即可完成更新;

二,如果表中存储的是类时,更新情况较为复杂,如<int,student>

如果使用

table[1].Name = "XXX";

table[1].Age = 20;

DB.Commit();

发现内存中的值可以被更新掉,只要程序不down,那么数据是更新状态。但是重启后我发现,STSDB的文件并没有更新,通过研究发现必须使用Table的Replace方法更新才行,而且要和开表写在同一段逻辑里面,不能使用方法来更新,例如:

   var table = DB.OpenTable<int.student>();

   student stu1 = table[1];

   //必须在此处更新和提交,不能写到别的地方去

   table.Replace(1.stu2);

   DB.Commit();

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值