Формы Xamarin: Как выбрать все элементы из локальной БД в отсортированном порядке времени - PullRequest
1 голос
/ 19 марта 2019

Я реализовал локальную БД в своем проекте, и я использую следующий код, чтобы выбрать все элементы из локальной БД, имеющие определенный webContentId.

public List<Messages> GetAllItemsByWebContentId(string webContentId)
    {
        lock (locker)
        {
            return database.Table<Messages>().Where(o => o.webContentDefinitionId == webContentId).ToList();
        }
    }

Messages - это мой класс модели.

public class Messages
    {
        public Messages()
        {
        }
        [PrimaryKey, AutoIncrement]
        public int ID { get; set; }
        public int tweetId { get; set; }
        public string profileImage { get; set; }
        public string name { get; set; }
        public long createdTime { get; set; }
        public string tweetData { get; set; }
        public string mediaUrl { get; set; }
        public string webContentDefinitionId { get; set; }
    }

Теперь мне нужно отсортировать этот список в порядке createdTime.Моя createdTime - это 13-значная временная метка Java.Один пример созданного времени - 1543608245696, что означает 12.01.2008 01:34.Без сортировки последние сообщения поступают в последнюю из локальной базы данных.Так внутри GetAllItemsByWebContentId() как я могу добавить созданную сортировку по времени?

1 Ответ

2 голосов
/ 19 марта 2019

Очень просто!

измените свой код на:

return database.Table<Messages>()
          .Where(o => o.webContentDefinitionId == webContentId)
          .OrderByDescending(x => x.CreatedTime)
          .ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...