Неверное преобразование из System.String в MongoDB.Bson.ObjectId при десериализации Json String .Net - PullRequest
1 голос
/ 20 марта 2019

Недавно я изучаю 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...