微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LiteDB-从现场读取

如何解决LiteDB-从现场读取

这是我第一次使用LiteDB,我被困住了。我正在尝试从我的LiteDB中读取int。

var iLatestID = MainDB_Coll.FindOne(Query.All("iID",1));
if (iLatestID == null)
{
  MessageBox.Show("NULL");
  DatabaseTemplate.iID = 1;
}
else
{
  MessageBox.Show(int.Parse(iLatestID.ToString()).ToString());
  DatabaseTemplate.iID = int.Parse(iLatestID.ToString()) + 1;
}

好像iLatestID.ToString()返回一个错误的字符串... 还有什么其他方法可以从“ iID”字段中读取?

解决方法

LiteCollection<Table> MainDB_iIDs = MainDB.GetCollection<Table>;
MainDB_iIDs.EnsureIndex(x => x.iID);
          
var vField = MainDB_iIDs.FindOne(Query.All("iID",1));
if (vField == null)
{
  MessageBox.Show("NULL");
  DatabaseTemplate.iID = 1;
}
else
{
  int iMaxID = int.Parse(MainDB_iIDs.Max().ToString());
  MessageBox.Show(iMaxID.ToString());
  DatabaseTemplate.iID = iMaxID + 1;
}

似乎可以解决问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。