私はredis cashのハッシュに複雑なオブジェクトを格納する必要があります。これを行うにはstackexchange.redisを使用しています。私のクラスは以下のようです。 Redisの中にデータを格納するC#で赤色のハッシュで複雑なオブジェクトを保存する方法は?
public class Company
{
public string CompanyName { get; set; }
public List<User> UserList { get; set; }
}
public class User
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public string Twitter { get; set; }
public string Blog { get; set; }
}
私のコードスニペットは、次のとおりです。
public static HashEntry[] ToHashEntries(this object obj)
{
PropertyInfo[] properties = obj.GetType().GetProperties();
return properties
.Where(x => x.GetValue(obj) != null) // <-- PREVENT NullReferenceException
.Select(property => new HashEntry(property.Name, property.GetValue(obj)
.ToString())).ToArray();
}
は、私は私が望んでいないとしてRedisの中のデータを保存することができます:
db.HashSet("Red:10000",comapny.ToHashEntries());
// SerializeをRedisの形式で私は下の画像に示すような結果を得ています。 私はUserList
の値をjson形式にしたいと思います。どうすればいいですか?
あなたは(HTTPS [CachingFramework.Redis]試みることができる:// githubの.com/thepirat000/CachingFramework.Redis)は、設定可能なシリアライゼーションメカニズムのような拡張機能を備えたSE.Redisのラッパーです。 – thepirat000