ITPub博客

首页 > 数据库 > > 关于STSDB更新对象的几点发现

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

作者:LCR_ 时间:2022-04-14 10:55:39 0 删除 编辑

一,如果表中存储的直接是简单对象,如<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();

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70000523/viewspace-3151474/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-02-22

  • 博文量
    1402
  • 访问量
    15147