/// <summary> /// Save object changes. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param> private void SaveChanges <T>(T obj) { var t = typeof(T); var properties = t.GetProperties(); var fields = t.GetFields(); var hashEntries = new HashEntry[properties.Length + fields.Length]; var i = 0; foreach (var property in properties) { hashEntries[i] = new HashEntry(property.Name, JsonConvert.SerializeObject(property.GetValue(obj))); i++; } var guid = t.GetProperty("Identifier").GetValue(obj).ToString(); RedisDatabase.SortedSetAdd(t.GetTypeInfo().Name, guid, RedisDatabase.SortedSetLength(t.GetTypeInfo().Name)); RedisDatabase.HashSet(guid, hashEntries); }