我喜欢在Xamarin.Forms中使用LiteDB。使用条件中的id或索引列表从表中获取对象列表的最佳实践是什么? 目前,它像这样找我:
{{1}}
listValues - 搜索到的ID列表。 idColumnName - 带索引的列。
但FindAll会从LiteDB中恢复所有记录。没有全面扫描,还有更多的效率选项吗?
答案 0 :(得分:0)
使用Find方法中的查询,该查询仅根据您的查询而不是完整数据集检索条目。根据LiteDB的指导,这比Linq对返回的完整数据的查询更有效:https://github.com/mbdavid/LiteDB/wiki/Queries
所以你的查询如下所示
_d.GetCollection<T>().Find(q => listValues.Contains(Convert.ToInt32(q.GetProperty(idColumnName))))