使用"在"对于LiteDB

时间:2017-12-28 00:01:43

标签: xamarin.forms where-in litedb

我喜欢在Xamarin.Forms中使用LiteDB。使用条件中的id或索引列表从表中获取对象列表的最佳实践是什么? 目前,它像这样找我:

{{1}}

listValues - 搜索到的ID列表。 idColumnName - 带索引的列。

但FindAll会从LiteDB中恢复所有记录。没有全面扫描,还有更多的效率选项吗?

1 个答案:

答案 0 :(得分:0)

使用Find方法中的查询,该查询仅根据您的查询而不是完整数据集检索条目。根据LiteDB的指导,这比Linq对返回的完整数据的查询更有效:https://github.com/mbdavid/LiteDB/wiki/Queries

所以你的查询如下所示

_d.GetCollection<T>().Find(q => listValues.Contains(Convert.ToInt32(q.GetProperty(idColumnName))))