Обновление поля в сериализованном объектном объекте - PullRequest
0 голосов
/ 22 февраля 2019

Я работаю над реализацией хранилища значений ключа для нашего приложения, используя sqlite3.

. KeyValueTable создается с помощью следующей команды:

CREATE TABLE KeyValueTable ( ObjectName TEXT PRIMARY KEY NOT NULL, ObjectValue BLOB)

APIв Get/Set значения ключа имеют следующую подпись:

bool GetValue<T>(string key, out T value);
bool SetValue<T>(string key, T value);

Таким образом, вы можете видеть, что я могу получить и установить весь объект с помощью этого API.Для сериализации я использую Newtonsoft.Json.JsonConvert.SerializeObject.

. Возьмем пример следующего класса, который сохраняется с использованием вышеуказанных API и сериализации:

public class HistoryLog
{ 
  public string Data { get; set; }
  public long Id { get; set; }
  public long Sequence { get; set; }
  public DateTime StartDateTime { get; set; }
  public DateTime EndDateTime { get; set; }
}

Проблема с моей реализацией заключается в том, чтокаждый раз, когда мне нужно обновить отдельные поля, мне нужно сериализовать весь объект и записать его в базу данных.

Может ли быть способ кэшировать сериализованные объекты и обновлять отдельные поля по мере необходимости и записывать вбаза данных это кэшированный сериализованный объект?

Таким образом, я могу сохранить сериализацию каждый раз, когда мне нужно обновить поля членов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...