Недавно я изучаю redis и пытаюсь использовать строковое значение ключа, чтобы установить модель в строку json в качестве значения.Я могу сериализовать модель в успех строки json, но когда я пытаюсь десериализовать ее обратно в модель, возникает исключение.Если я не хочу менять тип идентификатора на строку, есть ли другой способ решить эту проблему?Спасибо вам.
Исключение:
Newtonsoft.Json.JsonSerializationException: 'Error converting value "5b5b4df5b8e2e208efb2c0da" to type 'MongoDB.Bson.ObjectId'. Path 'Id', line 1, position 64.'
InvalidCastException: Invalid cast from 'System.String' to 'MongoDB.Bson.ObjectId'.
Модель:
public class TblUser
{
public ObjectId Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
}
Сериализация:
public static string ObjToStr(Object obj)
{
return JsonConvert.SerializeObject(obj);
}
Десериализация:
public static T StrToObj<T>(string str)
{
return JsonConvert.DeserializeObject<T>(str);
}