Xamarin Forms如何按时间排序查询指定WebContentId的本地数据库数据
解决按createdTime排序的问题
你只需要在现有的LINQ查询链中添加排序逻辑就可以了。因为你的createdTime是13位Java时间戳,且最新消息默认存在数据库末尾(也就是createdTime值更大的记录更晚被插入),所以想要让返回的列表里最新消息排在最前面,应该用降序排序。
修改后的方法代码
public List<Messages> GetAllItemsByWebContentId(string webContentId) { lock (locker) { return database.Table<Messages>() .Where(o => o.webContentDefinitionId == webContentId) .OrderByDescending(o => o.createdTime) // 添加这一行实现降序排序 .ToList(); } }
补充说明
- 如果你的需求是让最早的消息排在最前面,只需要把
OrderByDescending换成OrderBy即可:.OrderBy(o => o.createdTime) - 你的
Messages模型中createdTime是long类型,完全支持LINQ的排序操作,不需要额外转换类型。
内容的提问来源于stack exchange,提问作者Sreejith Sree
相关产品推荐
相关产品推荐

