/// <summary> /// 直接返回表中的 Json 字符串,不进行反序列化 /// </summary> /// <param name="key"></param> /// <returns></returns> public string Restore(string key) { lock (persistLock) { var persist = Persists.Where(p => p.Key == key).Take(1).FirstOrDefault(); return(persist?.Json); } }
/// <summary> /// 保存一批 Json 对象到表中 /// </summary> /// <param name="persists"></param> public void SavePersist(IList <Persist> persists) { lock (persistLock) { Persists.AddRange(persists); this.SaveChanges(); } }
/// <summary> /// 保存一个 Json 对象到表中 /// </summary> /// <param name="persist"></param> public void SavePersist(Persist persist) { lock (persistLock) { Persists.AddOrUpdate(persist); this.SaveChanges(); } }
/// <summary> /// 根据 Key 移除一个 Json 对象 /// </summary> /// <param name="key"></param> public void RemovePersist(string key) { lock (persistLock) { var delPersist = Persists.FirstOrDefault(s => s.Key == key); if (delPersist != null) { Persists.Remove(delPersist); } SaveChanges(); } }
/// <summary> /// 将表中的 Json 对象反序列化成对象 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="key"></param> /// <returns></returns> public T Restore <T>(string key) { lock (persistLock) { var ret = default(T); var persist = Persists.FirstOrDefault(p => p.Key == key); if (persist != null) { var json = persist.Json; ret = JsonConvert.DeserializeObject <T>(json); } return(ret); } }