Xamarin 如何使用Akavache实现大数据搜索?

Xamarin 如何使用Akavache实现大数据搜索?,xamarin,xamarin.ios,xamarin.android,xamarin.forms,akavache,Xamarin,Xamarin.ios,Xamarin.android,Xamarin.forms,Akavache,我一直在一个android应用程序中使用Xamarin表单,并使用Akavache在设备中本地存储数据。到目前为止,它都是完美的,但现在我需要保存更多的数据(大约1万到2万条记录),并在这些数据中提供搜索功能。使用Akavache实现此类功能的最佳解决方案是什么?我不会使用Akavache来实现这一点,为什么?好吧,因为您要么必须将所有数据保存在一个键中,然后为了搜索,您将需要加载所有数据(再次),然后使用LINQ进行过滤,要么您将需要执行一个肮脏的魔术,使每一行在Akavache字典中都有自己

我一直在一个android应用程序中使用Xamarin表单,并使用Akavache在设备中本地存储数据。到目前为止,它都是完美的,但现在我需要保存更多的数据(大约1万到2万条记录),并在这些数据中提供搜索功能。使用Akavache实现此类功能的最佳解决方案是什么?

我不会使用Akavache来实现这一点,为什么?好吧,因为您要么必须将所有数据保存在一个键中,然后为了搜索,您将需要加载所有数据(再次),然后使用LINQ进行过滤,要么您将需要执行一个肮脏的魔术,使每一行在Akavache字典中都有自己的键


不要朝自己的脚开枪,而是使用SQLite.Net-PCL。设置很简单,以后查询也不会那么痛苦。

Akavache
是一个键值存储,在
值上没有搜索功能,因为值作为字节数组存储在SQLite表(
CacheElement
)中。。。您最好为Xamarin使用SQLite ORM/框架或领域。事实上,使用SQLite.net PCL可能会更痛苦。如果您将有3-4层的关系数据,并且希望级联删除操作。例如,你有一个考试学生学校。您希望删除学校,并希望删除所有相关的学生和考试。这是SQLIte.Net中的一个难题,它运行缓慢。更新和删除也是如此。