1
ich meinen Klassenwert in redis eingefügt habe über Verfahren folgendenRedis Get HashSet in der gewünschten Typen nicht mit Nullable Type arbeitet
public static bool InsertHashItem(string key, object obj)
{
bool result = false;
try
{
if (Muxer != null && Muxer.IsConnected && Muxer.GetDatabase() != null)
{
IDatabase getDatabase = Muxer.GetDatabase();
getDatabase.HashSet(key, ToHashEntries(obj));
result = true;
}
}
catch (Exception ex)
{
Logger.Fatal(ex.Message, ex);
}
return result;
}
Meine Klasse sieht aus wie
public class TestType
{
public int telcoid { get; set; }
public int parent_id { get; set; }
public string checksum { get; set; }
public string tag_registration_id { get; set; }
public string market_id { get; set; }
public double amount { get; set; }
public string utid { get; set; }
public int status { get; set; }
public DateTime? dt { get; set; }
}
nun diese Klasse zu bekommen, ich habe geschrieben ein Verfahren, das auf NULL festlegbare Typen
public static T GetHashItem<T>(string key) where T : new()
{
T obj = default(T);
try
{
if (Muxer != null && Muxer.IsConnected && Muxer.GetDatabase() != null)
{
IDatabase getDatabase = Muxer.GetDatabase();
var hashkey = getDatabase.HashKeys(key);
if (hashkey != null && hashkey.Count() > 0)
{
var dic = hashkey.ToDictionary(k => k, k => getDatabase.HashGet(key, k));
obj = new T();
foreach (var prop in typeof(T).GetProperties())
{
prop.SetValue(obj, Convert.ChangeType(dic[prop.Name], prop.PropertyType));
}
}
}
}
catch (Exception ex)
{
Logger.Fatal(ex.Message, ex);
}
return obj;
}
Bitte Rat, was Korrektur versagt in eed darin
Dank. Habe es aber ähnlich ein bisschen anders versucht. Aber jetzt werde ich dein empfohlenes versuchen. –